Live data from Hacker News

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

simplethread.com

411–420 of 745 posts

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

#411

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…

When you say "[s]ome programmers will do in 1 day what you wont achieve in a life time" you are no longer talking about the 10X programmer myth. You're talking about invention, rather than day-to-day productivity.

They're the same thing if your day-to-day productivity requires invention, as it does in Carmack's case (and I would argue most programmers)

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

#412
> 11. One of the biggest differences between a senior engineer and a junior engineer is that they’ve formed opinions about the way things should be

I don't like this one. IMO it tells you nothing and assumes everyone shares the same culture of pushing opinions.

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

#413

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

Agree. If I were the interviewer I would probably do the same. Asking about how people spend their life can also reveal a lot about their personality as well.

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

#414

Earlier quoted context omitted.

The context is key. First interview . The issue isn’t taking time off, it’s that the prospective employee’s head is up their proverbial ass. First interview is propspecting. If you were selling a product, if the customer is asking about the return policy before even selecting an option, it’s a similar signal. When you’re in a subsequent interview talking about the benefit plan, salary, etc, that’s where that sort of…

Umm exactly? I’d rather get my own red flags out of the way rather than waste 8h of everyone’s time to find out the company has a shitty culture. I also checksum the compensation and on-call and other things in the first interview

Like it or not, when interviewing for a job, you're doing a sales presentation. A good sales presentation doesn't open by saying what you want. It opens by finding out what the customer's problems are, then you demonstrate that you can solve them, then when the customer is sold the price negotiation starts.

If you want to vet a company's benefits and culture beforehand, which is a good idea, do the homework first and research it before getting into the sales process.

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

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

> sometimes

Any rule of wisdom, followed blindly, leads to disaster.

Don't substitute rules for good judgement.

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

#416
post #187

Earlier quoted context omitted.

I think what the parent may have been complaining about is essentially myopia in interpreting things - ‘well, this technically checks the box of what they ask for’ while willingly avoiding thinking about the larger context of what is being attempted or trying to understand requirements that don’t make much sense. Don’t get me wrong - it has it’s place, and if everyone always tried to understand everything, there are…

> I think what the parent may have been complaining about is essentially myopia in interpreting things - ‘well, this technically checks the box of what they ask for’ while willingly avoiding thinking about the larger context of what is being attempted or trying to understand requirements that don’t make much sense. I think what your post’s parent was pointing out is that in lots of environments, such myopia is just a…

I think we just violently agreed, and even repeated the same last line?

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

#417

Earlier quoted context omitted.

> 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. Most projects out there will not benefit from such a person. If you don't understand this, then in my book it makes you a poor employee. I mean, it's great if this 10x guy can solve some challenging problems that most people cannot…

A 10x programmer doesn't cost 10 times as much as a regular programmer. 10x programmers are real and drive real business value. The people who insist 10x programmers are a myth simply have not worked with one. Do not conflate brilliant-but-an-asshole or prodigious-output-but-creates-a-mess programmers with 10x programmers.

Yet another comment that uses the phrase 10x but does not provide any way to quantify it.

No one is disputing geniuses exist. Calling them 10x, however, is problematic.

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

#418

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

No, I've been doing this for ~30 years now and I have really strong unpopular opinions on things. Like: - NPM/Yarn/Gems etc is a disaster waiting to happen. Having lots of dependencies is a security nightmare and a maintenance issue. As these projects get dropped by their original maintainers we'll start seeing more supply-side attacks and more vulnerabilities going unpatched. - Docker is a great solution for a speci…

Last month I ran into The Principle of Least Power, and it's grabbed me and the more I think about it, the more it expands. I think all of your statements lines up with this principle, except one.

Containers are a simpler solution than Operating Systems. Operating Systems is a tightly bound non-simplistic system that breeds complexity, just as you state npm does. Because those interfaces are tightly bound, we were not about to build on top of them. Almost immediately after we got Docker, we got K8s. Once we got Docker we got the ability to manage these things at a higher level. That's the mark of a more simple solution.

Are there things that Docker can't do? Are there things that require so much performance that Docker can't handle it? Only then should you step back to the more powerful solution.

Not to say that there aren't problems with Docker. Dockerfiles have a lot to improve. Running containers has a lot to improve.

I think. I'm still at a state where I might change my mind. It's partially why I'm posting this.

[0]: https://blog.codinghorror.com/the-principle-of-least-power/

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

#420
Speaking of iteration, iterating over the most popular replies to this tells me that the points which hit home enough to drive engagement are replies to the effect of:

1) "No, my 37 day interview process is good, actually."

2) "Rails sucks"

3) "Making a thing people would want to use is a bad idea."

4) (two long threads) "The 10x programmer exists, I saw him once at a con."

5) "No one cares what anyone else thinks."

HN really does represent the finest that the largest corporations have to offer. The proof is in the pudding.

Post reply on HN