3 ms·
A good programmer is one who writes good code because their personality requires them to write good code. If you need to resort to competition games, you don't
by frossie 17y ago
A good programmer is one who writes good code because their personality requires them to write good code.
If you need to resort to competition games, you don't have the right people.
I have been in a situation of yelling at my technical lead to write less good code ("That won't work for the general case" "I don't care about the general case! Special case it so we can get it out the door!" "No! That's just wrong!" "I don't care!" etc etc). I'd much rather deal with that than having to play mindgames to get people to do the right thing.
- mannicken 17y agoYAGNI isn't a piece of cake either. I remember when I first got a job as a junior I used to spend endless nights trying to template stuff in C++. I feared it might not work for the general case. As it turned out several months later in practice: 1. I didn't knew what the general case was so it wasn't supporting that. 2. Code was so fucking complicated trying to suit the general case. I had to throw it out. I had to write new code that actually solved new cases. 3. I wasted about a week on what could probably be done in 30 minutes at that time. 4. There were third-party libraries (Boost) that were written by people who actually dealt with the general case but I wasn't allowed to use them since they "bloated code". Those libraries would've saved me time when I wrote the original damn thing, when I had to introduce new cases (probably), and when I had to debug that crappy code of mine. Number three has also caused me to learn what kind of stuff can bring someone's productivity up by orders of magnitude. I also learned that I should have freedom on what libraries I have to use because micromanagement is dumb. Conclusion: micromanagement sucks; YAGNI rocks.