Tuesday, August 16, 2005

Good programmers, big projects and useless head counts ...

Someone send me links to two blog posts related to programmers and working on a big project.

The fist one is about how working on a big project is somewhat like trap:
Formula Engine Rewrite

Reading it, I felt like I only need to replace the company and project names with the names of my cmpany and project and it would still make sense ...
I still like my project and I am still working on it (IBM's WebFountain) but nonetheless, there is lot of truth in what he is writing about.

The other one is from the blog "Joel on Software" and deals with the widely spread misconception (Hitting the High Notes) that adding more programmers to a project will help finish it faster and get more done. What you really need is a few really good programmers.

Which brings me to the point I am trying to make today. In most big companies, each group has a certain number of positions available, so called head count. Additionally, such head counts are categorized into different salary levels, so that you cannot just hire a bunch of kick-ass programmers and also pay them a competitive salary because it would exceed the salary budget. Instead, what is being done is to fill positions with average programmers that fit into certain salary levels. Waiting for the right guy to come along also does not work, because if you don't use the head count you will lose it. My solution to the problem is to get rid of the notion of head count and just give each group a certain budget for salaries. Then it is up to the group to decide on whether they want to get 10 medicore developers or 3 to 4 really good ones that are paid slightly (or significantly) more. Just having people for the sake of filling head count is not right, and if you have an important position to fill, you want to get a good if not great programmer. To stay competitive you can't be stuck in some head count, salary level jungle that makes it impossible to make a competitive offer.

Now, what if you don't use your salary budget in a year. Well, there is two ways, you can use the money to reward you top performers at the end of the year, or you just save the money. I also don't believe in the model that a lot of companies have that you will get less money next year if you don't spend it all. Makes no sense whatsoever. You get punished for being conservative in spending money. Yeah, really makes no sense. I will leave it at that for today.

No comments: