Live data from Hacker News

Things I’ve learned in my 20 years as a software engineer

simplethread.com

101–110 of 745 posts

Re: Things I’ve learned in my 20 years as a software engineer

#101
10. I don't think the bottom end of the scale is zero. I've seen people being actively harmful to the project.

That being said where you lay on the scale depends on context.

In my previous project I was a [-0.25;0.25], so I quit, because I was miserable and so were my teammates who had to work with me.

Now I'm doing great and even helping others be more productive.

Re: Things I’ve learned in my 20 years as a software engineer

#103
post #6

This is a very insightful list. But there is one thing I'd quibble with: while it's inherently a super-subjective metric, I would say that 10x programmers do exist. Both in the "can support a company by themselves" sense and the "mad lone genius" sense. Not all the 10x programmers are good at working with other people or on other people's ideas. 0.1x programmers are often lost or afraid, although they may just be uni…

Saying 10x programmers are a myth because it's crazy that someone could do in 1 day what another could do in 1 week makes the assumption that both programmers in the example have the same amount of context, background understanding, and experience. The benefit of talented engineers comes from the fact that they avoid costly pitfalls - not that they pump out more code per hour worked. I feel this "10x programmers are…

Why do people need to be motivated in such a way? Won't that just lead to a lot of disappointment and misery later on? Why isn't "being a good programmer" something we should admire?

Re: Things I’ve learned in my 20 years as a software engineer

#104
post #78

I like the advice (and the "context" caveat, at the start). > The best code is no code, or code you don’t have to maintain I always say "The best code I write, is the code I don't write."

I always say "code is a liability".

I remember seeing a .sig someone had, that said something like:

    I hate code, and want as little of it as possible in my programs.

Re: Things I’ve learned in my 20 years as a software engineer

#105
post #87

Earlier quoted context omitted.

You could say that, but my cat thinks you'd be wrong. However, I'm yet to see my cat boot up the computer.

Ultimately pets are for humans, whatever you do for your cat you do for humans. The same logic works there.

With cats it's the other way round: the humans for cats.

Re: Things I’ve learned in my 20 years as a software engineer

#106

Earlier quoted context omitted.

We don't call Vermeer a 10x painter, Beethoven a 10x composer, nor Shakespeare a 10x author. It would be silly to call Turing a 10x computer scientist, or rockstar and ninja would be insulting. Vermeer, Beethoven and Shakespeare are masters of their crafts. The same word we use for skilled tradesmen. Why can't we call them master programmers?

I think part of the reasoning is in the trades there's the presumption that to be a master you must also be old (with exceptions, Da Vinci was active when he was still younger, 20). In the programming industry, there's likely a bias more toward younger people, and hiring offices ask for the world. They'd like a whole staff of masters and rockstars. Though that doesn't preclude "older" people from being known as maste…

That is a interesting thought, that seems to imply that those young programmers will not improve. If you are a master at 25, what do you call yourself after you have gained twenty more years of experience? It may be that those 25 year old's a more like journeymen then masters, or that programming is more like sports where youthful vigor are more important than experience.

Re: Things I’ve learned in my 20 years as a software engineer

#107
> I’d rather someone give me opinions that I violently disagree with than for them to have no opinions at all.

I've been a developer for 15 years... anybody else feel like the further they get into their career, the more they want to keep their opinions to themselves?

I feel like as a junior dev I had way stronger opinions and I was a lot more vocal about them. Now, I still have opinions, but I've learned that nobody gives a damn about my opinions so I just keep them to myself.

Re: Things I’ve learned in my 20 years as a software engineer

#108

I have seen many similar posts what people have learned but not once have I seen: "Don't assume anything". So many times when shit hit the bricks because someone assumed something about some other thing they clearly don't know everything about. Which eventually lead to the system failing.

That's a useless advice IMO. How can you not assuming anything. I assume that my CPU works, for example. You can't write useful programs without many assumptions. Imagine program that does not assume that CPU works and reruns every algorithm few times with few different code versions to verify that outputs match. It might make sense for moon mission, but definitely not for another CRUD app. I don't have 20 years of e…

I believe you are violently in agreement ;)

You are doing exactly that, assuming nothing. The number of times I've seem "meh, x can't be null here, just do nothing about it" (instead of some way of asserting that assumption, such as you provide) is staggering.

Re: Things I’ve learned in my 20 years as a software engineer

#109
post #105
post #87

Earlier quoted context omitted.

Ultimately pets are for humans, whatever you do for your cat you do for humans. The same logic works there.

With cats it's the other way round: the humans for cats.

And from a computers perspective all human work is ultimately for computers. Either making them or feeding them data. The purpose of the cat is to generate cat pictures for the computer etc.

Re: Things I’ve learned in my 20 years as a software engineer

#110

The 10x programmer is a silly myth. The idea that someone can produce in 1 day what another competent, hard working, similarly experienced programmer can produce in 2 weeks is silly. You know, 10x is an optimistic number here. Some programmers will do in 1 day what you wont achieve in a life time. And not understanding that makes you a bad programmer by my book simply because this is the foundation of the job. So let…

Agreed, I don't know why the industry (or people?) in general have a problem with accepting this abilities gap.

It's as if the notion of people being arbitrarily born more or less with a knack for something is evil.

Let me tell you the story of when I realized I was (at best), a "not-mediocre" dev:

  1. I've been programming for fun even as a kid. That's what got me into it: If you count kid-programming as "programming", I've been programming for ~14-15 years.

  2. There was a girl who used to work with me at $DAYJOB, who is fairly well-known on The Orange Website, and has written some "thought leader" papers in certain niches. A real einstein.
I asked her in DM at work about her background and how long she's been coding -- both in general and the language she's well-known for. The answer was:

  "A couple of years -- and a few of those were writing another language. This is my first real job writing $LANGUAGE_WELL_KNOWN_FOR."
Well, fuck me.

This is called "innate ability". Humans aren't created equal, nobody said they had to be, and it's not a crime to acknowledge it. Folks ought to get over it IMO, it's not a big deal.

I will never understand CS and programming-language theory concepts at that caliber or that intuitively, but who cares?

I'm also short as fuck so I doubt I'll be playing in the NBA anytime soon either. Life goes on.

Post reply on HN