Live data from Hacker News

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

simplethread.com

511–520 of 745 posts

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

#511
> We should be far more focused on avoiding 0.1x programmers than finding 10x programmers

I disagree here. A 10x programmer (or whatever other metric you want to use) brings a high level vision and uses that to turn around things faster like building Dynamics UIs, automation, or other tools.

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

#512
post #338

> “if they ask about time off in the first interview then they are never going to be there!” The fact that this attitude is common scares me when I'm doing interviews. Time off is incredibly important to me. What's the use of making a great income if you can't get the time off to enjoy it? The culture about the use of PTO varies wildly between companies. A friend of mine worked somewhere that supposedly gave 20 days…

Spot on. I always ALWAYS ask about time off during interviews. But I don't ask the manager because I found they always try to stretch the truth or reframe shit. I just ask the individual contributors how much PTO they've taken in the past 12 months. It's more or less an open question, doesn't necessarily means I'm interested in taking too much PTO. You'd be surprised of how honest people are. I had interviewees even…

You should ask about vacation and sick leave both, not generic PTO. The two can be very different, or the same thing.

I get vacation that I'm required to take every year. I have unlimited sick leave - but I actually have to be sick to use it (going to the dentist for a regular checkup counts as sick though)

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

#513
post #377

Earlier quoted context omitted.

The problem is not what's important to you when you do an interview. It's not a friendly club, it's the guys who will pay your rent for a while, just act like you pretend to understand this, and ask by side channel, out of sheer strategy. You CAN refuse once the contract arrives for signature, the interview is a lot also for the company to have argument to sell you to management as a worthy investment. I admit I neve…

> things can be tough and high pressure (investment bank) > people not nice on purpose Sounds like a miserable place to work.

I've considered places like that - but none would offer me 5x market pay. If they would pay me 5x what I'm worth - I can save the extra for 5 years and then retire.

I'm not sure if I'd take such a job if it was offered, but at least it would be an interesting offer.

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

#514

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…

Author nails it though with: "We should be far more concerned with keeping 0.1x programmers off our teams than finding the mythical 10x programmer."

This is just rescaling. The author is actually acknowledging that there exists 10x differences but divides by 10 for some reason.

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

#515

Earlier quoted context omitted.

You’re looking for a job. You have 10 minutes to ask questions that make you stand out, to a individual who probably cannot answer the question. You do you.

That's so spot on. Your Q&A session is your chance to learn something real and convey what you care about. A good question might me like "what's the hardest thing you had to do this year" or "how did you make decisions in cases of disagreement?" or something like that. It shows you're thinking about the job and whether you're a right fit. High quality questions say something about you. Low quality questions do too. W…

Depends. HR does everything they can to ensure I don't consider the questions I'm asked when deciding if we hire them. They can't stop me, but it is tricky to shoehorn your questions into their form so I don't try.

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

#516

Earlier quoted context omitted.

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…

> It's as if the notion of people being arbitrarily born more or less with a knack for something is evil. The stretch from person A is a better programmer / SW engineer than B to 'thus, person A is innately better' is unnecessary. In my experience, the programmer that spends more time programming is almost always better than the one who does not. You can hate side projects, open-source work, whatever as much as you w…

I think it is more a case of “talent x perspiration = skill”. Everybody can get better by working at it, but some people advance more quickly.

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

#517

Earlier quoted context omitted.

I understand that I have to bullshit people like you in interviews and pretend to care.

Picking a career you're interested in and company you're interested in makes things a lot easier than having to maintain a phony facade. A word of caution - interviewers tend to interview people an order of magnitude or two more times than candidates do interviews. What this means is they learn to detect the bullshit. A friend of mine is in the recruiting business. He interviews candidates all day, and has for many y…

Maybe, but who dreams about envelopes? Yet society would fall apart without someone making them. The same can be said for the vast majority of things most companies make - it needs to be made, but it is in reality boring.

All companies have interesting problems to solve along the way. But most have boring products. I can work for most companies because even though the product is boring I know I will find something interesting. (the exceptions are companies doing something I find immoral)

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

#518

I've been developing software for decades and here's the most important thing I've learned: systems will be around running for far longer than you ever thought possible, even when you allowed for systems being around for far longer than you thought possible! Keeping that in mind, I'm continually amazed at the number of developers who just love complexity. Don't get me wrong, they all profess to strive for simplicity…

In 2017 I had someone call me and say "the system's broken". I knew who it was, but didn't know what they were referring to. Turns out it was a web application I'd put together in 2003. 14+ years later, it wasn't working, and... they needed help.

I went spelunking a bit in my own code, cursing the jerk who built some of it, praising the genius who put in other parts, remembering cutting certain corners to get home for dinner on time, etc.

Having to support anything 10-15-20 years down the line gives you a different perspective on maintenance and simplicity that I don't think you can quite ever really comprehend beforehand.

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

#519
post #451

Earlier quoted context omitted.

Most of your examples are commonly used phrases. "10x programmer" is a unique phrase. We don't hear "10x electrical engineer" or "10x politician". Phrases like "decimate", double-down, etc are part of the English language, and is well understood to have multiple meanings. Your other examples (e.g. vi/emacs being a million times better) are examples of random numbers people throw out. Someone will say vi/emacs is a to…

>Most of your examples are commonly used phrases. Yes, and "10x" is itself also becoming a commonly used phrase that's getting less tied to the math number 10. This thread's extensive non -quantitative usage from many people is evidence of that. (I'm guessing that in a few decades, the bikeshedding about "10x" will eventually stop and it will be accepted as a non-numerical description like "a million times better") >…

> This thread's extensive non-quantitative usage from many people is evidence of that.

Even putting aside comments like mine complaining about the actual number, this thread's extensive use of 10x to mean as many different things is a good reason to avoid the term altogether. The whole thread is just "10x programmers don't exist because X" and "10x programmers exist because Y", where X and Y are unrelated.

> "10x manager"

All but one of the links in the first page were in the context of SW, or written by people in the SW industry. Many of them explicitly pointed out they derived the phrase from 10x developer.

I cannot count this as an independent use of 10x.

> "10x author"

Written by a tech guy.

> 10x " : https://www.hugo.team/10x

Written by a guy who started a SW company.

> "10x" spreading out to company names, etc : https://www.google.com/search?q=10x

Sad, but fair enough.

It sounds like 10x is the equivalent of putting 2.0 on everything (and also as meaningless).

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

#520

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 accepted this long ago. I don't have the right brain to be an über-dev, I'm not technically gifted, I just have a high enough IQ to brute-force my way through technical challenges.

I'm great at writing, simplifying technical concepts, and strategizing on larger projects, so I try to work to those strengths, which usually means making my PM's life a hell of a lot easier.

Post reply on HN