Live data from Hacker News

Steve Jobs on Average vs Best Software Developers

benlakey.com

51–60 of 130 posts

Re: Steve Jobs on Average vs Best Software Developers

#51

I think there is a lot of talk about hiring an "A" developer, but almost nothing on what makes an A developer an A developer. More likely than not, it a continuum, and that a lot of engineers have the potential to be an A, but don't end up getting there due to one reason or another. It would be great to see some discussion on what environment could one provide that would enable A players to thrive and reach their pot…

It would be great to see some discussion on what environment could one provide that would enable A players to thrive and reach their potential. Pay them enough, give them an interesting problem, and lock them in a room with a bunch of other A players

Pay is actually quite low on the list of things that a great developer will value when choosing where to work. And I think it's dangerous to just lock the A players in a room amongst themselves; they need to communicate closely with others in the organization, otherwise the value they try and add might be missing the target.

Re: Steve Jobs on Average vs Best Software Developers

#52
post #27

We hear this a lot and somehow feel it's true but there are no reliable metrics and little verifiable data so ultimately it's just talk.

I agree. The more that this sentiment gets institutionalized the less value it has. Statements without a clear counterargument are always bothersome. Would someone like to make the argument for hiring B developers to build a great product? Jobs is great, but this is exactly the kind of quoting that I find really boring and annoying. As a side note, it looks like that video is also available on YouTube: http://www.you…

Would someone like to make the argument for hiring B developers to build a great product?

Are you offering that as a poor example of a counterargument? Because I think it's countering the wrong argument here. His point is not to hire A players because A players make great products.

His point is that A players in software development are unexpectedly significantly better than average players, when comparing to A players and average players in other industries. As such, anyone who is able to attract and work with A players in software development get an inordinate advantage over the competition.

I think the key word that defines his intentions is inordinate. If you can't work with A players, you may have already lost.

Re: Steve Jobs on Average vs Best Software Developers

#53

So what do B and C developers do? Not everyone can be in the A tier. Wouldn't a better strategy for society be to focus on extracting maximum value and output from people of all capabilities? Just pay less capable people less, and give them smaller responsibilities.

You're implying that what's being discussed is a zero sum problem. We're simply saying that 'A' players work best with 'A' players, and if you fight for that in your organization then you'll do great things. 'B' and 'C' players will still exist, absolutely, but you'd do well to avoid them when possible.

Re: Steve Jobs on Average vs Best Software Developers

#54

His response reminds me a lot of what I have read in Valve's employee handbook ( http://newcdn.flamehaus.com/Valve_Handbook_LowRes.pdf ) in regards to their developer culture. By what I understand, Valve has established a self policing system in which every employee has complete autonomy over what they decide to work on or contribute to. Gabe Newell is emphatic about the flat hierarchy of Valve and its peer-review sy…

This is also how GitHub operates, but it's only viable if you have 100% 'A' players.

Re: Steve Jobs on Average vs Best Software Developers

#55

Earlier quoted context omitted.

It would be great to see some discussion on what environment could one provide that would enable A players to thrive and reach their potential. Pay them enough, give them an interesting problem, and lock them in a room with a bunch of other A players

Pay is actually quite low on the list of things that a great developer will value when choosing where to work. And I think it's dangerous to just lock the A players in a room amongst themselves; they need to communicate closely with others in the organization, otherwise the value they try and add might be missing the target.

That's why I said "enough", not "a lot". Everybody has to eat food, have a place to sleep, etc.

I know, I was being somewhat facetious. More what I mean is, put them in a tight-knit group, and you are right- it is very important they interact with the rest of the organization too.

Re: Steve Jobs on Average vs Best Software Developers

#56

Earlier quoted context omitted.

A designer would probably be a bit more consistent with the vertical grid. For instance, the margins are inconsistent with the line height etc.

I kid, a baseline grid is the least of his worries.

I'm most definitely not a designer. :-) If you're interested, it's just the 'Responsive' wordpress theme. http://wordpress.org/extend/themes/responsive

Re: Steve Jobs on Average vs Best Software Developers

#57

So what do B and C developers do? Not everyone can be in the A tier. Wouldn't a better strategy for society be to focus on extracting maximum value and output from people of all capabilities? Just pay less capable people less, and give them smaller responsibilities.

You're implying that what's being discussed is a zero sum problem. We're simply saying that 'A' players work best with 'A' players, and if you fight for that in your organization then you'll do great things. 'B' and 'C' players will still exist, absolutely, but you'd do well to avoid them when possible.

I think theoretically we cannot achieve a state where all players are A. If that happens, our standards would be raised so that there will be a new class of B and C players that used to be A players. The only way for everyone to be A is for everyone to be the same, and in that scenario the classifiers would be meaningless.

