I passed SCJP, now planning for a SCWCD. I think taking a certification alone does not prove ones worth in the technology. So I would like to participate in some open source projects so that it is easier to get a job also I can have a hands on experience in the technology. I have visited many open source sites in order to get into such a project. but the projects were a little bit tough for me to handle. I was not able to understand the code that was available.
What are the pre requisite to participate in such a project/ from where can we get some experience in coding. I thought of starting from a Open source project, Please correct if I am wrong. When you srart hunting for a job these experiences will really count. Please Guide me.
I share your opinion that having hands on experience is the best way to learn any kind of technology, and I admire your enthusiasm to contribute to open source projects. Alas, most quality open source projects have tight control over their architecture, design & coding standards. It's an elite club of sorts where you'll have to prove before anyone will let you in on the commit rights. You could still find bugs in the project & submit patches. Besides that, if you do get commit rights you'll have responsibilities like any other job except that you won't get paid for it.
When you'll first apply for a job, one of the factors that may help you is actual experience. Starting off by working in the public domain can help you get that much needed experience & give you the edge.
To gather experience, start small. Look around you, is there some software you need that you can't find online. If yes, then write it. Or maybe you just don't like some software, write your own version. Don't want to write a full blown application, write a functional applet. Once done, put it up for the world to see - sourceforge, your personal site, etc. By doing this you're not only helping the community, but also exposing your software to the keen eye of critics which may help you become better. This exercise may not result in the next big software but will teach you the in's n out's of writing any software.
Some other things that may help you are exposure to technologies that we don't hear about but are required by most developers in their day-to-day tasks. Some examples include version control, logging api's, databases, issue trackers, documentation, etc.
HTH Ashish Hareet
Joined: Jun 26, 2008
Thank you Ashish for your comments. Let start small and try for some small projects. Thanks once more.