To all new programmers

Hi <your name>,

Programming is about problem solving and expressing solutions. There are numerous tools you can use to program and Java is just one of them.

If you want to become a good Java programmer, you have to become a good programmer first. Switching from Java to C#, or even Visual Basic is like moving from a Toyota Corolla to a Honda Civic, or to a Ford Expedition. Of course, you may need some adjustment initially but if you have the fundamentals, you will have no problem driving.

A programmer’s basic building material is human intellect and your primary tool is you. Not your compiler or your GUI builder. Exercise your brain by solving problems without even touching a keyboard. Do not think about Java. Think about the solution. Write it plain English and ask a co-worker to review your solution.

Focus on improving your programming skills. Start with Steve McConnell’s Code Complete. If you want to learn programming, learn it the right way. At your stage, you still have a choice between programming in a good way or in a bad way. The choice you make early on will greatly influence your programming life as these choices become a habit then almost instinct. Bill Gates once said that any programmer who will ever be good is good in the first few years. After that, whether a programmer is good or not is cast in concrete. Do not be surprised if you meet a “certified Java programmer with 5 years solid experience, a CS gradudate taking a Masters” who still writes lousy code. I have met people who have the bad habit of running a program just to see if it works without even understanding every line they have written. Do not be like them.

Smart people love working with smart people. Find one in your company (this could be tough) and seek his/her advices. Read his/her code.

Do not aim for a certification yet. It is the classic college scenario where you study just to pass and not to learn. Learn first. The code you have written and the application you have developed are still the best measure of your skill.

Accept that you have a small brain (not in a negative way) like many of us. The more you learn to compensate for your small brain, the better you will become. You mention Javascript, JSP, Struts, JDBC – that is too much already. I figure you are in web application. I suggest you first learn how web application works and the inherent problems with it. There are many components involved in a web application. Focus on one component for now.

Since you have already chosen Java as your programming language, just get a copy of Bruce Eckel’s Thinking in Java (TIJ). There you can find almost everything you need in your daily Java life. (For the rest, there is Google). It is free at I usually do not recommend training schools because often, they just read and repeat what is already written in books. But if you know the lecturer is worth the money, go for it. But in training schools, you rarely know the lecturer. If you have access to computers 24×7, just get hold of TIJ.

And buy Code Complete and understand everything. If you cannot find one here, buy from Amazon immediately.

Good luck on your journey.

Best regards,


Programming gratifies creative longings built deep within us and delights sensibilities we have in common with all men – Fred Brooks, from the Mythical Man-Month

One thought on “To all new programmers

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s