Sunday, April 10, 2011

Last Friday I had a long discussion on different type of developers and their relevant value for an ongoing company. I am not talking about a startup-pancake (typically venture capital based whose model is to sell or flip into an IPO – then walking away with the money).

Support/Maintenance Developer

This is a developer that is completely happy doing high quality fixes, dotting I’s and crossing T’s. It is typically a destination career – one that is grossly underpaid for their value. In terms of construction industry, he is someone that comes in an fixes leaky roofs and windows, change furnace filters and all of the way up to doing minor additions. If you are familiar with Holmes on Homes, we talking of Mikes, and not the type that he ends up undoing and redoing. A good one will often spend their entire career at one company, well appreciated (but likely underpaid!).

Release Developer

This is where most developers ends at being. Typically they take versions N.M of the code base, add features and then output N.O. They tend to have a bit-high-sense of self-worth and perhaps are a touch overpaid. Typically they will spend 2-5 years at a company and then move on, hoping to rise in the earning hierarchy.

They have good skills, know how to apply what they know well. In the construction industry, these are your new home construction crews. They take existing plans and then build things appropriately to building codes. If they are tolerable – their deficiencies will not be detected; their stuff will pass building code. Often a good crew person will see problems and put in widgets or even changes to avoid future problems (putting in a 20amp circuit in the Media room instead of a 15amp circuit – cost to do $1.00; savings to home owner – likely $100 or more).

New Product Developer

This person is typically a career consulting developer for one simple reason -- no firm will always have new products in the pipeline and they will usually bail when put into a release developer role. They will often have a portfolio of patents on their resumes (one group that I worked with had 30+ patents on a team of 4 – everyone had at least one patent). They are willing to take risks, do deep analysis, quickly prototype out ideas, etc. In the construction industries, these are the folks that worked on the first geodesic domes. Often they are the permanent crew for custom builders working with avant-garde architects. They typically are working for less than what they are worth – often because the money folks do not know the difference between a contracting-release-developer and a consulting-product developers.

Architects

Architects follow the same patterns for Release Architect and New Product Architect.

Bottom line for a business owner or development manager…

Know what you are looking for/needing. Often a resume will be a good indicator for the type of developer the person could be classed in. If you encounter a problem that your release developers cannot resolve in a reasonable period of time, then open the wallet and get a new product developer in for a while. Be warned, that release developers are often offended by bringing in a “high price” consultant – the consultant is high price when measured on a per-hour basis; often they are down-right cheap on a per task basis because they will do the task in a lot less hours with faster delivery. The Release Developer want to have bragging rights for doing the task, the consultant is stealing those rights!

A strong recommendation for any task that may be pushing the limit for the ability of your release developer is to sit down with them and agree on a “this will be done by you, on or before …., if it is not, I will bring in a consultant to do it”. If you give an extension, it should never be for more than 1 week. If the release developer wants the bragging rights – they can put in their extra hours (unpaid) to get them.