Live data from Hacker News

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

simplethread.com

551–560 of 745 posts

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

#551

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…

what would be nice is turning the skill gap into motivation to make other people grow faster

but the reflex for humans is to fear and be angry (understandably, but a bad reflex)

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

#552
post #542

Earlier quoted context omitted.

> sometimes Any rule of wisdom, followed blindly, leads to disaster. Don't substitute rules for good judgement.

If we take your first statement to be a "rule of wisdom" then it is either false, or all roads lead to disaster anyway.

If you leave off the rest of my post, you're likely to misunderstand it :-)

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

#553
post #405

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…

> You think John Carmack was the only one trying to make 3d games when Doom came out? Thousands of programmers where trying to. Does that make him a 10x programmer in your opinion? Or more like a 1000x? I think the idea of 10x programmers gets so much pushback because it's often bundled with this kind of toxic hero worship. There's a difference between acknowledging the impressive ability of outliers, and idolizing h…

Theres also this insane idea that people are just come out of the womb as 10x devs, as though they are literally different breeds and there is no amount of studying or effort that could bridge the gap. Its like a bunch of people who still believe their dad is magical & best and haven't discovered that we're all made of mostly the same stuff.

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

#554

Earlier quoted context omitted.

There was some tweet recently that went "Saying 10x engineers don't exist is as true as saying 10x basketball players don't exist or that all writers are basically the same." It's self-evidently not true.

No. It's like saying that a good mechanic can fix a car 10 times faster than another. Even if a good mechanic manages to find the problem in less time than a non experienced one, he still has to do the repair. That is similar to programming: even if you have everything clear in your head, you know how to do every single thing that is written in the requirements of the program, you still have to type it out. A lot of…

I'm not sure that fixing something that is broken is a good allegory for what programmers do, because a lot of us (most of us?) create new things.

The impact that creating something new can have can range from changing the course of history, to literally nothing (like most everything I've written).

Programmers and mechanics have a vastly different impact potential than one another.

No: One developer probably cannot _type_ x10 as fast as another. But they might be able to write code that can cure cancer -- while you/I can only regurgitate the same CRUD app over and over.

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

#555

> 11. ..... > Nothing worries me more than a senior engineer that has no opinion of their tools or how to approach building software. The more you learn the more you realise you were wrong. Having an opinion has often come to mean one is a fan boy of something and will have it no other way. I have heard team leads say "this python code is bad because it uses no classes" or "we need to use EMR so we can process all cu…

Right, there's a big difference between an engineer with well-founded opinions, and a fanboy with strong emotions. If you can't explain the weaknesses of your favourite tools, that's not a good sign. If you can't explain your preference for one tool over another, that's a bad sign. It's disappointing to encounter developers who, for example, love C# but hate Java, and are entirely unable to articulate why. They're very similar languages!

Somewhat related: Rich Hickey (of Clojure fame) makes the point that one of the disappointing aspects of the software development community is that there's so much talk about 'better', and so little about trade-offs.

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

#556
post #461

Earlier quoted context omitted.

I think time off is very important, but you don't need to ask it during the interviews. Just wait until they give an offer and then ask for what you want.

Nah, just like salary, I'm getting a ball park range on that topic before bothering to come into the office for an interview. Otherwise, you're wasting other people's time and your own.

Maybe it’s just where I’m at in my career and priorities, but I’m way more inclined to put work/life balance first and leave comp discussion for negotiation.

I make plenty. I could make more, sure. Could I be more aggressive at making more? Absolutely. But I care far more about being happy where I work. And anyone trying to hire me knows or should know the market well enough they’re not going to make an absurdly lowball offer.

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

#557

Earlier quoted context omitted.

Bellard is who I reference in these situations also. He's a sort-of empirical refutation of the assertion "10x programmers don't exist". I always liked that he lists qemu and ffmpeg on his website as afterthoughts mixed in with all the other code he's written.

Bellard is obviously 10x (or 100x) engineer when you need to port Linux kernel to JavaScript or compute the longest Pi sequence. But most jobs aren't like that and require a mixed skillset - problem solving, people skills, stress resistance etc. and it's entirely unclear how Bellard would fare there.

But the question isn't about those skills, the question is about programming. Bellard is blatantly an insanely productive programmer.

Also if you think a man who can build an LTE base station from scratch isn't good at "problem solving" I really don't know what metric we're talking about anymore.

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

#558
post #538

Earlier quoted context omitted.

That doesn't necessarily mean it's "unlimited". It could be that you get eight weeks and they just don't say so.

I think most people understand that "unlimited" does not mean you can take half the year off. It means there is no hard limit and it is up to a discussion between you and your manager. 8 weeks is pretty generous.

I imagine it's really hard for employers to balance that, though.

A good employer wants employees to take the time off they need without worrying about running out of PTO to do the stuff they want. They don't want an employee to ever have to think "Shit, if I take that day off for a dentist appointment, then I won't have enough PTO for that weeklong trip to Hawaii!"

But if you try to avoid this scenario by being extremely generous and declare an explicit 8-week PTO policy, then you will have people using 6-8 weeks PTO. Even as someone that strongly values work-life balance and PTO, 8 weeks is pretty nuts. If everyone took 8 weeks PTO every year, that would be pretty costly and could significantly impact productivity. 8 weeks is 1/6th of the year! It would cause chaos with people frequently coming in and out of the office.

So I think an unlimited policy sounds good, but expectations have to be set. Personally, I'd like to see it paired with a 10-day MINIMUM policy, with at least one full week off.

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

#559

Earlier quoted context omitted.

It should not be an insult to be told that there are people more skilled than you, though. It is hubris to think otherwise. Are you saying in 20 years, you haven't met any engineers that were head and shoulders noticeably more productive than their peers, in terms of code volume+quality?

There are undoubtedly developers who are 10x more productive. But I doubt its because they are born smarter. There are developers who are 100x more invested in their work, and only 10x more productive.

Sure, I don't know if they were "born" smarter. At least one of these people, I got to witness up-close his methodological approach to all his coding work. I don't know if the rest had a specific technique or not. All I know: these guys were all insanely fast, and only very rarely made any coding errors.

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

#560

Earlier quoted context omitted.

There are undoubtedly developers who are 10x more productive. But I doubt its because they are born smarter. There are developers who are 100x more invested in their work, and only 10x more productive.

Sure, I don't know if they were "born" smarter. At least one of these people, I got to witness up-close his methodological approach to all his coding work. I don't know if the rest had a specific technique or not. All I know: these guys were all insanely fast, and only very rarely made any coding errors.

I agree with you there. There are certainly much faster, much more dedicated workers. My irritation is with:

1. All the hero worship 2. This idea that they are unreachably superior to everyone else

Post reply on HN