Sunday, January 11, 2009

Your journey begins now

Congratulations !!! if you have reached here after completing all tasks. You have successfully completed the JavaInsights 101 course.

I hope it has given you insights about good coding practices, and the Java ecosystem.

This course consisted of writing code, reading code, and blogging. I personally believe (though some people may differ) that all these activities are extremely important to learn and become a successful software developer. I will urge you to continue with all of the above on a regular basis.

Since you are a software developer, your work will largely consist of writing code. This will help you sharpen your skills and learn more, but at the same time writing code at work is not the same as writing code to practice. You must perform periodic coding kata's to improve your programming skills further. Please read this blog post to learn more about coding kata's.

Your work will also offer you plenty of opportunities for reading code. You will often have to refactor existing code. Every time you so this, try to understand how the code functions and think if it same could have been implemented in a more efficient way. This simple exercise will help improve your programming skills. If you do not get such opportunities at work, then visit an open source project of your choice and either study it, or even better participate on the project.

Reading good books, blogs, and articles have helped me a lot. Here are some resources I frequent :
I also listen to the JavaPosse podcast. It is humurous, insighful, and it brings you the latest Java news.

Last but not the least, I would like to stress on the importance of writing. I started blogging so I could share my knowledge, and to improve my own skills. Blogging has helped me improve my communication and technical skills. Writing helps clarify my thoughts and also improve memory recall. Blogging forces me to think about the correctness of what I write. I do not want to embarrass myself by posting incorrect information on the web :-) This makes me think about various pros and cons, alternative solutions, and the like. The thought process which accompanies blogging has helped deepen my understanding of what I write.

I hope my experiences will help you and you will continue with all of these activities. Regardless of this I am sure you will become a very good software developer. As you scale new heights, don't forget to help others on the way, and share your knowledge freely :-)

Finally coming to this last task, write a blog post summarizing the most important things you have learned in this course. Then read some on line resource on programming (you can use the list I have mentioned above), and summarize it on your blog. If you liked the post, or if you have any thoughts on the topic, you may also leave a comment on the original post.

After completing this task, please leave a comment here with your post's URL.

Wish you good luck!

No comments: