Thursday, December 6, 2007

How to become a good Java programmer

What does it take to become a good Java programmer? What makes the difference between the mediocre and the outstanding? Talent notwithstanding, even nerds born to program should consider my suggestion. The path to success might differ between people, but there is one essential ingredient that nobody can leave out.



So I recommend every Java programmer take a Sun Certification test. Sun Certification tests are rigorous tests that dig into all aspects of the Java language, from the basics, like size of primitives, to the advanced, like garbage collection. Since there are several types of tests, I advise taking at least the Sun Certified Java Programmer (SCJP) test. It'll get you acquainted with what's happening behind the IDE's window. For example, widening primitive conversion in arithmetic operations:
int i = 1;
long l = 2L;
long res = i + l;
will cause i to be widened to a long before res is calculated. Another example is the order of evaluation (left to right) and assignment (right to left) of operands. To some, this is boring, but to produce quality code, it's essential.

The knowledge gained from taking the certification test will help you prevent bugs before the code hits the monitor's pixels. I've seen some stupid bugs in my time that could very easily have been prevented with a little fundamental knowledge of Java. What about learning the material without taking the test? It's possible for the self-disciplined, but most people don't study unless there's going to be an exam.

Finally, this should be done prior to looking for work, or during the first months on the job. If you can get you employer to pay for the test, cool. If not, it's worth the investment. It's a good start to becoming a better Java programmer than the overwhelming majority Java programmers I know. Another perk - you get to put this cool icon on your resume: