Monday, March 31, 2008

Why I am good at getting things done but not good as a programmer

When confronted with a problem that needs to be solved my approach is to solve it quickly, not necessarily elegantly. If I find a problem in an application I will try something to fix it... Doesn't work? Try something else? Solves the problem but creates a new one, if the new one seems smaller fix it, if it seems bigger try something else.

This approach is excellent for getting things done and working quickly. But not so good for writing large amounts of elegant code. A real programmer would look at the problem, analyze the code, and figure out what is the best and most efficient way to rewrite the code to eliminate the problem. My approach is get rid of it as soon as possible.

While my approach is great for getting stuff up and running without taking a lot of time it usually results in some pretty jumbled code. Lots of band-aids, spaghetti code, ad hoc fixes, etc. It works but it usually ends up being pretty inefficient, lumbering and kludgey.

I think this is why I am better at being a manager than a programmer. As a manager I don't have to sit and think things through, I can let the people who are good at that do it and I can just worry about getting things working.

No comments: