5 ms·
Please stop thinking there are 10x programmers - or perhaps stop thinking it means 10x better. It is simply 10x more valuable. And that depends on the organis
by lifeisstillgood 8y ago
Please stop thinking there are 10x programmers - or perhaps stop thinking it means 10x better.
It is simply 10x more valuable. And that depends on the organisation you work for, the state of the code base and so on.
Look at it this way - sports stars are regularly 10x, 100x more valuable to their team management than A.N.Other professional player. Take football (soccer) - Ronaldo is a waaaay better player than I am easily 100x, but take the newest signing in league 3 or whatever it is - can Ronaldo run 10x as much, is he 10x as likely to put in a penalty or a free kick? No. it's probably not even a question of twice as likely - it's percentages better.
It's just that those percentages matter when the cup is on the line. I am sure that Baseball statistics probably show this - the spread from top of the league to bottom is unlikely to be 10x more runs scored
So more and more it's worth remembering that the value provided to an organisation (and remember that's what you can charge for) is based not on your intrinsic qualities but what you can do for them in their current state.
- skrebbel 8y agoSmall percentages matter when the game is competitive. Programming is not competitive. I agree with your argument but I think your analogy is bad.
- taeric 8y agoSuch is the life of analogies.
- ralusek 8y agoHow on earth is programming not competitive? Coming up with the wrong data model can result in millions of dollars in technical debt, a failure to fully realize a product, or certainly allow a competitor to win out. Bad programmers can structure a product so poorly that it is simply unpleasant to work on, and you won't be able to hire or retain engineers. I think moreso than most careers, a single software engineer is capable of a tremendous amount of good or harm.
- laughinghan 8y agoYeah but no one's goal should be to overtake the current best programmer in the world in whatever ranking. Your goal should be to excel at solving the problems you're facing. A spouse is capable of a tremendous amount of good or harm, but that doesn't mean marriage is a competition.
- jakobegger 8y agoNobody cares if you wrote the best code in the world if the business model doesn't work out. I once did some consulting work for a popular technology startup. I was appalled when I saw the hacks they used to get their stuff working. But their marketing was perfect and all the devs raved about how performant and nice to work with their product was. But when you looked at the internal code it was clear that a lot of it was written by clueless programmers who did whatever they wanted to get it somehow working. They used the worst hacks to get around the fact that the original product wasn't really built for the area they pivoted into. That taught me a valuable lesson: everything I thought was important about building a good tech product is irrelevant. As long as it kinda works, you just need someone to sell the thing.
- skrebbel 8y agoNone of what you just described defines "competitive". A situation is competitive where one's gain is, another's loss. There's no such dynamic at play when programming, except maybe career advancement in big organizations. When I write better code today than I did yesterday, you, my teammate, will be happier, not sadder.
- throwawayjava 8y agoAll of the things mentioned are ways that bad programming can "allow a competitor to win out". Programming is competitive because markets are competitive. Now, markets aren't always zero-sum. But they are often competitive. > When I write better code today than I did yesterday, you, my teammate, will be happier, not sadder. That's also true in football...
- lifeisstillgood 8y agoThe field for programming jobs is at least highly competitive- and the OSS field is very winner takes all. Bad analogies suggest different mental models being discussed - what would you suggest is a better analogy - I would be interested in your mental model.
- muzani 8y agoActually, this might exactly be why the industry pays so well. Facebook's biggest threat is not dying on its own, but the possibility of future programmers disrupting it. They're fine with paying billions for companies like Instagram and WhatsApp, because of the possibility that these companies would target the same market and hurt their profit margins. They pay very high amounts to poach employees from other large companies as well.
- MRD85 8y agoIs Ronaldo 10x as likely to get a hat-trick to send his team forward in Champions League when they needed 3-0 to progress? He's not running 10x as far but he is so much better due to little things, such as being in the right spot at the right time. Compare this to programming. A programmer who makes good decisions early on the project will likely save his company a lot of money down the line. A few poor decisions here will cost them a lot of money.
- robaato 8y agoYes! Though Ronaldo is also known for how hard he trains - he is not relying just on his (massive) talent. Experience gives you exposure to other solutions and can give insights and alternative ways of approaching stuff which as you say can make a huge difference. Sometimes you do just have to grind things out though.
- MRD85 8y agoI'm actually arguing that some parts of being a good programmer are things you're born with and that other parts are hard work. I feel some people just understand programming more naturally and if you give that person experience and they work hard then you'll get an amazing programmer at the end. I could never have been as good as Ronaldo. I could never have even been a professional soccer player, I'm simply not athletic enough.
- FrankyHollywood 8y ago"Please stop thinking there are 10x programmers" I don't really agree, since I consider myself a 10x engineer. I have countless of examples of guys struggling for 2 months on some project. They get stuck, ask for help and I look at it and build it from scratch in a week. It's not I'm typing faster, it's more about choosing the right architecture and libraries. You can save insane amounts of time by making the right descisions. Besides the overall architecture descisions there are a lot of small day to day choices to make. If this value is not valid, do I throw an exception, or silently log something? In both the small and big design descisions there is always a tradeof. Talent and (years of) experience makes that these descisions come from intuition, which can make you a 10x developer.
- onion2k 8y agoI have countless of examples of guys struggling for 2 months on some project. They get stuck, ask for help and I look at it and build it from scratch in a week. Have you ever wondered why the engineers don't come and ask your advice before they waste a couple of months? I'd much rather be known as an approachable and helpful engineer who juniors can ask for advice, even if it means I'll never be known as a 10X engineer.
- FrankyHollywood 8y agoSome do, they are curious, and I can teach them a lot. At this very moment I have a junior engineer in my team. He is eager to learn and we do a lot of peer programming which benefits us both (having to explain why choosing some solution is even harder than making it 'by intuition'. But the ones who don't are more difficult for me. I think some might be shy or unaware things can go better. The most trouble I have is with the really stuborn who don't want to learn, and think they know it all. I try to avoid these engineers as much as possible, by hiring the ones I think are eager and willing to learn.
- ArcMex 8y ago"hiring the ones I think are eager and willing to learn" Where do you draw the line? How often can a junior approach you before you grow tired of them constantly asking you for help/guidance?
- youareverywrong 8y agoI feel that you do not understand the 10x concept. Here is a Steve Jobs interview that hopefully will explain it: https://www.youtube.com/watch?v=09JGcDDLBCw https://www.youtube.com/watch?v=09JGcDDLBCw
- muzani 8y agoTo an extent, it really isn't hard to be a 10x programmer. Take, for example, the median level 1x programmer. Perhaps a Java programmer working at a large tech corporation on a team of 1000+ in Indonesia or Brazil. That guy isn't visiting HN. That guy doesn't read tech articles at home. He may join a few programmer groups on Reddit or Facebook. But his main concern is that he gets paid and feeds his family. He doesn't care so much about doing his work well, but he cares that he does it well enough to make a 10% salary raise each year. He can probably reverse a linked list. But his searches are all O(n^2), and he can't do any less. The company that hires him doesn't really care - they're unfamiliar that things can be better, and as far as they know, they'd rather get hire ten $15k guys than a single $150k star programmer. Is it possible to code 3x faster than that guy? Certainly. Especially when it comes to harder parts of the work. Is it possible to code 3x better? As in code that's more efficient and doesn't crash as much? Also very likely. And someone who codes 3x faster also reduces the cost of the project drastically - you can pay a team one month wages instead of three. Now you put these multipliers together, you get easily more than 10x, quantifiably. Sports players may try to run 100m a second faster, but star programmers can easily build a project faster and cheaper.
- arethuza 8y agoI suspect a considerable advantage is knowing that there are bound to be existing things to reverse a list and not writing it yourself.
- muzani 8y agoIt's quite trivial, yes, but that's why we use it as a benchmark for the 1x programmer. Someone who can get work done, and scales in high numbers.
- jstimpfle 8y agoA considerable advantage would be knowing that you shouldn't use a linked list in most scenarios. The next best would be understanding that there are many different ways to do "linked lists", and it's important to control the choice. Software dependencies have a huge cost. The next best advantage would be recognizing that if you need to reverse a linked list in practice, you're probably doing it wrong. Writing a linked list implementation isn't hard. There aren't many things that are hard to implement. What's hard is making good decisions what to implement. No library can help there.
- a_imho 8y agoThere are all kinds of programmers, even 0x and negative contribution ones.
- deleted 8y ago[deleted]