Sunday, December 28, 2008

Code: under, over, seasoned developer

So, I was recently told by a friend that someone has developed three phases of growth for a software developer: under-developer, over-developer, seasoned developer. The first goes for the most obvious solution without regard for tomorrow, the over-developer has learned this to be bad and is now creating hugely too complex solutions to compensate for every possible scenario, the seasoned developer knows exactly how much complexity to introduce at exactly the right moment.

I have decided that I don't like these descriptions, mainly because I don't know how to evaluate myself with respect to them. So I've come up with a different scale: implement solutions which account for the farthest you can see into the definite future, and no further. If you have a nail in your tire and are loosing air at a rate such that it will be flat this time tomorrow if you fill it up now, and you have nothing else which you are required to do today, don't just put air in it and wait until tomorrow. Take it to the shop. Now, if you do have things which demand your time today, then put air in it, and make a note somewhere reminding yourself and anyone else who may drive the car that the tire's going flat.

No comments: