Live data from Hacker News

Steve Jobs on Average vs Best Software Developers

benlakey.com

111–120 of 130 posts

Re: Steve Jobs on Average vs Best Software Developers

#111

Earlier quoted context omitted.

The hard problems in software are not adding features or coming up with crafty efficient solutions. That is actually quite easy and I am constantly surprised how mediocre to poor developers can consistently come up with workable solutions. The hard problem in software is writing code others can use. Everyone can write a solution that makes sense to themselves. Few can write one that makes sense to other developers. P…

I don't think he (or steve) is wrong at all: a large part of the 50x comes from the fact that a smart individual can avoid the need for team work. Although writing software in a way such that others can use it is certainly important, the network effect is the prevalent mechanism at work here (3 programmers need 3 times as much communication as 2 programmers; 4 programmers need 6 times as much communication; etc)

That's a good point that I missed. He even talks in the interview about small teams of A players.

Re: Steve Jobs on Average vs Best Software Developers

#112
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…

It's experience and a drive to self-improvement. I look at code I wrote even one year ago and wretch at it, itch to clean it up.

Re: Steve Jobs on Average vs Best Software Developers

#113
post #109

I normally don't participate in these threads, but I watched the interview yesterday and I think Steve Jobs did a masterful job of explaining this phenomenon and it is getting lost in this conversation. Fundamentally, and he talks about this, computer programming is a way of encapsulating _your thinking_ in code. You are transferring your thought processes into computer code. A computer program is, quite logically, a…

I want to agree with you and with Steve. But when Steve says things like this "if you go to New York City and get an average taxi cab driver versus the best taxi cab driver, you’ll probably get to your destination with the best taxi driver 30% faster. And an automobile; What’s the difference between the average car and the best? Maybe 20% ? The best CD player versus the average CD player? Maybe 20%" I mean where is t…

I think he's trying to use numbers to illustrate his point, but he's not declaring anything empirical. When asking “Maybe 20%?” the implication is it is at most 20% better, but certainly not 50% and never 100% better.

Re: Steve Jobs on Average vs Best Software Developers

#114
post #37
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…

I believe that the top trait in A players is the same as in the top founders, which is determination [1]. That determination often manifests itself as the desire to understand how something really works, rather than glossing over the details, the drive to learn a new language well enough to use it to implement ideas, to take on the learning curve for a new tool or system, to automate something, or to test their code…

That's not developers, that's life. Determination is the top predictor of success in... anything. It would even be a tautological statement if we couldn't look at others and predict determination levels before the success happens.

Re: Steve Jobs on Average vs Best Software Developers

#115

Earlier quoted context omitted.

Fake it 'til you make it. Throw yourself at problems that you think are over your head. If you care and you want to do good work you'll figure out a way to get something done. Especially if you have a good mentor or someone that can guide you to answers to hard questions or take you under their wing. Learn to effectively communicate and then communicate with your peers. You'll never know what you don't know unless yo…

Are you sure "fake it til you make it" is the correct term for this idea? I'm familiar with the term, but usually in a different context. Regardless, you're spot on. My silly anecdote: Back in university I used to play pick-up two's volleyball a couple nights a week. At the other end of that same gym, the school team would practice, occasionally overlapping with the pick-up folks. One day, their practice broke up aro…

Believe in the you who believes in yourself. That's the accurate way of phrasing it.

Re: Steve Jobs on Average vs Best Software Developers

#116

Earlier quoted context omitted.

The hard problems in software are not adding features or coming up with crafty efficient solutions. That is actually quite easy and I am constantly surprised how mediocre to poor developers can consistently come up with workable solutions. The hard problem in software is writing code others can use. Everyone can write a solution that makes sense to themselves. Few can write one that makes sense to other developers. P…

I disagree... the highest-value problems are often VERY hard. Think of things like natural language recognition, predictive analytics, statistical analysis, and so on. Things that seem like magic to the end user, that they've never seen before, are very hard before they're abstracted into something that B/C players can re-use. Woz, for example, worked some magic and packaged a computer circuit board into something th…

Absolutely, but also bear in mind Next and Apple worked on some of the hardest problems in the industry. OS kernel design, languages and compilers, development frameworks. Now you can be an ace developer, absolutely A-grade, and be working on a web app in PHP but maybe in that case your leverage over an average dev might be say 10x. Whereas if the problem domain you're working on is something really critical like kernel scheduler design then an A-player might come up with a solution an average dev might never come up with. Not in 100x as long or even 1000x as long.

Re: Steve Jobs on Average vs Best Software Developers

#117

Earlier quoted context omitted.

The hard problems in software are not adding features or coming up with crafty efficient solutions. That is actually quite easy and I am constantly surprised how mediocre to poor developers can consistently come up with workable solutions. The hard problem in software is writing code others can use. Everyone can write a solution that makes sense to themselves. Few can write one that makes sense to other developers. P…

I disagree... the highest-value problems are often VERY hard. Think of things like natural language recognition, predictive analytics, statistical analysis, and so on. Things that seem like magic to the end user, that they've never seen before, are very hard before they're abstracted into something that B/C players can re-use. Woz, for example, worked some magic and packaged a computer circuit board into something th…

I feel like we are discussing this from very different perspectives. You raise hard computer science problems and a Woz example that is hardware related. The article was about software, not people who push the envelope of what is possible with computers.

If you are tackling problems like natural language recognition you don't need a superstar programmer. You need someone with a background in Computational linguistics.

Assuming we are discussing software. Hard computer science problems are, unfortunately, very infrequently brought up in a business setting. The biggest challenge in software is building the right thing. Change is inevitable and solutions are often large. This means you need to have teams of people working together building solutions that are very malleable.

Here is another way to consider it from my perspective. The article is about teams of 'A' players. I am guessing Linus meets your criteria, but you don't hire Linus. You don't have teams of Linus'. Linus is something else...

Re: Steve Jobs on Average vs Best Software Developers

#118

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.

I think that was one of the design goals of Java. (seriously)

Re: Steve Jobs on Average vs Best Software Developers

#119
post #37
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…

I believe that the top trait in A players is the same as in the top founders, which is determination [1]. That determination often manifests itself as the desire to understand how something really works, rather than glossing over the details, the drive to learn a new language well enough to use it to implement ideas, to take on the learning curve for a new tool or system, to automate something, or to test their code…

I don't really think determination is the magic ingredient. Personally I think the process of writing software is very similar to writing a song. (is anybody here also a songwriter)? Because if you try to write a song before you're ready, it just doesn't work no matter how hard you try, but once the idea has fully formed inside your head, it's as if the song writes itself, i think software is the same way. i remember hearing jobs talk about how a lot of the A players would also write poetry.

when i think of A players i always think of the musician who is able to improvise with another A musician instinctively, without needed time to rehearse. A players are able to communicate faster with each other than with B or C players. a so-called "A" player who has a big ego and can't play with others isn't actually an A player, but has managed to convince others (and himself) that he is.

seriously, if you want to become a better hacker, learn how to write a song, it's pure creation (or try painting, but songwriting is more creative imo)

Re: Steve Jobs on Average vs Best Software Developers

#120

Earlier quoted context omitted.

Fake it 'til you make it. Throw yourself at problems that you think are over your head. If you care and you want to do good work you'll figure out a way to get something done. Especially if you have a good mentor or someone that can guide you to answers to hard questions or take you under their wing. Learn to effectively communicate and then communicate with your peers. You'll never know what you don't know unless yo…

Are you sure "fake it til you make it" is the correct term for this idea? I'm familiar with the term, but usually in a different context. Regardless, you're spot on. My silly anecdote: Back in university I used to play pick-up two's volleyball a couple nights a week. At the other end of that same gym, the school team would practice, occasionally overlapping with the pick-up folks. One day, their practice broke up aro…

That's a great story Jason. Thanks for sharing. I think this is precisely what happens in software development.
Post reply on HN