Good points, but a very important part of being a 'good' developer is prioritizing goals based on relative impact, and ultimately Getting Things Done. 'Sharpening the axe' and programming for its own sake is great, but when it gets in the way of your overall goals, then it becomes a self-indulgent hobby.
I would argue that crappy developers are more productive "initially" but in the longer term may end up with unmanageable code bases that will slow them down.
That being said, one can also spend so much time writing "perfect" code that it misses the shipping date entirely.
I guess in the end you need to balance these priorities and hope you will have time for a refactor after the product has shipped.
"I would argue that crappy developers are more productive 'initially' but in the longer term may end up with unmanageable code bases that will slow them down."
I agree that their productivity will suffer in the long term (if their business lasts that long). However, my guess is that even the initial cut of the code will take longer to get right. Hastily-written crappy code may be faster to write, but it's probably going to take significantly longer to debug than clean, refactored code. And quick and dirty fixes on top of dirty code can frequently break more things than they fix.
headcanon|11 years ago
kayman|11 years ago
Development is means to an end. The better you know your tools the more productive you'll be. Its true with anything.
skuunk1|11 years ago
That being said, one can also spend so much time writing "perfect" code that it misses the shipping date entirely.
I guess in the end you need to balance these priorities and hope you will have time for a refactor after the product has shipped.
greenyoda|11 years ago
I agree that their productivity will suffer in the long term (if their business lasts that long). However, my guess is that even the initial cut of the code will take longer to get right. Hastily-written crappy code may be faster to write, but it's probably going to take significantly longer to debug than clean, refactored code. And quick and dirty fixes on top of dirty code can frequently break more things than they fix.