top | item 30590982

(no title)

blyry | 4 years ago

At my first job I had a more experienced coworker, and I couldn't understand why he wrote code the way he did. Copy pasted stuff everywhere, never added abstractions, stuff was 30 lines when it could've been 5 and a base class.

Yaknow what? He got 10x the amount of work done that I did.

'perfect' doesn't mean 'pure, clean, never needing to be rethought', 'perfect' to him meant 'meets requirements'. 99% of the time, none of his code ever needed to be touched again and if it did need to be touched..it was easy and rote to update because it was easy to understand and simple to modify.

less is more, but the 'less' applies to abstractions, not loc.

Just because you CAN take something to the next level, or iterate one more time till it feels right, doesn't mean you should or that there's value in doing so.

discuss

order

zepolen|4 years ago

I've worked with plenty of workers like this. They all got 10x work done in relation to everyone else, because no one else wanted to touch their stuff, they owned the branch and never made pull requests because it caused too many merge conflicts as they were sooooo fast at getting things implemented.

Their code was full of bugs which they fixed immediately, causing silent regressions. They never wrote tests.

The other 5 places they had copy pasted that buggy code still remained buggy.

Also whenever they spaghetti code themselves into a corner, they spent 10x longer refactoring stuff as a result.

In effect, it's not that they got 10x work done, it's that they make everyone else get 10x less done.

ornornor|4 years ago

I too have worked with people like that. The marketing and PHBs love them because all they see is that they deliver 10x faster than the rest of the team (who, therefore, must be subpar and not very competent).

What they never realize is that when things break (and they will, when there are no unit tests, copy pasted code in several place, and inscrutable architecture that no one but the one who wrote it understands), it takes the rest of us 10 times as long to poorly fix/implement the new requirement.

Given enough time, the original 10x engineer moves on or quits, and all he’ll breaks lose because the department or company is left with a giant pile of turd that breaks whenever you look at it.