This all of course assumes that all humans are created with the same innate potentials, which is definitely not true.

We can encourage everyone to do their best, but you'll get problems if you push people beyond their natural abilities for example by giving a C player the responsibilities and expectations of an A player, which is what I think you're suggesting.

A "B" or "C" player can still be a hard worker, even if she's less capable. I'm not sure why it's necessary to avoid them. Apple still needs janitors, sales people, and other lower salary jobs. I think it applies to their engineering staff as well. Obviously down to a certain level of "C"-ness they probably shouldn't even be an engineer.

Re: Steve Jobs on Average vs Best Software Developers

#58
Apple has shown through the software and APIs I've used that they aren't all 'A's. This is just Jobs having spewed his normal visionary talk. It makes for great conversation and something that is nice to consider, and having a goal of hiring someone great is awesome. There is nothing wrong with continuing to utilize his vision to promote good of some sort.

But, I have enough experience to know that there are no 'A' developers that stay that way. People burn out, lose drive, get kids, get sleep apnea, go though a mid-life crisis, and get tired. So, unless you are firing the old 'A's, they will be 'B's then 'C's, etc.

Also, hiring 'A's is incredibly difficult. If you don't have an 'A' company, 'A' benefits, an 'A' location or offer full-time telecommuting, 'A' tools, and 'A' staff working on 'A' products/projects, then if you think you got an 'A', you probably didn't. And you can be 'C' and hire an 'A' and that 'A', if he or she stays, will atrophy and become a 'B', 'C', or worse. 'A's need to be motivated by their work just like anyone else. Jony Ives said recently that what he is working on now is what he is most proud of. He didn't say that because he is an 'A', and because he is inherently motivated on his own and could do that for a 'C' company. For a 'C' company, his work might have been shit and he might have been likely to piss on his designs, because of the bureaucracy and other crap he would've had to have put up with daily.

The point I'm getting at is that you need to hire someone that is a good fit for the work, the hours, the environment, who genuinely likes it and loves what they do and doesn't just have a crush on some ideal in their head about your company. This person can rise the the job you give them, they don't have to be an 'A'. And hire what you need. Don't hire young because they are cheap and expendable if you need experienced and well-networked people, and don't hire someone with loads of experience if you can get an entry/junior/mid-level to do the same job and be more motivated, even if they make more mistakes. The best thing that you can do is to spend a lot of time coming up with a good process to hire. Also, do NOT and I really mean do NOT just get some basic programming test off the net and then use that as the interview, and do NOT totally make the candidate feel like an idiot. Both will make people remember your company as "those idiots/bastards who...", which you don't want. Case in point is Google- their interviews were so hard, people didn't even attempt to interview there after hearing about them. That is not good.

Re: Steve Jobs on Average vs Best Software Developers

#59
The most important thing when trying to become an 'A' player in anything is to always ensure you're engaging in deliberate practice. The simple truth is that a very large majority of people switch to auto-pilot or stay within their comfort zone as soon as they become proficient at something. It's easy to think that the existing 'A' players were just born that way, when in fact they probably spent thousands of hours in deliberate practice. It's very hard to find an exception to this.

So if you do want to become an 'A' player:

- Figure out a way to always be deliberately practicing.

- Always be aware of whether you're doing something because you've always done it, or whether because it actually is the best way.

- Be around other 'A' players and learn from them.

- Continually stretch beyond your comfort/"knowledge" zone.

- Continually learn new things.

-----

Some reading material on the topic:

Bounce by Matthew Syed

Talent is Overrated by Geoff Colvin

Re: Steve Jobs on Average vs Best Software Developers

#60
post #13

A bit of a meta question: As someone who feels like a 'B' or even 'C' at times, what would it take to become an 'A' player? Is it predicated on pure talent alone, hard work, or experience? Even though I know I'm still a junior developer (~1 yr exp), I feel hopeless at times that I'll never approach being 'A' status especially knowing that I have many peers my age that are already far and away better than me. How woul…

Look for a book called Topgrading, it's a methodology and defines A,B and C players.

Roughly from memory: A's are smart, get things done. The important thing is: An A player in one role may not be an A player in another role. If you put your best programmer at your retail store, you're probably going to have a bad time.

How do you overcome it? Find your passion, make sure you work with others that are A players (one trademark of A players is that they gravitate together), work on your skills and study peripheral ideas that could be implemented. If you're doing the above then youre probably an A player, if youre on Facebook half the day or complaining that someone didnt refill the coffee pot then you're probably not an A player in the role that you are in and you need to decide to train up or move somewhere where you can be an A player.

Post reply on HN