Hi all, this is a good matrix to keep track of your skill set as you advance in your field.
Ace the Software Engineering Interview: An Interview Preparation Framework to Land the Job You Will Love Kindle Edition: https://www.amazon.com/Ace-Software-Engineering-Interview-Preparation-ebook/dp/B019AMVEY4
“Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for “fair use” for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use.”
Life is a Secret Game- Author- Shane Mac
A game of inspiring and enabling others. A game of doing the unexpected. That’s it.
The UNEXPECTED. Many of us do what is asked of us. That‘s not a bad thing per say.
Imagine if we all didn‘t do what was asked of us? We try to ―Crush It‖ in our jobs, in life,
in everything for that matter. I look around and there are so many people that are all
trying to do this one thing. Live. Enjoy. Create. Build. Better. But are we? Do you spend
time at your job working on your tasks at hand or trying to bring everyone together to do
more? Do you tell your boss that you have great ideas and they might help? Do you call
your family and just say hi? Do you do things in your life that are not EXPECTED? That.
One. Thing. Is. The. Secret. Do what is not expected. Always.
Computer Scientist’s Checklist
Tip #1: Java is very accessible and all the following are available for free.
The steps you take may slightly vary depending on your familiarity with Java and its tools.
- A computer — desk top or lap top.
- Download latest version of Java (JDK and JRE).
- Download latest version of eclipse IDE.
- Dowload Tomcat or JBoss to deploy your applications.
- Download and install MySQL database. All non trivial applications need information to be persisted to a database.
- Set up Maven as a build and dependency management tool so that you can download sought after frameworks like Spring and Hibernate.
Google search, good blogs and online tutorials are your friends in setting up the above 6 items. Even with 13+ year experience in Java, researching on Google.com is integral part of getting my job done as a Java developer. As an experienced Java developer, I can research things much faster. You will improve your researching skills with time. You will know what key words to search on. If you are stuck, ask your mentor or go to popular forums like Javaranch.com to ask your fellow Java developers.
Tip #2: Start with the basics first.
Enterprise Java has hundreds of frameworks and libraries and it is easy for the beginners to get confused. Once you get to a certain point, you will get a better handle on them, but to get started, stick to the following basic steps. Feel free to make changes as you see fit.
- Core Java fundamentals. Write simple stand alone Java programs using OO concepts. Write unit tests with JUnit.
- Learn SQL and write stand alone Java programs that connect to MySQL database via JDBC.
- Write simple web applications using Servlets and JSPs using enterprise Java. The application needs to persist data to the MySQL database. Deploy your application to Tomcat or JBoss server and run them as an enterprise application. Use Maven for build and dependency management.
- Expand your project created with JSPs, Servlets, and JDBC to use sought after frameworks. Learn the concept of “dependency injection”. Start wiring up sought after frameworks like Spring. Spring is very vast, and start with spring core and spring jdbc. Spring core is used for dependency injection and Spring jdbc is to connect to databases and to execute SQL queries.
- Learn the MVC (Model View Controller) design pattern for web development. Convert your JSPs and Servlets to Spring-mvc based web application.
- Write RESTFul web services using Spring MVC.
- Make sure that you write unit tests for your code with JUnit and mocking frameworks like Mockito.
Tip #3: Once you have some familiarity and experience with developing enterprise applications with Java, try contributing to open source projects or if your self-taught project is non trivial, try to open source your self-taught project. You can learn a lot by looking at others’ code.
Tip #4: Look for volunteer work to enhance your hands-on experience. Don’t over commit yourself. Allocate say 2 to 3 days to build a website for a charity or community organization.
Tip #5: Share your hands-on experience gained via tips 1-4 in your resume and through blogging (can be kept private initially). It is vital to capture your experience via blogging. Improve your resume writing and interviewing skills via many handy posts found in this blog or elsewhere on the internet. It is essential that while you are working on the tips 1-5, keep applying for the paid jobs as well.
Tip #6: Voluntary work and other networking opportunities via Java User Groups (JUGs) and graduate trade fairs can put you in touch with the professionals in the industry and open more doors for you. The tips 1-5 will also differentiate you from the other entry level developers. My books and blog has covered lots of Java interview questions and answers. Practice those questions and answers as many employers have initial phone screening and technical tests to ascertain your Java knowledge, mainly in core Java and web development (e.g. stateless HTTP protocol, sessions, cookies, etc). All it takes is to learn 10 Q&A each day while gaining hands-on experience and applying for entry level jobs.
The oldest wisdom in the world tells us we can consciously unite with the divine while in this body; for this man is really born. If he misses his destiny, Nature is not in a hurry; she will catch him up someday, and compel him to fulfill her secret purpose.
(president of India, 1962–67)
Reality is nothing but an illusion, albeit a very persistent one — Albert Einstein