4 ms·
This is a harmful tautology. There really is a such thing as bad code. Some edge cases are introduced by the bad code itself and changing the paradigm can make
by davemp 8y ago
This is a harmful tautology. There really is a such thing as bad code. Some edge cases are introduced by the bad code itself and changing the paradigm can make many difficulties disappear.
Having the same people who wrote the code work on the rewrite is silly though. How could they be expected to produce something better?
- stormking 8y ago> Having the same people who wrote the code work on the rewrite is silly though. How could they be expected to produce something better? By learning from their mistakes?
- davemp 8y agoHere’s a famous quote about organizing personnel: “I divide my officers into four classes as follows: The clever, the industrious, the lazy, and the stupid. Each officer always possesses two of these qualities. Those who are clever and industrious I appoint to the General Staff. Use can under certain circumstances be made of those who are stupid and lazy. The man who is clever and lazy qualifies for the highest leadership posts. He has the requisite nerves and the mental clarity for difficult decisions. But whoever is stupid and industrious must be got rid of, for he is too dangerous.” I would say the 4th class of people are the ones likely to churn out a horrifying codebase. Such people are also unlikely to be able to recognize and learn from their mistakes.
- sosborn 8y agoYour premise falls apart if you consider the role that management/leadership plays in the process.
- davemp 8y agoI disagree. The quote is for where to place personnel in a leadership hierarchy. A leader without the appropriate aptitude is obviously harmful; but I would say there are actually no grunts in software. Every developer has to lead at least themselves.
- scarface74 8y agoBut whoever is stupid and industrious must be got rid of, for he is too dangerous.” I would say the 4th class of people are the ones likely to churn out a horrifying codebase. Such people are also unlikely to be able to recognize and learn from their mistakes. These are the people that do “negative work”. They cause other people to do more work than if they weren’t there.
- magicalhippo 8y ago> Having the same people who wrote the code work on the rewrite is silly though. How could they be expected to produce something better? Only if you have really, really poor developers on your team. Every decent developer learns the pros and cons with how they implemented something. They'll bring that with them to the next time they need to implement something similar. And again, and again.
- scarface74 8y agoNot necessarily. I’ve worked with an “architect” who started at the company as the only developer and as it grew became the dev lead just because of seniority. He kept making the same mistakes and was the definition of an “expert beginner”. He ran away everyone who was brought in to bring some outside perspectives. The only people left are those who gave up and go with the flow because they can’t find a better job without moving (small city with only three major technology employees) and those who don’t know any better.