Technology, Business, and Doritos

Experiences and help from a wandering techy and entrepreneur

Contact Me

Send any questions you have about food, or programming in PHP, MYSQL, DHTML to tmiskin@gmail.com and I will blog it. And I mean any question.

Our management team at FundingUniverse.com had a good discussion today about measuring our performance. During the conversation I had a great way to go about the nearly impossible job of measuring a programmer’s performance. Before I get to the meat of it, there are a couple things I need to point out about the programming world.

1. Time to final product is nearly impossible to measure at the beginning. The book Mythical Man Month is a great read if you want to understand why this is. In short, when a major product comes up, chance is the programmer has never done it before. Unlike most jobs, where each new task is often a repeat of an earlier task, a new programming project can often have little overlap with others they have done. Non-programmers often lump all programming tasks together as if once you know how to string 1s and 0s together you can solve any problem, however this is not the case. Most projects I embark on have many pieces that are so unknown, that venturing a guess as to the completion time would be silly. And as the Internet and programming world evolves and changes so quickly, programmer’s will always be faced with things that they know absolutely nothing about. An update in PHP or Apache for example could break several areas of your site. This does not mean that all jobs don’t have unknowns, but I feel it is safe to say that programming has its own unique challenges that writers, sellers, and others do not face on a day to day basis. Whereas a writer can pump out a press release that is nearly the same as the last one, a programmer can’t do the same with a new project. Also, a mispelled (I hope you caught this) word or incorrectly formatted paragraph will not break a press release, but it WILL break a program. Mistakes are very costly in time and performance for programmers, and they are noticed more often than other’s.

2. When you hire a programmer, they have inherent strengths and weaknesses. As long as you hire an honest person, you should expect that the actual work they do is 100% of their ability, meaning that they are using all their skills during that time. They are not just sitting back pretending not to know how to do something. They will not know how to overcome obstacles just by purely thinking harder.

So, this might sound like I am saying there is no way to measure or have accountability, but I’m not. While it is not right to set extremely hard deadlines, or to demand things of a programmer who doesn’t have strengths in a certain area, you can demand that they actually work. By work, I mean demand that the time they spend is spent on working on those things that need to get done. With programmers, you must measure what their time is spent doing. If 100% percent of their time is spent working on a pressing project, and they truly are working all of that, there is nothing you can do but let them finish. Constantly prodding them and trying to find out why it isn’t getting done will not help. However, if something is pressing, and they are only spending 30-40 percent of their time working on it, you can approach them about their time management. If you are not satisfied with the what they actually produce, that is more of a hiring and talent issue then the actual programmer’s performance. When you are sure the programmer is talented and puts 100% into his work, just make sure they are putting substantial work into the things that matter. That is why I believe that time management is the way to measure a programmer’s performance, and that is why I need to end this blog entry……

del.icio.us:Managing time and measuring a programmer's perfomance digg:Managing time and measuring a programmer's perfomance furl:Managing time and measuring a programmer's perfomance

Leave a Reply