Live data from Hacker News

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

simplethread.com

641–650 of 745 posts

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

#641
post #629

Earlier quoted context omitted.

They've done some pretty extensive studies on ability / achievement. The big driver being parents wanting to ensure their kids turn out great, or to make their kids smart. Turns out environment can only really have _detrimental_ effects on outcomes for kids. You can't increase what they don't have, but you definitely can fuck them up. I thought it was pretty interesting. So basically, the advice most parents get now…

Can you link to these? I'm interested in what they found out, if a little skeptical about how thinking can be precisely measured.

I went back and dug to find the exact source I was thinking of (I heard it in a freakonomics podcast long ago, took awhile to find).

https://freakonomics.com/podcast/reasons-to-be-cheerful/ https://www.inquirer.com/philly/health/Nature_vs_Nurture__Do...

The big thing is this is purely about IQ.

Think of it like folks being born at a certain IQ, and you can really only maintain it (exercise, love, healthy eating, sleep, etc.) You can't bolster it beyond what is innate. However, you (and your environment, typically our parents) can definitely cause decreases in your IQ (poor sleep, anxiety, poor nutrition, toxins like lead, etc.)

I found it pretty interesting, but also kind of obvious in hindsight. I would love to be able to increase my IQ, as would many others, but we all gotta just work the best to maximize what we got. Maybe tech / gene manipulation will make it possible in the future though.

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

#642

Earlier quoted context omitted.

This is always my go to example of a 10x programmer: https://norvig.com/spell-correct.html How many developers do you know that would bang out a spelling corrector on a single plane flight, in half a page of code? It's a question of knowing the algorithms of tools that make things possible that other developers might not even consider, and how to express those ideas cleanly and concisely, evaluate your solution, and…

Norvig wasn't given a random problem that he then solved quickly. He picked the problem to work on. I'm sure I can give him problems of similar complexity that I work on for my job and he wouldn't do it that quickly. Quicker than me, for sure - but it wouldn't be hard to find someone who does it quicker than he did. I'm sure I can find problems that I can solve quickly and amaze people. Being able to pick your own pr…

People can be 10x in one domain but not in others, experience is part of the equation. That's not too strange is it? Compare a football player in a ice hockey team. Even though they still have a significant head start compared to someone on the street, when it comes to physique, ball sense, etc.

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

#643

Earlier quoted context omitted.

I think the "10x programmer" as a term is confusing. In one analogy it could be the 10x bricklayer. One who does a well defined job 10 times faster than the others. I think this is the notion people oppose. Another analogy is the 10x classical composer. A person who produces music that is 10 times better music. But this is much more about creative/artistic capacity than about producing. Nobody oppose this. I that you…

> In one analogy it could be the 10x bricklayer. One who does a well defined job 10 times faster than the others. Software as brick-laying gets a laugh out of me. If someone uses that analogy, that's a red-flag: they don't really understand software (and tech). It's like offshored bodyshops that just keep throwing more warm bodies at a codebase. Truth is, a 10x isn't someone who lays bricks 10 times faster. A 10x is…

> It's like offshored bodyshops that just keep throwing more warm bodies at a codebase.

Yet they are doing software, aren't they ? So bricklaying has to be part of the "writing software" definition.

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

#644
post #451

Earlier quoted context omitted.

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

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

What do you mean by that ? If I write a cooking book titled, "pizza 2.0" everyone in the world will understand what the 2.0 means.

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

#645
post #355

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

> Software is a social service. Its for other humans. I deeply disagree with this Calvinist utilitarian sentiment. Its akin to saying sex is for making babies. Maybe its an academic thing - When I went to grad school for CS, on Day 1 my Algorithms Professor paraphrased Perlis's famous quote on the blackboard - "Shaft the paying customer!" You can find the whole quote on the first page of SICP[1], or elsewhere[2]. imh…

> imho the best software is written to [...]

