Jakes,
Try voluntary work. Voluntary work shows commitment and initiative, even if it is not mentally stimulating. It can increase your industry knowledge, give you the much needed hands-on experience, and give you something to write in your resume without any prolonged gap of employment. Since the task of applying for a paid full-time position can take up considerable time, you could start working voluntarily 2-3 days a week. Now, on a more positive note, while gaining hands-on experience and learning on the job, you will likely uncover paid opportunities by being an excellent contributor with enthusiasm and personal growth or by networking with similar professionals you would not have met otherwise. Voluntary work is generally a win/win situation for both the employer and the employee. Smaller companies are more likely to offer voluntary work.Contribute to open-source projects to gain much needed hands-on experience in sought-after technologies and frameworks. The choices are plenty ranging from widely used products such as NetBeans, Eclipse, GlassFish, etc to smaller hobby projects, which have been open-sourced by their developers. How do you benefit from open-source project contributions? -- Gives you a pretty good big picture of different technologies, tools and frameworks used in a typical application. A typical Java application uses eclipse or NetBeans, Java,
JUnit, Log4j,
Ant, Maven2, Spring, Hibernate, Apache commons library, etc. Try to analyze and understand how all these pieces fit together.
-- You get to read a lot of code and learn from it. You can not only learn the best practices, but also can learn to identify potential issues.
--Write your own small programs just to learn the language and libraries (APIs) used in the open source projects. For example, Java APIs and Apache commons library that has very useful utility methods such as StringUtils, CollectionUtils, MapUtils, BeanComparator, Validate, etc. Observe the coding and formatting standards.
--Learn how to use the tools like CVS, SVN, Eclipse, Maven2, Net Beans, etc.
--Experiment by making changes to your local copy of the code. Try going through
JEE deployment descriptors, Spring, and Hibernate configuration files to understand how different pieces are wired up.
Self-taught projects and tutorials to build up confidence and acquire some level of experience with the sought-after technologies and frameworks. Some open-source projects can be a bit overwhelming for some beginners. So, choose carefully. Alternatively, you could take up some self-taught projects by using sought-after technologies and frameworks. While this can be an easier option, it is not easy to be disciplined and looks less impressive on your resume compared to open-source contribution. Having said that, this option is better than not doing anything at all. It at least, shows commitment and initiative with some level of familiarity with popular technologies and frameworks. Improve credibility by providing your URL or mentioning availability of your source code. What is even better is that, if your self-taught project is based on a creative idea and if you think it can be useful to others, you can open-source it or even try selling it. Each approach has its own pros and cons. If you are a beginner and looking for work, voluntary work will not only give you the experience employers are looking for, but also can open doors for paid job opportunities. If you are already in an employment, and not mentally challenged or not acquiring the required skills and experience, try contributing to open-source projects. If you are not in much luck with first two options, and sitting idly or you have a bright idea, then try working on a self-taught project, while looking for a paid job.
Some of the beginners and unemployed are more tempted to get back to school doing a post-graduate study or gaining additional certifications with a view of improving their employment prospects. This is not a bad idea, but in my view this has a lesser chance of improving your short term employment prospects, won�t give you the experience and personal growth what the prospective employers are looking for, and will look less impressive on your resume compared to more hands-on experience driven accomplishments. I strongly believe that academic qualifications should go hand-in-hand with practical experience. Professional experience can help one better identify his or her strengths, weaknesses, and interests, and align appropriately his or her future educational needs.
[ October 16, 2008: Message edited by: arulk pillai ]
[ October 16, 2008: Message edited by: arulk pillai ]