10 ms·
Just Don't Hire 0x Engineers
- jasode 11y agoWhy is this type of post upvoted to the front page on HN? I thought HN attracted folks sympathetic to the creation of startups. >The hip thing nowadays is that your software company should hire only A-players instead of B- or C-players, or focus on engineers that are ten times better than anyone else. [...], but I think the sentiment itself is the wrong question to ask. If people are starting companies, it's not the wrong question to ask. The first 5 programmers hired with fast dwindling startup funds all need to be ultra talented and smart. The competition will kill you with your staff of B & C programmers. When you get to the size of Microsoft with 128,000 employees, you can afford to have some deadwood C, D, F, and 0x employees wasting cubicle space. When you're a startup, you'll go bankrupt because the C players are floundering around not generating enough value in the product to help make the business succeed. It's not a matter of hip or not hip -- it's a matter of survival. [...]the average company is pretty average. Not everybody can hire exclusively top-tier people. And you know what? That’s fine. If the readership on HN is plugged into the startup scene, hiring mediocrity is not fine. EDIT to reply to the replies: Most of the replies think of "A players" as an absolute ranking on a world scale. Linux Torvalds, etc. That's not what I'm talking about. Hiring employees or finding a marriage partner is hill-climbing algorithm.[1] The startup would have some notion of an "A-player" suitable for the company's goals and business standing. It does not mean you try to lure AI expert Peter Norving away from Google Inc to code a bash shell script because you insist on the "best of the best of the best." Whatever pool of candidates your startup can realistically attract, over a constrained time frame, funded by a limited budget -- that's where you find your Local Optimum. To you, you hopefully find your "A-player" although others may view that same candidate as B/C player compared to to someone like Linus Torvalds. >, the reality was that most of the companies using our hiring software were most interested in finding people that don’t suck. That's totally opposite from my observations. Startups are most interested in finding great people. They only "settle" for people that don't suck as a consequence of reality. Their hill climbing didn't find their "awesome" programmer so they cross their fingers and hope it works out. The blog post is saying most companies actually prioritize "don't suck hires" over "great hires". The blog has it backwards and that is an outcome instead of the motivation. As a meta comment, the advice from Warren Buffett, Steve Jobs, Bill Gates, Paul Graham, the YC Sam Altman startup school vids with the dozens of guest speakers (angel investors, VCs), etc all stress the point of hiring the best people you can. The only sources of advice for "just aim for hiring people that don't suck" are obscure writers of blogs. Why is that? And why does that sentiment have to be delivered as explicit "advice"? Since you can't hire all A-players, you'll inevitably end up with mediocre employees that don't suck even when you don't pursue "don't suck" as a primary goal. [1]http://en.wikipedia.org/wiki/Hill_climbing http://en.wikipedia.org/wiki/Hill_climbing
- striking 11y agoEspecially because "One of the most important things that made Microsoft successful was Bill Gates' devotion to hiring the best people. If you hire all A people, he said, they'll also hire A people. But if you hire B people, they'll hire the C people and then it's all over." (taken from http://www.joelonsoftware.com/articles/fog0000000072.html http://www.joelonsoftware.com/articles/fog0000000072.html)
- logfromblammo 11y agoI have always disagreed with that. Microsoft also used stack ranking, one of the worst management practices from an employee perspective that I know about. It operates on the same principle: arbitrarily execute everyone at the bottom of the perceived bell curve. That leads me to a translation of a quote by Stalin: "Those who cast the votes decide nothing; those who count the votes decide everything." The counting method has a greater effect upon the outcome than the actual votes. How you measure the worth of someone may have little relation to the value they can actually provide. If you rank people by how quickly they can move 100m, and subsequently hire Carl Lewis and FloJo to manage Justin Gatlin, Tyson Gay, Mo Greene, Carmelita Jeter, and Tori Bowie, you're going to be disappointed when they try to do the same 5m 20 times, or 100m up a vertical rope, or 100m across the surface of a lake, or 100m while carrying a 50 kg backpack, or 100m across ice and snow, or 100m across a tightrope, or 100m on a flat, straight, level track, at local noon, in June, in the Sonora desert, with only 1 L of water. So that Gates quote sounds to me a bit like begging the question, defining an "A person" as "someone Microsoft ranks well", a "B person" as "someone Microsoft ranks neutrally" and a "C person" as "someone Microsoft ranks poorly". Without establishing the ranking metrics, all he's really saying there is that Microsoft hires people with a good cultural fit for Microsoft. That doesn't make them the best people. It makes them the best people by Microsoft's method of estimation. There really are no 10x or 0.1x developers. The worth of the worker cannot be meaningfully separated from the conditions of the job. Someone who is 10x while working alone on his own side project may be 0.1x on a team using a management-mandated process. You can't really know ahead of time how well someone will do when thrown into your unique variety of bullshit. (And pretending that your company has no bullshit does not make it magically disappear.)
- beat 11y agoSmart and stupid are not opposites. In fact, they happily co-exist in the same brain. Thinking that you can avoid stupid people by only hiring smart people is naive, and misses this basic truth.
- jheriko 11y agothis is a beautiful observation, and very true imo.
- damoncali 11y agoThink about the thing you like most about someone. Think about the things you dislike the most about that same person. 9 out of 10 times, it's the same thing. Same goes for strengths and weaknesses.
- beat 11y agoNot necessarily the same thing, but often interdependent. Like "great sense of humor" and "unable to take anything seriously"... not really the same thing, but often interdependent.
- e12e 11y agoMaybe your idea of "great sense of humour" is off, if you can't see how "great sense of humour" is connected to being able to take everything seriously.
- damoncali 11y agoDon't take it so literally. The point is that the personality traits that give us our strengths and good characteristics are very often the source of our weaknesses and bad characteristics. Take a look around at the people you know well - I bet it's almost always the case.
- ionforce 11y agoTo further emphasize your point, there are skill lines. Someone could be smart at X but stupid at Y. So unless you're trying to hire someone that's A-level at everything...
- vezzy-fnord 11y agoNot hiring hexadecimal constant engineers sounds like good advice, though I am unsure of what those entail. That said, I think the article itself is pretty uncontroversial. It's only inevitable that you will mainly find people who hit neither extreme.
- darkmighty 11y agoTheorem: E[X] = E[X] Proof: E[X] = E[X] <vigorous applause>
- entangld 11y agoIsn't this also called the "soft bigotry of low expectations."
- mahouse 11y agoBy reading the title, I thought it meant those people who use an Internet handle starting with "0x", which is really annoying.
- JackFr 11y agoI read it as "Don't Hire Hex Engineers"
- caoilte 11y agoThat makes a lot of sense. I read it as "Don't Hire ex Engineers" I was probably thinking of managers...
- Practicality 11y agoI am not familiar with this 0x, 10x nomenclature. What are they saying?
- JoeAltmaier 11y agoProductivity, versus some imaginary standard developer. 10x is ten times as productive per day. 0x is presumably useless.
- nowarninglabel 11y agoAlways love Zach's writing. Personally, with hiring and growing an engineering team I've found the key component is to just not hire anyone toxic. Beyond a certain size, teams have to have well-defined processes to function, and toxic people will rail against and subvert the process. I was actually thinking a lot about this the other day, and it's one of the big differences between say a 5 person engineering org and a 20+ person engineering org. In a 5 person org it may be super valuable to have an independently minded superstar who avoids process but gets things shipped fast while a larger org will actually turn that person toxic by imposing too many restrictions and process on them for them to follow their normal patterns. This is why I think there are some folks that are really good that just jump around from one early stage startup to the next, so they can be mostly free from the bureaucratic politics of large organizations. I wanted to think with the right culture that bureaucracy and politics can be avoided, but my experience has been that eventually these things will shape how your org works, and like Zach says, that's not a bad thing if that org is filled with average people, as long as the process is designed to help those people do the best job they can at large team scale.
- dba7dba 11y agoJust want to add that many like to ridicule bureaucratic politics of (large) organizations. But in a way, bureaucracy is needed when a organization gets bigger.
- Sammi 11y agoYou guys are framing a 10x as an entrepreneur in the EPAI model: http://www.adizes.com/management_styles/ http://www.adizes.com/management_styles/
- fsk 11y agoThe thing to really fear is the toxic hire, the /10 or /100 worker. He'll ruin your business while deflecting blame to others, driving away your best employees. Don't fear the mediocre worker, fear the toxic worker.
- karmajunkie 11y agoThe toxic worker is often the 10x worker. Its not enough to be good at what you do. You have to be someone other people can work with.
- ionforce 11y agoI'm going to disagree here, based on personal experience. I've not met a single individual whose contributions were so amazing to make up for their toxic personality. Most all of the toxic people I've worked with have had poor productivity, precisely as a function of their toxicity. Fractional (1/10) workers, at best. 10x workers, to me, are by definition non-toxic.
- karmajunkie 11y agoI mean, its totally fair that that's your experience. But I personally know at least three individuals who fit the archetype of the "10x(-ish) developer" and all of whom have toxic personalities I'd never work with. They may be able to code from scratch in a couple weeks what another team would take months to do, but in terms of the organization they are a loss, because no one can work with them. Certainly, there are developers who fit the mold of what you're talking about. I'm not suggesting that all toxic developers are 10xers. But the ones to really fear hiring are the ones who produce lots of code while they corrode your organization.
- ryandrake 11y ago> in terms of the organization they are a loss If that's true, then they are not "10x developers". Being super-productive, but only by yourself in a vacuum, is next to useless to any company with more than 1 employee.
- leap_ahead 11y agoThe way most companies conduct interviews is one sure way to never hire the best talent anyway, even if they actually wanted it. So they end up with mediocre people, those who have memorized all the right answers to standard questions. At the same time, these hiring practices push away the real talent who has better things to do with their time than to play the game. This talent is now sitting somewhere and building a startup of their own. Perhaps even a competitor of yours.
- ozim 11y agoOh no, I never got job for giving out memorized answers to standard questions. Those kind of interviews are not working for me, because I can give quick memorized answer when I am stressed. I was never angry on person asking in that way, only on myself that I fell easily into this trap. Worse part is that I know it and just after finishing phone call I realize fully that I was silly again. It is easiest way to weed someone out, quickly ask couple canned questions and if you got standard reply then you got your "not hire" mark.
- zemanel 11y agoAs someone that has been "actively seeking a new new role" in the last couple of months (not using the terms "job hunting" as not to confuse the recruiting police into thinking "easy 9 to 5 job"), i think i've covered quite a few of the recruiting methodologies around: * Codility (online timed) test. I like Codility and their tests; worse case can always learn a new trick and believe my skills (not my recruiting standard answers) would improve if i spent more time solving their problems, so -1 kudos here for me. Never faired better than a 40/50% result and companies that use it don't follow up with applicants that score less than 60% or more. * Hackerank (online timed) test. Not a good experience at all and separated this entry from the above, instead of just categorizing "online tests", just to express how crappy i felt it was. Weird and poorly described problems (written by the customer, unlike Codility, as far as i perceived, may be wrong). Small textbox in which to type the solution, without any kind of editor like feature (not even syntax highlighting) which you DO have to utilize all the time (no separate editor copy paste), since they do key logging on it, which they then allow the customer to view as video. Actually spent a large part of the minutes or so hacking that texbox (size) on Chrome Dev tools, which was actually the only interesting thing in the whole process :) Since the goal of a test is to demonstrate ones abilities and not have "fun" per se, -1 kudos for me here as well. Although, should also note that i was asked on a Friday (afternoon was it), to complete two of these assessments over the weekend, for a Monday noon interview, which ended up being cancelled 30m before since the company was not happy with the test results (nice one guys!). Sour butt and all, if a company feels entitled to "push around" an applicant like this, what should the applicant think about when it's on a payroll, to say the least. * The surprise timed sample project test. This was actually the process that irked me. Was asked to set a day and time in which i'd have 2h availability, for implementing a surprise task i'd be sent over e-mail and which i'd have to reply 2h after receiving the task with the result, by providing a github/bitbucket/etc url. Ok. After some persistence, managed to squeeze information in that i would have to implement a web page as to "behave a certain way". The test ended up being about implementing a small django project in which you'd be able to enter an URL in a form, press submit and information about the URL would be displayed (page title, word count, meta tags and other stuff). In the e-mail that contained the task, and only then, was i informed that in the case i did not implement the full solution in the couple of hours, i would have to deliver the full solution at a later date. Not gonna -1 kudo myself on this one, that's for sure. Felt like i was doing free work for a client that either didn't knew what it wanted or did not wanted to tell me :) though i can go as far as understand why they were behaving this way. * The sample project. Applied for a role in a company which the main language was new in my skillset (Ruby) and was tasked to do a small web app. They were aware of that. Bring it on, challenge accepted! Didn't implement all the features, but learned enough Ruby in one week to, in my opinion, demonstrate enough skills (as in "i know what i'm doing") on the frontend and backend (picked up some Sinatra, Sequel and took the opportunity to utilise Docker Composer in something useful). Ongoing recruitment process. * The talks. Was invited to the offices for informal chats where i was asked about previous experiences, tech related and test questions. Was told directly what the company was about and had chance to ask what the company is expecting from the role and did my best to pass on my previous experiences (and passion about the tech areas that related to the role). Ongoing recruitment process. All in all, even though i understand companies need to be able to, for example, put pressure on applicants so as to understand in a short period of time, how they would behave and perform and what their skillset is, i feel that there's some arrogance and irrealistic test methodologies around, but the truth is that if someone asked me the best way to asset a candidate, i wouldn't have an asnwer either. Personally, at the end of the day, i only want to improve my skills, solve real problems, get paid, not becoming better at interviewing. edit: fixed some typos, added extra sour butt comment :)
- edgarvaldes 11y ago>After about a minute of this we all just got bored. I'm sorry but, can't we all daydream for more than a minute? How can you get bored so fast?
- r00fus 11y agoOne person may not, but a group certainly can. You might have several candidates, each of whom at least someone doesn't like, and end up choosing one that everyone can "settle on". You could also be so desperate for growth that you hire someone with high hopes knowing full well it's a bigger risk that you'd want to take if you had more time to choose properly.
- techbunator 11y agoOur typical filter question is: "are you happy to use PHP, C++, Mongo, Java?" Not that we have those in our stack yet, but it quickly weeds out those that sneer at any or all of that list. Let them destroy someone else's startup with their wanky tech attitude. We are more interested in problem solvers. The best answer we had was from employee # 2 - "if it gets shit done, and we ship, sure, why not?".
- Dewie3 11y ago> The best answer we had was from employee # 2 - "if it gets shit done, and we ship, sure, why not?". He knows how to play the game.
- TillE 11y agoIndeed. It's probably not optimal to ask questions where the interviewee can easily guess what you want to hear.
- kinghajj 11y agoWhy do they need to be 'happy' about it, though? I'd be willing to use any of those, but I wouldn't enjoy working with them as much as I would with others. Does that mean I have a "wanky" attitude and immediately disqualify me?
- ozim 11y agoThis one is good question. Why do all hiring people want you to be UBER happy to work for them and if you are not extremely aroused when you think about their company name they will not want to hire you. I can be super happy to work for company after year or so when I get to know how it is to work there. Before that I can be interested or looking forward to get to know how it is working for them.
- Dewie3 11y agoYes, some employees' obsession with people having to love their jobs is so weird. I can't imagine someone looking at a job description and exclaiming "wow, I love this!". Maybe after a year, though. When they actually know what they're supposed to do, and are invested in the work on some level.
- pavlov 11y agoThe post makes a very solid point: "Quality of individuals is only one part of what makes an organization great. Sports is rife with examples of the nimble, well-connected team triumphing over the team of individual superstars." However the author doesn't really expand on this theme. How does a startup that's not obsessed with hiring "A-level rock stars" groom its people to mesh them into a great organization, a well-connected team? This is not elaborated. The conclusion of the post is: "Sometimes people just want a greasy burger"... Which does not conjure up images of a team that is greater than the sum of its parts, unless McDonalds somehow qualifies :)
- aout 11y agoI agree with you but I think the point pretty much explains itself. Team play and willingness to produce the best your customer wants (and not the 3-star best) is exponentially efficient when you start to grow a team. However I wouldn't say the same things when it comes to the first version of your core team. Every "10x" developer can work with 3 people but are they still "10x-effective" (do they even exist?...) when incorporated in an existing 5/6/7 people team? I don't believe so.
- Dewie3 11y ago> It turns out, it’s much easier to focus on avoiding pain than it is to envision pleasure. You just have a one-dimensional imagination. Don't want to shoot heroin up your veins forever, or have an infinite orgy? Just imagine playing paintball or walking on the beach, the cool sand running through your toes... or whatever. The mind is your oyster. I'm sure if you were in Heaven, you wouldn't be worrying about making every moment the most exquisite you have ever experienced. It's not a competition; just chill out. You're in Heaven. Or day dreaming, same difference.
- carapace 11y agoSo strange to me that this comment is getting downvotes. How is this the only comment in 100+ to mention the incredible and bizarre fact that a class full of people could imagine hell but not Heaven?
- inestyne 11y agoI've seen brilliant people who can't deliver and mediocre players that get shit done day in and day out. Software is built upon hard work and compromise; it's more of a contact sport than it is a craft. Despite what people with little or no real world experience would have you believe. There are people who would rather look good then play well, and then there are true ballers who never even thought about anything but winning the game by any means necessary.
- marktangotango 11y agoAwesome imagery, you've expressed something I've been circling for a while.
- cargo8 11y agoI understand your sentiment, the reason that this is such a stigma in the industry is because if you do have the ever-elusive, ever-exclusive, high performing team - a single person who doesn't fit in (not saying in what aspect, could be culture, skill, collaboration, communication, etc) will ruin the entire team and the team's momentum.
- Tloewald 11y agoI find there are no 0x engineers. What there are is -3x engineers.
- euphoria83 11y agoI couldn't understand the point of the article. No one will consciously pick a candidate they feel will perform badly.
- pandler 11y agoI think the point of the article is that what you described is reality and the "We only hire the best" is the illusion.
- euphoria83 11y agoThat definitely was a good thing. Sometimes, an obvious thing doesn't become obvious unless it is pointed out. Yup, it makes total sense. Every company claims to hire and be filled with rockstars. That's statistically impossible. I guess, 90% of the companies are stating what they wish for, but know that ain't true.
- x0054 11y agoPerhaps it's also important to recognize that sometime someone who is the second best, or even just "good" at something, rather than "the best," might actually be a better person for your company. Having worked with people who are at the pinnacle of their field I have noticed 2 trends: 1. Such people tend to be very good at what they do, and largely bad at most other, even related, fields. This is not one of those tired stereotypes of a genius who is bad at social skills. There is a good explanation for this: someone who managed to become one of the best in their field, probably did so through concentration of their knowledge in that field, to the exclusion of others. 2. People who are the best of the best can sometimes overspecialize. You know the old saying, to a hammer, every problem is a nail. In a small company with a few employees you can not afford to have such a person unless their field of expertise IS the domain within which lies the problem you are trying to solve, and even then, you should be careful. In a large company, you can have more specialists, but be careful as well. It is also important to realize, as the author of the article pointed out, sometimes good enough will do. You do not need the best iOS dev or the best JS person if all they are doing is creating a front end for you new revolutionary AI engine. You probably want to go for the best AI person you can find, however.
- beat 11y agoMy mother says a specialist is someone who knows more and more about less and less until they know absolutely everything about nothing. Likewise, a generalist knows less and less about more and more until they know absolutely nothing about everything. This applies to looking for "top experts", and also to "full stack developers".
- e12e 11y agoThis is true in a useful sense. The more you know (about anything worth knowing) -- the more you realize you've yet to learn. The more holes and short-cuts you're (painfully) aware of in tools and libraries everyone use every day, to get stuff done. To be aware of how artefacts are made, is to be afraid. Be that artefact sausages or firewalls. The trick is to then learn enough to know which sausage to eat: or at least find a level of acceptance that lets you enjoy the stuff that tastes good, even when you know how it's made. And after lunch, maybe you'll serve a json rest api with php.
- FLUX-YOU 11y agoThis is related to the 10x debate, but kind of tangential to this post: If you are actually 10x and super-duper smart, you're probably undervalued as an employee at any company. For example, companies have actively colluded to lower rates, so you are fighting to be on top of a sinking ship. Although salaries are probably still rising, you should really be a consultant if you actually want to get paid what you're worth. [0] If your 10x comes from natural talent and work ethic, you should seriously consider moving to security (app, embedded, web, whatever) to help prevent governments from robbing the interwebs of privacy and security. [1] I'm blatantly arguing for 10x people to strive for a 'higher calling' and to get out of line-of-business software development if they are actually this person. In all likelihood, you will probably be better compensated as a consultant in this side of the software field anyway. I do realize there are other noble pursuits outside of security, so good on you if you're chasing that already. [0] http://www.kalzumeus.com/2015/05/01/talking-about-money/ http://www.kalzumeus.com/2015/05/01/talking-about-money/ [1] http://en.wikipedia.org/wiki/Edward_Snowden http://en.wikipedia.org/wiki/Edward_Snowden etc
- lifeisstillgood 11y agoOnce you have started a business, built a product, found a way to market to profitable customers and now need to hire an employee, I say 80% of the "I need 10x people" part is over. Founding a company is hard - so hard I fucked it up. You need to be 10x. Then you can hire who you like.
- MCRed 11y agoC Players think that they are A Players and believe in only hiring A players. This has been my experience for the past 30+ years. I've worked with people much better than me and much worse than me, and hired many people for startups over that time. It is a good idea that if you find someone who is smarter than you, then you probably should hire them. But the whole "we're looking for A players only" crap is the mantra of mediocre companies and in my experience has resulted in really messed up hiring practices (Eg: Amazon passed on someone I know (because I worked with him) was smarter and better at programming than I am... while hiring me. Not that I'm bad.) The basic root of the problem is, if you think you're an A player then you think you're at the top of the heap. This means you're not actually aware of people enough to know the people who are stronger than you... which means you can't hire people stronger than you. Also, I've seen really good people be mismanaged to the point where they aren't really contributing what they should. The difference between an A player and a C player is sometimes really silly stuff- like not giving them an office or otherwise constantly interrupting them, or refusing to give them specs, etc. This pursuit of the best of the best also sends you down rabbit holes of looking for college graduates (only) who come from ivy league schools. There are a lot of people coming out of the Stanford CS department, I believe, that I would not hire. (Can't say for sure, because I'm not in California) But the skills of producing great grades at Stanford are not the same skills that produce great software at a startup. Not that Stanford students are bad, bu that it's not really a metric for success. However, the "over achiever" "type-A" "A player" types tend to think it is, the conflate conformance in the pursuit of success with quality, and that's not accurate. Yes, you need hard work to graduate from stanford, that's true, and that's a key element. But you also need innovation and critical thinking, and unfortunately, colleges these days actually undermine that. Generally, anyway, I'm not saying all college graduates are mindless sheep. Just that people who are more independant thinkers are less likely to go to college. Or less likely to have gotten a CS degree. (I was studying physics for instance.)
- overgard 11y agoI think the problem with the concept of the 10x coder is that it assumes "10x" is an attribute of the person, rather than a complex interaction with the environment. It's sort of like when they say about an athlete "he just wins". Well it could he just wins on that team because that team is a really good match for his skills, and the coaches did a good job, etc. You could also say "he just wins" because he has a knack for finding situations he will excel in compared to ones he wouldn't. That doesn't mean it doesn't take some special sauce to be a 10x developer, but my observation is most of the things that 10x developers do are teachable. For instance, they almost always are concerned with removing small inefficiencies from their work (learning keyboard shortcuts, using better tools, asking a lot of questions, etc.), and when they do find they're in a situation where the environment tends to pull people down to the mean, they usually move on quickly. This is just my opinion, I'm not a manager, but if I were a manager I think I would be more concerned with how to "coach up" talent more than finding a unicorn.
- GuiA 11y agoThat insight alone would make you a better manager than 90% of the ones out there.
- lazerwalker 11y agoI once heard a great quote to the effect that there are no 10x coders, just 10x codebases.
- wting 11y agoSimilar to Conway's Law: > Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations. — M. Conway
- mikekchar 11y agoFor the last 2 years I was acting as the coach of a team in this way. I've now moved to a remote location and can't really coach effectively any more, so I'm mostly just lending horsepower to the cause at the moment. In case you are interested, I'll give a little bit of background: I've got 20-25 years as a developer (kind of lost count) and had spent 5 years teaching English immediately prior to doing this coaching role. I also have experience as an XP coach on several teams, but on those teams I had much more focus on process improvement, than on skills improvement. When I started at this position, money was very, very tight. While we had managed to get and retain some good people due to a variety of factors including luck, there was no realistic way for us to be able to afford to go after and hire the top people in the industry. So our strategy was to train the people we had and help them develop whatever potential they had. I think it was quite a risk for the management team to hire me because they had to believe enough in the staff that the cost of my salary would be compensated by the improved performance of the team. Not many management teams trust their staff to this degree (it is one of the best things about working on this team). There are a few observations which I will make. First, it's a really, really difficult job :-). Even though I have probably more relevant experience doing this kind of thing than most people in the industry, it stretched me pretty far. Had I not been very motivated from the start to do it, there are probably many times I would have just given up. I will speak of some of the difficulties a bit later on. By and large, I would say that we were successful. One measurable result is that we had very little attrition during that period. I think the fear many companies have is that if you spend money training people that they will just leave for a better paying job. It is a reasonable fear and you do have to be careful to track the development of people and to try to offer salary improvements as their skills grow. I think it is fair to say that we were not always successful in this aspect (due to very real constraints on our budget at the time), but that people valued the personal growth aspect of the job enough to decide to stay anyway. In many cases, I think as a coach your role is not so much to tell people how to do their job better, but simply show them where they are not performing well. The thing about programmers is that they are both intelligent and also problem solvers. Even if the person is not functioning at the top of their game, I think this generally holds true, at least compared to the general population. I found what worked best was to try to formulate the problem in terms that the person could understand and then encourage them to find their own solution. Of course you have to give tips and guidance from time to time, but most programmers can improve themselves quite a lot simply if you show them what is lacking. Of course this is not always easy. I'm just going to have to be blunt. Not everybody wants to improve. It is a testament to the team that I barely ever had to deal with this, but I think it is a real possibility in general. What I did have to deal with is the problem that sometimes people don't want to improve right now. Sometimes their life is full and they just don't have the capacity. This is really, really difficult because you have to wait until they are ready, never really knowing if they will ever be ready. This is pretty stressful for the coach. The other main problem that is difficult is when the person you are coaching simply doesn't believe that what they are currently doing is sub-optimal. In fact, they may think exactly the opposite -- that what they are doing is amazing and that everybody else is crap for not doing it. To some extent, this happens to everybody. The kicker is that it happens to me (the coach) too. So you often find yourself in some pretty intractable situations where you are pretty sure that you are right, but then so is the other person. You are paid to coach them, but if you get it wrong... you could potentially do a lot of damage. So the main thing here is that you need to be pretty flexible in allowing people to examine their ideas. Even if you know you are right and the other person is wrong, once you have broached the subject you have to let them find their own way. It can be extremely painful as you watch the person make the same mistakes over and over again until -- finally they get it. At some point you have to trust that the person will get it, while doing your best to do damage control for the mistakes they make while they are learning. If you have read this far, you may have noticed me use the word "trust" a lot. I think this is the most important part of doing a role like this. If you think the people on your team are crap and can't be trusted to improve, then I think the job will be impossible. If you can believe that no matter what situation you are in today, the person/team will blossom then the job is (barely) possible ;-) How you get that belief in the first place and how you maintain the belief and trust over a long period of time will largely dictate the level to which you can succeed as a coach, I think. If you ever get a chance to do this role, I highly recommend it, but you need to be prepared to do a lot of sole searching.
- ryan-allen 11y agoWhile a business may seek to hire a 99 percentile or even a 90 percentile, keeping them under your thumb and doing what you want, and keeping them on your side is a whole other kettle of fish. 90+ percentiles have a lot of opportunity and mobility. Why would they want to work on your VC funded cat comparison platform?
- cgabios 11y agoGreat article. As an aside: Michelin Red guides are like Yelp, but Francophile-centric, uses dedicated reviewers instead of crowdsourcing and without the extortion. The issue with Michelin is that places outside France aren't rated very often (6 months to 2 years). And like a newspaper, the physical Red guides get outdated as soon as they're printed. Most people are better off with Yelp, especially if they can determine whether an establishment pays the Yelp "tax" or not. Speaking of which, a great personal project would be an invite-only, private Yelp scraper that doesn't play by the "tax" ranking rules (don't get busted by keeping it anonymous, obviously).
- ryandrake 11y agoThe way I see it is a little different: Take how much value you add to the business and subtract your compensation. You're either above zero, around zero, or below zero. In other words, you're either adding lots of value, adding very little value, or subtracting value. All this hand-wringing about whether so-and-so is a 2X or 4X engineer is unnecessary--the vast, vast majority of people you'll work are not even above zero so it's kind of pointless. This has pretty much been true in most places I've worked. You'll have a handful of people who are actively destroying value by just being there. These people will make your project later and buggier if you even give them commit access. They're the toxic personalities who, although nominally might be helping to improve whatever they're working on, are causing better people to leave or be less productive because of their personality or attitude. These people must go. I haven't worked with too many, but you can spot them pretty quickly, usually the first time they open their mouth. Then, you'll have the folks who just clock in and do something every day, but they're not really adding or subtracting value--they may as well be furniture. This will be, by far, the vast majority of people you work with throughout your career. They're sorta competent, probably really nice people, but at the end of the day not exactly fueling the engine of whatever the company is trying to do. Depends on the company to a certain extent, but you'll generally see them everywhere. It's many of the people you currently work with. It might even be you, too. It's not really good or bad to have these folks around, they'll work on a project and you'll break even on it or maybe even meet some internal rate of return. There's really no reason to actively not look for this group. Finally, there are the people who are net value-adds. Some people call them rockstars or unicorns or whatever. Whether they're 2X or 3X or 5X doesn't really matter--they're NX where "N" is a positive number, and that means they create more value than you pay them. When companies say they're looking for the top-5% or top-1% developer, they're really looking for anyone in this group (given the company's salary range), regardless of their particular "N" value. You'll encounter a number of these people in most companies. Some companies have more than others. Someone can go from one group to the other either by getting better/worse at their jobs, getting a better or worse role fit, or taking less or more salary. Top talent at one company might be "furniture" at another one simply because they make more there--more than the value they can add. The people you really want to actively avoid hiring are the net negatives.
- 11y ago
- seahorse 11y agoI doubt Zach himself agrees with his article's title. Because the title isn't his point. His point is, and I quote: "What I think is bad is that there’s so much pride and focus on The Best of the Best of the Best, With Honors." Which doesn't conflict with 10x. If 95% of the world's best software is written by the top 5% of programmers, the programmer who isn't in the top 1% and barely made the cut at the top 5% is still exceptional. It's true companies seek pain avoidance rather than pleasure seeking behavior. But pain avoidance also gets you Windows instead of Linux or Mac. If the question Zach is asking is: "is there such a thing as a 10x engineer?" the answer is yes. The story from philosophy class was educational though.
- peterburkimsher 11y agoThe headline made me expect hexadecimal codes for classifying engineers. Read the article, disappointed. 0x48 0x65 0x6C 0x6C 0x6F 0x57 0x6F 0x72 0x6C 0x64.
- PopeOfNope 11y agoAm I alone in thinking that the entire conversation around hiring A players is one big inside joke played on us programmers? What do we get out of dredging this particular argument up again and again and again? It's like vim vs emacs. Not only is arguing about it pointless, even if you were to come to a consensus about it, what would it matter? I apologize if this seems overly negative, but it really does seem like programmers reach for any opportunity to be viciously divisive.