What do you mean by "best"? If it is supposed to be judged by the original author of the software alone, your opinion does not matter. If you think your opinion of software written by others matters, then BAM, you've acknowledged what you set out to refute, i.e. Software is written for (or at least its quality can be judged by) other humans. (Unless you're actually a GPT-3 bot in disguise, in which case you win :D)

What you might have shown is that software not written for others can still be great in the eyes of other people, but even that is somewhat nuanced. IIRC one of Linus' egotistical outbursts was triggered by a kernel dev intentionally breaking user-space compatibility. At least in this case Linus' example doesn't support your claims.

I also don't see why "software is written for other humans" necessarily snuffs the fun or interesting aspects out of it. There certainly are large number of un-fun software that serves a commercial purpose, but it doesn't mean that fun software has to be anti-social. Even entries submitted to IOCCC (purposely obfuscated C code written purely for fun) sometimes lead to useful stuff (Fabrice Bellard's work).

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

#646

Earlier quoted context omitted.

That’s a pretty huge distinction. Can’t believe he misrepresented the author like that.

That was not my intention. I was operating under the assumption that anybody in the comment section had read the article first, since then it would have been known that I wasn't quoting the author, I was quoting something the author quoted.

I always look at the HN comments first to see if the article is worth reading, and probably other people do as well. HN loads quickly, doesn't have a paywall/cookie pop-up so it's just a better experience to look here first, and often the comments here are better value anyway.

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

#647

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…

This is the opposite of how you should want any knowledge worker to think. If you believe that there’s some innate ability that makes people 10x better at a skill than you rather than hours of practice and study then you are much less likely to acquire that skill or learn those skills efficiently. You need to have a growth mindset to be an effective knowledge worker not a fixed mindset. This is discussed in the book…

There is an innate ability that drives it to a large extent: inherited intelligence. Recognizing this might not be helpful to the individual's motivation but that doesn't make it untrue. Not everyone can be a 10x (or 100x) Ramanujan-level genius, you really need to win the genetic lottery, in addition to working very hard, for elite level cognitive performance in STEM domains.

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

#648
post #640

Earlier quoted context omitted.

there are differences between any two people anywhere ever, though. Is there some reason that being over 20 means you're done developing?

You can learn a new foreign language when you’re 20. But it’s way easier when you’re 10 or 5. Same goes for learning to play chess, to code, and more broadly, for learning to learn.

Isn't this because everything is new to you when you have close to no life experience? Aside from our default programming mode of eat, sleep, walk the bucket we call brain is practically empty of experiences and theories when we are 5.

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

#649

Earlier quoted context omitted.

This is the opposite of how you should want any knowledge worker to think. If you believe that there’s some innate ability that makes people 10x better at a skill than you rather than hours of practice and study then you are much less likely to acquire that skill or learn those skills efficiently. You need to have a growth mindset to be an effective knowledge worker not a fixed mindset. This is discussed in the book…

> This is the opposite of how you should want any knowledge worker to think. Some of us don't choose our beliefs based on what is most convenient or most beneficial to us. Instead, we try to see the world for what it is, truthfully (or as close to a true representation of the world as it's possible to get, anyway). If having a realistic worldview hinders my ability to learn, then so be it. Not everything is about max…

I feel the core idea is that hard work and deliberate practice will move both those with talent and those without forward and fretting over things you cannot change is an exercise in futility, and you're rather focus on things that you can change.

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

#650
post #313

Earlier quoted context omitted.

This is especially true if the company uses "unlimited"/not-tracked/etc. time. Otherwise, unless you know someone at the place (and even then it can vary by group), you're left with making assumptions about norms that may not be accurate. Personally, I've never not used all my PTO in a given year and would consider being unable to do so a show stopper.

I've heard the "unlimited PTO" policy referred to jokingly as the "no PTO policy" at some shops. Most companies are great about it though and encourage PTO.

I once asked hr from a position advertising "unlimited PTO" what was the average of PTO days in the team. She panicked a little bit
Post reply on HN