Wednesday, February 24, 2010

Software developer: an asset not a cost

I was quoted last year in a post, Convincing the Boss to Pay for Developer Training:

"...For example, software developer Ray Vega points out, "The 'culture' of the company is dedicated (sic) by how it makes money and who is responsible for helping to making that money." In general, he says, software companies whose product is technology-based tend to be better at providing and paying for skill improvement resources for tech employees. When the technology workers training is closely related to company revenue, it's easier to get the boss to listen. However, Vega adds, "If you work on an application that has no direct association with how the company makes money (for example, an internal time tracking application for an insurance company) then it will certainly be an uphill battle."

My response was based on not just my own work experience but also on an old Joel Spolsky article Five Worlds (which was provided to the author in my original response to her research on the topic). The "world" you write code for makes a significant difference in the overall health of your professional career beyond just training costs.

Most good programmers probably don't need formal "training" focused on a vendor specific technology, platform, or framework with a potentially short shelf life. They'd more likely learn on their own by creating and working on a side project or on a simple prototype specifically for that purpose. However, one exception is if the training class included like-minded individuals with whom one can collaborate and reciprocally learn from. Sadly, these are rare to find and difficult to vet prior to investing one's time in a chosen course.

That said, sometimes it doesn't hurt to be exposed to informational seminars, conferences, or coursework that cover the enduring fundamentals of software development (or even computer science) that people tend to forget or simply don't know.