1. 8

This is a complement to yesterday’s Work is work by @codahale.

  1.  

  2. 6

    There might not be such a thing as 10x engineer, but there are for sure 0.1x engineers, and I’ve been bitten by them very badly.

    Perhaps the problem isn’t that there are no such things as 10x engineers, but that some 0.1x engineers can drag a whole team down.

    (I’ve worked with a couple of guys who quite literally made the worst possible design decisions. Like…I almost wondered if it was sabotage. $120,000 - $150,000 a year and didn’t understand foreign keys or unique constraints on databases, thought that hex-encoding something counted as encryption…)

    1. 3

      If there are 0.1x engineers, then by definition, there’s relative 10x engineers. I think labeling either (or seeking an elusive 10x) is usually a waste of time - you have to try to adjust the people to the circumstances - a 10x here is a 0.1x there, environment plays a BIG role. We also tend to confuse “10x” output vs outcome (it’s obvious producing 10x more code isn’t a goal, unless you’re selling CRUD forms) - and particularly with technical details (there can be an engineer that generates 100x more value than other without having to understand foreign keys).

      1. 1

        (there can be an engineer that generates 100x more value than other without having to understand foreign keys)

        No doubt. The problem with these particular guys was that they claimed to be good at databases.

    2. 8

      For instance, let’s say the cost of a kx engineer is k0.6 […]

      Employment bro-statistics. The “10x engineer” concept was originally meant to be a figurative allusion but it has grown out of all proportion and now real CTOs of meaningful engineering organisations are trying to do linear regressions on how many x’s, precisely, an engineer is. It would be funny if this person did not have real power.

      1. 3

        The execessive simplicity of the task overhead model creates a few issues.

        1. Twanda 30 minutes of code do no necessarily mean the same quality/value output of Norm 1 hour of coding
        2. People are not single processors, and can work in simultaneous things, the fact that someone is waiting “task overhead” do not mean they are not working on something else.
        1. 2

          You can’t really measure it, of course. But all managers try, when they set the salary of Alice to $110,000 and Bob to $115,000. So on some level, managers certainly believe they have some precise idea of the relative value of each engineer.

          Even if Alice produces a hundred fold what Bob does, if she is happy at $110,000 it would be economically irrational to pay her a cent more than she is paid now. Willingness to work at a price point does not meaningfully translate to output once you are past “I pay them less than they make for me”. You may have moral objections or concerns, but in practice this is an industry norm.

          Its fine as an individual to strive to provide more value and use that as a negotiating position, however you’re very liable to get hoodwinked as a manager thinking this way. “No you see I am a 4.5x engineer so I should be making at least 2.5x my peers”.

          In practice most people I’ve seen claim to be very high productivity have a much higher bug / LOC. I would prefer someone who was “low productivity” who had fewer bugs in my line of work, but I work in finance.

          1. 1

            I think you’re missing the finer points of amount of money earned as well as laziness or aversion to change. (Speaking as someone in a country with good labor laws, maybe you are happy to change jobs all the time if you could be fired tomorrow, I wouldn’t know…)

            Just because I don’t quit today because I seem to be happy at salary X doesn’t mean I won’t in a few months, given the circumstances at work are fine to good. Maybe your org also sucks at proactively talking to people about their salary and I won’t try to haggle for a raise because the first time was annoying enough.

            Also this is when the mentioned 100k would be roughly standard in your region/experience level. If it’s more than 20% less than average you might be surprised how unhappy people really are.

            Getting a raise above average doesn’t always make people happy, but paying them below value makes them unhappy, usually.

            1. 2

              What I was trying to communicate is, someone who is paid more isn’t necessarily more productive, they may just be a more aggressive negotiator. So long as the business gets more revenue than they pay in salary, they’ll be happy. Wage and value aren’t intrinsically linked, and are primarily dependent upon economics such as willingness to sell. In the same way, not every expensive item is of quality. Not every cheap thing is of low quality. Liquidity would help this but labor isn’t particularly liquid, even in “at will employment” states.

            2. 1

              In practice most people I’ve seen claim to be very high productivity have a much higher bug / LOC. I would prefer someone who was “low productivity” who had fewer bugs in my line of work, but I work in finance.

              How confident are you that you are accurately judging the amount of bugs /LOC that any particular programmer produces in the context of their job?

              1. 2

                In essence, the set of sloppy fast programmers is much larger than the set of quality fast programmers. The set of sloppy fast programmers who my boss misidentifies as quality is much greater than the amount quality fast programmers simply due to the difference between the volume of sloppy fast programmers and quality fast programmers.

                When it doesn’t even work I’d say near 100% confident that the amount of bugs / LOC or whatever isn’t the best. Consistently fails code review is often not a terrible metric. It’s not surprising that the people rushing to get this that and the other done also miss tightening things up. While you can argue that there are people who are outstandingly productive while being quite thorough, and I’m sure they exist, my personal and anecdotal experience is that the ones their bosses think are that are frequently just slapdash programmers.

                Again, I’d personally like to not roll the dice. I’d rather have someone who does quality work in a timely manner, than someone who does “quality” work in a shockingly fast time frame. There may be good reason they are so fast, and it may not be talent or approach. To be clear I think someone should roll the dice on them, just not me.

            3. 2

              I don’t understand why people would want 10x the code. More code is not good; code is a liability that needs interest paid on it.

              1. 4

                I think that when people talk about 10x engineers (let’s not worry about whether they exist for now) they don’t mean people who write 10x the code, but deliver more value with the same amount of code. They write “the right stuff”. See for example https://www.google.nl/amp/s/www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge/amp

              2. 1

                This article just makes me smile. It explains so much, like why FAANG&c might pay so much (they can maybe get their money’s worth) but your local parks & rec won’t. It does seem a little obvious. Only thing I can’t figure out is where the original 1/(c/k+1-c) comes from, I might need to work it out on paper or something.