Live data from Hacker News

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

simplethread.com

271–280 of 745 posts

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

#271
post #184

40+ years of experience here, and I'll tell you the #1 thing I've learned: * Software is a social service. Its for other humans. Incredibly, it doesn't matter how educated the developer, they still seem to have to learn this lesson themselves, over and over, until it sinks in...

I do a lot of dev work with non-profits and such. About a year ago I was working on an extremely difficult project as a volunteer where I was insistent that a specific part was vitally important to getting the project to move forward (generalizing tables extraction from scanned OCR docs) and I was spending a lot of time on it. One of the devs I worked with, with 40+ years of experience, basically told me this exact t…

> generalizing tables extraction from scanned OCR docs

I would actually categorize this as a human problem. As a society, we scan documents all the time. Data entry is a massive time sink usually involving lots of corrections.

True code golf would be like switching languages/frameworks for no discernable reason or trying to hit an arbitrary code coverage metric because you're unsatisfied with the current one.

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

#272

One of the things I have noticed lately is that people who change jobs often have completely different perception of the industry as compared to people who don't change that often. Both of the strategies have pros and cons. For instance people who change jobs quite often don't seem to care alot about the business per say they seem to emphasis on the technology more as compared to people who stick to one org. However,…

If you are good in tech that is transferrable skill.

Being good at what your company does is often not that useful anywhere else and usually you get non-compete so you cannot really use it.

If someone is a dev it is better to switch jobs and sharpen your "software stack" skills than waste time on learning whatever business needs. Of course there is some level that one has to understand the business they make code for - but don't overdo it.

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

#273
post #268

”The 10x programmer is a silly myth.” Incredibly high performers exist, but are rare. For example, the following quote is from a talk given by Gabe Newell. (Unfortunately, I do not have the URL to the source video for this quote.) “At IBM in the 1980s, typical productivity would be 1,000 debugged, shipped lines of code per year. That was the metric that they used for their median employee. Where as, when we were ship…

HalfLife 1 wasn't shipped in the 80s though. Maybe HL3 will be shipped in the (20)80s.

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

#274

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…

Totally agree with you. I’m in the same category and have had to accept my fate to some degree. I keep improving relative to myself, but that’s all I can reasonably do.

What gets me is when I meet many of these “innate talent” coders I get to hear phrases like:

“I just want to work with the best possible team…”

And then from their behaviour, you see how they get irritated with the regular folks and try and convince everyone that if we all just “be more like them” it’ll all work better.

Many of them are blind to how much their talents make what is easy for them, very hard for the rest of us.

I call this the “talented arrogance” syndrome.

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

#275
post #268

”The 10x programmer is a silly myth.” Incredibly high performers exist, but are rare. For example, the following quote is from a talk given by Gabe Newell. (Unfortunately, I do not have the URL to the source video for this quote.) “At IBM in the 1980s, typical productivity would be 1,000 debugged, shipped lines of code per year. That was the metric that they used for their median employee. Where as, when we were ship…

If you measure lines of code you will indeed find people who produce a lot of it. Is that a lot of value though?

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

#276
post #268

”The 10x programmer is a silly myth.” Incredibly high performers exist, but are rare. For example, the following quote is from a talk given by Gabe Newell. (Unfortunately, I do not have the URL to the source video for this quote.) “At IBM in the 1980s, typical productivity would be 1,000 debugged, shipped lines of code per year. That was the metric that they used for their median employee. Where as, when we were ship…

I think it's more that the "10x programmer" myth has caused a lot of pain and bullshit.

There are startup CEO's who won't settle for anything less than a "10x programmer" and waste everyone's time trying to find one.

There are narcissistic coders who think they're "10x" and therefore can act like spoiled children to everyone around them.

If I hear "10x programmer" in anything other than "...is a myth" then it's a sign that whoever is speaking is probably someone I don't want to work with.

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

#277

> 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…

It's the same in any area of life and is called maturity.

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

#278

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…

I'm about 1/1,000,000th a Fabrice Bellard, and I'm fine with that.

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

#279
post #117
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…

I like FactoryFactory devs, they are even worse than 0.1x. After some time every other team member who touches their code becomes 0.5x.

And then you encounter the 10x programmer, who is not afraid to throw the bullshit code away and write it in a way that is easy to manage for other devs. I'd say this is really a more realistic example of a 10x programmer. Most programmers are just afraid of asking the "why" question and the actually acting if there is no good answer.

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

#280
post #269

40+ years of experience here, and I'll tell you the #1 thing I've learned: * Software is a social service. Its for other humans. Incredibly, it doesn't matter how educated the developer, they still seem to have to learn this lesson themselves, over and over, until it sinks in...

A corollary-ish observation of my own: * If coders could write useful documentation (starting w/inline comments) they probably wouldn't be coders.

What would they be instead?
Post reply on HN