Naboo

Thursday, April 07, 2011

Checklist for Commodity Java Programmer

Commodity Java programmer is in general a sad thing to be. However, same as the fact that good anything is hard to find, a full blown Java programmer with all the right armor is scarce too. At a time hiring is finally heating up again, be, or at least appear to be a good Java programmer will come in handy. Hence the checklist.

First of all, think about what companies hire Java programmers for.
Hardcore infrastructure ground zero? Rarely. They should already been built for most cases unless it's a pre-startup bunch of people with just an idea and at most seed money.
Data processing for specific areas like video, cognitive, mechanics, games etc? Rarely. Those are C family dominated areas with heavy stress on embedded possibilities.
Java programmers are pretty much left with the highly abstract, application level development, the most common among e-commerce, web services and (high-level) automation tools. Basically business logic heavy performance sensitive scalability essentially relatively not-sexy but revenue visible part of the software.

With this in mind, here comes the skill-set checklist:
  • Algorithm - pre-requisite for any decent programmer. 
  • Patterns - these are the building blocks. Should be able to slam out code for most of them.
  • SQL - complicated queries, performance, stored procedure, schema design.
  • Ajax - a deep understanding of what happens behind the scene gains you insight into all platforms.
  • I18n & l10n - get yourself familiar with unicode, utf-8
  • Cloud & cluster - distributed systems, ways they talk, and key elements in each of the communication categories.
  • Security - encryption, protocol, standard and elevated practices for identity control of web apps
  • VM, garbage collection, strong/weak reference, lazy loading, aka the Java specifics in and out.
  • Testing - code coverage, path coverage, security test, stress test, regression. Spend 2h familiarize yourself with the concepts.
  • Your resume - any question on your resume is fair question. Try to remember your projects.
With the right amount of domain knowledge, one with decent insight into all the above areas would make a very strong candidate. If he/she knows scripting, then it's a must-hire, and it's a sweet spot for a commodity Java programmer to be =)

0 Comments:

Post a Comment

<< Home