Engineers do get promoted for writing simple code (www.seangoedecke.com)
from codeinabox@programming.dev to programming@programming.dev on 26 Mar 15:54
https://programming.dev/post/47819043

It’s a popular joke among software engineers that writing overcomplicated, unmaintainable code is a pathway to job security. After all, if you’re the only person who can work on a system, they can’t fire you. There’s a related take that “nobody gets promoted for simplicity”: in other words, engineers who deliver overcomplicated crap will be promoted, because their work looks more impressive to non-technical managers.

#programming

threaded - newest

hperrin@lemmy.ca on 26 Mar 17:14 next collapse

At Twitter, because of the idiot in charge, it’s the opposite.

CrypticCoffee@lemmy.ml on 26 Mar 17:16 next collapse

Actually if you cannot be replaced, you’re less likely to be promoted. How could they move you from your crucial work. You also show leadership by upskilling and building a team that is stronger and independent. If you can do that in a small team, you can do that at a larger scale.

If a company operates different, they’re broken.

Don’t let insecurity push you to sacrifice your integrity, you’ll hate yourself more.

bluGill@fedia.io on 26 Mar 17:39 next collapse

I've seen engineers no be promoted for complex code. Not all managers are stupid

Wfh@lemmy.zip on 26 Mar 19:41 collapse

STORY TIME.

I once worked with a guy who spent so much time and energy trying to prove he has smarter than any of us. That smug bastard was a senior contractor paid twice as much as us lowly regular contractors. I once had to do some simple evolutions on one of his projects. Seriously it was one of the worst shit code I’ve ever seen.

Every single line had to be a 200-character long hack of nested functions, ternary operators and conditional operations. It’s like this condescending fucker was living in a hackathon where the most simple shit had to be implemented in the most brain-fucking, unreadable, convoluted manner, in as few lines as possible. His code was a literal fucking brick wall of symbols. It’s like this fucking idiot never heard of if…else blocks and/or decided that ternary operators were the only way to do conditional statements.

This cunt was fucking proud that none of us rubes was able to maintain his shitstain code. He even gave me a smug smile when I started working on this dumpster fire.

Anyway, I trashed the whole thing and rewrote it from scratch in a “dumb” way. Lots of air, simple unitary instructions, a code so simple a non-tech person could probably follow it along with little difficulty. Oh, I also fixed several major bugs and design flaws while reimplementing it.

Guess which version is still in production and has been evolved and maintained by more than a dozen contributors since then?

Funny thing is, when he eventually got booted from the project, we realized that nobody could maintain his code, not even himself. Since his main project wasn’t in my department I barely looked at it when he was here, but when I was asked to take a look, a simple commit history check told me everything I needed to know why every single feature took fucking weeks to be released and had some weird-ass edge-case regressions in unrelated places.