
The programming talent myth - edward
https://lwn.net/Articles/641779/
======
yummyfajitas
I see a lot of articles claiming that programming talent is a myth. Yet none
cite a source or back up this claim.

The closest they get is arguing by consequence against it - if it were true,
people might be discouraged. That's a logical fallacy since some things can be
both true and discouraging.

This article is even worse. It drops this paragraph in: _The tech industry is
rife with sexism, racism, homophobia, and discrimination...This is the "10x
programmer" who is so good at his job that people have to work with him even
though his behavior is toxic._

Arguing by juxtuposition, it's suggested that a belief in talent will somehow
harm diversity. But that makes no sense - if talent is so important that we
are forced to work with "toxic" 10x programmers, why aren't we also forced to
work with black female 10x programmers no matter how much we might dislike
them?

~~~
cmdkeen
Except 10x programmers, if they exist don't just emerge fully formed into the
world, they engage with some community somewhere to learn part of their
skills. That community might be an online forum, a company, a tech meetup,
university course etc.

If a hypothetical black female potential 10x programmer finds the first
community is unwelcoming then she is less likely to stick around and thus
become a 10x programmer.

There are plenty of previous articles on here from individuals who are "tech
minorities" about the environment that we unconsciously create which isn't
that welcoming to them. From assumptions about where and how we want to
socialise, to dress codes, working hours, employee benefits etc.

~~~
yummyfajitas
Lets distinguish two separate concepts:

Unwelcoming: the community dislikes a person and behaves badly towards them.
As an example, a recruiter told me not to bother with Warby Parker or Etsy
since I'm not a hipster and they'll just reject me. (No idea if this is true,
might just be #shitrecruiterssay.)

Not my thing: a person dislikes the community, it's norms and culture, and
avoids it. E.g., I don't like banking culture.

You seem to be suggesting that "tech minorities" feel that tech culture is
"not my thing" \- we socialize and dress in a manner they dislike, work hours
incompatible with their preferred lifestyle, and don't give out the right
employee benefit package. As a result, "tech minorities" don't put in the
effort and don't build the relationships that would help them become 10x
programmers. I get the impression you consider this a problem, but it's
unclear to me why that is.

How you get from this to the idea that 10x programmers or programming talent
are a myth is not something I could figure out from your post.

~~~
joesmo
I think what he's suggesting is that minorities find our community
unwelcoming, and by unwelcoming they're probably referring to the racism and
sexism that's rampant in the tech community. Unlike you, they're not worried
about being turned away from a job for not being a hipster, they're worried
about being turned away from a job for being black or a woman. Or, worse,
they're worried about the abuse and disrespect they will undoubtedly get while
working in tech.

~~~
yummyfajitas
Cmdkeen explicitly refers to dress codes, benefits packages and socialization
patterns, not abuse, disrespect and racism.

People constantly talk about racism and sexism being "rampant", but evidence
of this would be helpful. Citing statistical disparities is insufficient
since, as cmdkeen notes, this could also be caused by "tech minorities"
disliking the culture of tech rather than techies disliking them.

~~~
capitalsigma
In some (very loose) sense, those two things are the same thing. It's not that
these people say to themselves "man, I hate how I can't wear X shirt to work,
better quit" but rather "the culture here (dress code, socialization patterns,
etc) seems to default to white, and people view me as an outsider." I think
that that's probably much more common than explicit disrespect.

~~~
yummyfajitas
They aren't the same thing. One is something that is done to you, the other is
something you choose to do to yourself (or not, if you find it more useful).

My company is about 95% one race (not mine) and there is precisely 2 people
here of my race (since last week) and 4 of my nationality. I simply choose not
to care, and define my work tribe as "folks who care about uptime and good
stats" rather than "folks who are genetically similar".

------
learnstats2
First, I doubt that programming skill exactly follows a bell curve. Most
people can't begin to program; conversely, most people can begin to run.
There's a barrier to entry in programming that gives the distribution much
positive skew.

Second, the criticised idea that "everyone is either an amazing programmer or
a worthless use of a seat" is probably true in capitalism. Either you have
skill enough for an organisation to employ you profitably, or you don't.

That difference might be a hairline's breadth. But it acts as a significant
tipping point. It doesn't necessarily indicate anything about the true
distribution of programming skill. It's just a cut-off point.

"Annual income twenty pounds, annual expenditure nineteen pounds nineteen and
six, result happiness. Annual income twenty pounds, annual expenditure twenty
pounds nought and six, result misery."

~~~
marktangotango
Once upon a time, I inherited some code from a colleague who left for another
gig. This particular fellow was well seasoned, had been in the industry for 20
years. The purpose of this particular code was something similar to parsing
json (not really, but close). This particular json always came from the same
source and almost always had the same format. My prdecessor, not having an
understanding of recursive descent parsing, wrote the parsing impl by counting
parentheses at the ends of lines, which worked for the fixed input we
typically recieved.

As time went on, we started to receive the same input from other sources, who
of course had different layouts for the their json. Of course the code broke
horribly. Myself being well practiced in recursive descent parsing, rewrote
his parsing code in a few days, the original had taken him many months. I was
perceived to be a miracle worker, because my implementation fixed the
problems, and worked mostly error free from then on.

Was my predecessor a mediocre developer? Not at all, he was actually quiet
accomplished in his area of interest, he simply wasn't proficient with this
one area (parsing).

I'd like to see these discussions of 'rock stars' and '10x' evolve to
recognize that perceived talent is really just experience in certain areas,
wether that experience comes from personal interest, or job function is
immaterial.

~~~
kabouseng
I understand the point you are making, but would like to add one more
discussion point (which detracts a bit from your point but I think is still
valid).

Sometimes a developer implements the bare necessary required solution to the
problem, i.e. not an over engineered expensive solution.

We'll then state that his solution was poorly engineered and he wasn't a good
developer, but it's not fair to look at his solution in hindsight and judge it
by the amount of scope creep it could handle(which it obviously had to handle
in hindsight).

Your succesor might write here in some time that your solution, while being
appropriate for json, didn't use x technique and so couldn't handle XML input,
and had you only known about x...

(This isn't critique of your comment, which I found insightful and positive,
just one more factor to consider)

~~~
peterfirefly
> (This isn't critique of your comment, which I found insightful and positive,
> just one more factor to consider)

It /is/ actually a critique. It isn't negative, but it is a critique.

~~~
kabouseng
Correct, but I do agree with the point the OP made as well.

------
Mikushi
> The tech industry is rife with sexism, racism, homophobia, and
> discrimination.

Talking about myth that needs to die. The tech industry is not rife with the
aforementioned issues, they might exists, but not any more than other
industries.

~~~
onion2k
That's the sort of statement that needs evidence to show it's true.
Anecdotally, from what I see based on 20 years experience working in software,
it's a very, very discriminatory industry. People who are from an ethnic
minority, women, and gay people find it much harder to find a job. Managers
(particularly non-technical managers) assume that those people won't be as
good or that they won't fit in with the rest of the team or the company
culture. Startups are much better than established companies but it's still a
problem.

~~~
jjaredsimpson
How is this any different than all industries? Why should I believe this
discrimination is worse in my field?

~~~
pionar
Why does it need to be worse to deserve attention? To paraphrase Office Space,
do we really want to do the bare minimum?

~~~
nilkn
It doesn't, but a lot of people try very hard to imply that it's worse in the
technology industry. If this is not the case, then this sort of rhetoric is
just adding noise that distracts attention away from just fixing the issue.

------
tonybaroneee
This was just posted a few weeks ago, refer to discussion here:
[https://news.ycombinator.com/item?id=9486391](https://news.ycombinator.com/item?id=9486391)

~~~
VLM
True. Its interesting to observe the results of the discussion, the conclusion
and relevant tangents, not just have the initial (emotional?) discussion.

The tangent of the theoretical bell curve applied to employers is interesting.
Most job positions are mediocre, which explains why things work fine when an
average dude gets an average job, despite weird demands for rock stars.

There were also interesting related dating analogies, if there actually were a
1M shortage of (insert your preference) then when everyone's personal ads
demand only 10/10 supermodel rock stars need reply, they better get used to
being very lonely or start rephrasing their personal ads. "Looking for rock
star girlfriend named Taylor Swift, only she need apply" yeah good luck with
that, better hope there's some good star trek reruns this friday night cause
you aren't going out.

Another tangent was strange selection criteria have strange results where you
end up with people having a very high opinion of themselves and being very
good at selling themselves, but not being selected for actual real world
talent. The author almost but not quite makes the point that short term
flashiness in an interview has little correlation, perhaps none at all, with
likelihood of successful long term execution. Or you end up with people
suffering from feelings of inadequacy and impostor syndrome, what a lovely
workplace (sarcasm)

A final interesting discussion tangent was there is no shortage or even
theoretical shortage, whenever anyone in management says there's a shortage of
a million workers, they always truncate that statement before "at our desired
wage of $7.25/hr" or "who are willing to work for lunatics who can't lead
starving dogs to raw meat in an open office next to the foozball table" or
"willing to take an immense standard of living hit". There are, of course,
plenty of fish out there, just not enough desperate or spineless ones. Gimmie
an office with a door so I can concentrate, and $350K to handle the staggering
cost of living hit, and a "rock star" boss (LOL), and I'm there. Oh wait
you're offering less than I get here to work in an insane call center-like
environment in one of the worlds most expensive neighborhoods at a rudderless
company, LOL enjoy your "shortage", although everyone else is fine.

------
wiremine
This keeps coming up on HN, which leads me to think a lot of people don't
trust the 10x language, and/or they feel inadequate in some way and want to
feel better about themselves.

In my experience, there are 10x programmers (just like there are 10x musicians
and 10x doctors and 10x pretty much everything). Of course, a 10x functional
developer isn't inherently a 10x OOP developer, just like a 10x trumpeter
isn't inherently a 10x drummer.

I don't think we need to kill the 10x developer myth, but that _all_ we need
are 10x developers.

I think a much more interesting discussion would be what a really good 1x
developer would look like. I.e., what is a good baseline? How do we nurture
more people to reach for competency? And in growing the overall talent pool,
identify the 5x, 10x, or even 100x developers.

~~~
jghn
I just take issue with the nomenclature. It fits in to a general narrative
that I dislike in our industry. Of course there is a long tail in terms of
productivity, that's just how life is. But turning that into a buzzword does a
great disservice.

You don't see companies in other industries pretending that their product is a
special snowflake and demanding rockstar 10x whatevers. No, they manage to be
more mature about the whole process.

~~~
mauricemir
IB, Management Consultancy and Law certainly have that aspect - even if you
are realy paying $2000 a day for a wet behind the ears MBA with no experience.

If your a rich person with legal trouble you want a rockstar lawyer like
Cherie Blair as your Barrister. Just Like the NI journalists who got off from
bribing cops - they had the most expensive lawyers money can buy

~~~
jghn
I didn't say it didn't exist. I was saying that the verbiage is different.

IOw I have no problem with accepting that not all people are created equal, I
just find the way that notion is handled in our industry to be childish

~~~
mauricemir
How is it handled differently in tech vs say big FTSE 100 companies.

------
pmelendez
As someone that has been involved in hiring processes in a South American
country. I can say that the "myth" does hold truth.

For each position I tend to filter 100 people just to have a couple of real
candidates. The real candidates weren't spectacular but they could get the job
done in a reasonable time frame.

Once in a while there were a person who can get the job done with less
supervision, better quality and faster. Usually that person could build
systems within the software. Something like :

[http://xkcd.com/974/](http://xkcd.com/974/)

That person is the one that gives some gas to the "myth". A good developer
that is probably at the %90 percentile.

The problem with people in denial is that they have an strong bias when (s)he
compares with their coworkers (who probably are just smart or smarter).
Forgetting that for each coworker there were a lot of developers that applied
and couldn't solve a fizzbuzz.

If the myth weren't truth I don't think there would be so many people failing
the fizzbuzz test: [http://blog.codinghorror.com/why-cant-programmers-
program/](http://blog.codinghorror.com/why-cant-programmers-program/)

You could argue that those people are not developers but the truth is, they
are often graduated from college and somehow manage to get hired in some
place.

------
PaulHoule
I think the biggest driver of the "10x programmer" concept, the thing that
validates it, is the related concept of the "negative net productivity
programmer."

Some programmers, in some environments, produce less than they cost to
supervise and for others to fix their mistakes.

Some programmers, in some environments, look productive because they do the
20% of the work that gets you 80% of the way there. They start a whole lot of
projects which almost work, then it takes a really good programmer a lot of
time to repair the relationship with the customer.

At this point in time, however, I see the productivity of the organization as
the real issue. Even a 10x or 100x programmer is only going to be that way if
they are in a zero-bullshit environment. It takes one bad co-worker or bad
boss to turn somebody like that to an 0.1x programmer. A lot of it is choosing
your environment.

~~~
intortus
It sounds like you're suggesting that the person who gets the project 80% done
and needs a "closer" to help finish it is a bad thing. Isn't this a perfect
example of good teamwork?

------
smikhanov
As much as I'm pro-diversity, pro-inclusion and whatnot, I don't want to be
associated with people who self-labeled themselves as "mediocre programmers",
even if that group only includes Mr Kaplan-Moss. I want to aim to be as good
as the best people in the industry. I think every profession needs its heroes
to motivate everyone to move forward.

Will I be more insecure and anxious because of that? Even if I will, it's none
of Mr Kaplan-Moss' business. I don't need him to be protected from the real
world where people have different level of skills; sometimes higher than mine,
sometimes lower.

~~~
bbanyc
"Even if he were mediocre, there are a lot of mediocre [programmers]. They are
entitled to a little representation, aren't they, and a little chance?"

[http://en.wikipedia.org/wiki/Roman_Hruska#Mediocrity](http://en.wikipedia.org/wiki/Roman_Hruska#Mediocrity)

------
makeitsuckless
Are we doing this again? The whole thing is a straw man argument which
deliberately conflates _having_ talent with _acknowledging_ talent.

It does so with such patently absurd examples (people who's totally obvious
programming talent is not recognized for some insane, usually just sexist,
reason), that one assumes the author already knows he's making this shit up.

Added to the mix is the red herring about being a "mediocre programmer". Being
a mediocre musician still requires talent, mediocrity doesn't mean shit when
asking the question if something requires talent. I personally have a talent
for drawing an painting, but I'm a shit artist because I have no artistic
creativity and I haven't made the effort to hone my skills.

Although I seriously doubt it, there may be a good argument to be made that
programming does not require talent. But this isn't is, this is just political
garbage with no merit whatsoever.

~~~
greybox
I wish people would stop insisting that there is such a thing as talent.

People who try hard at something and put a lot of time in to doing and
learning about that thing, will improve.

Some people are a lot more interested / motivated and so will try harder,
spend more time and will be better than others. This should not be mistaken
for some innate "talent".

~~~
RogerL
It's because there is an enormous body of evidence that talent exists. It
exists in the form of different levels of cognitive processing, in different
levels of hand eye coordination, in, you get the idea. We know this exists. We
can voluntarily affect cognitive processing with cocaine or oxygen
deprivation, and involuntarily affect it with things like strokes or head
damage (some head damage leads to mastery of skills like music, though most
usually it is damaging). Any number of tests show that people learn at
different rates, rates predicted by cognitive abilities. I've excelled at
things I didn't much care about or practice, and lagged on stuff that I put my
heart and soul into.

------
alkonaut
> _It 's not a talent .... it's just skills to be learned_

This to me is a bit of a contradiction. "Talent" to me is what says if you
will take a long time to aquire a skill or not. Almost anyone can reach a good
level of skill of something. Not all can be pro athletes without a certain
genetic talent, and I believe the same would hold for, say, being a
mathematician. But not everyone has to be a pro athelete, nor a top .1%
programmer (or anything else).

> _This belief that programming ability fits into a bi-modal distribution_

Who believes that? Is it really a widespread belief? I could see why you would
think it was a bell curve or a power law of some kind. But bimodal? why?

> _Things like design, communication, writing, and debugging are needed._

Yes, those are the things I like to call programming.

------
panjaro
I'm an example how this myth can destroy you. I was programming for 6 years in
normal projects and I thought I was not talented. I left job, came to research
degree. Now I realized I'm terrible at maths and advanced algorithm
techniques. I think about going back but since it has been 3 months I haven't
worked in a company, I feel I am a very bad programmer and no one will hire
me. I'm depressed and paralyzed. All I do all day is look into HN and read
articles, think how all these people are talented and I'm so dumb.

~~~
fridek
There is more worth in a dumb but hard-working person, than in a smart and
lazy one. Too many people strive to be the smartest around but few try to work
hard and consistently.

I can't be a judge of how smart you are, but being hard-working is a choice
you can make. Blocking HN is a good start.

~~~
LyndsySimon
> I divide my officers into four groups. There are clever, diligent, stupid,
> and lazy officers. Usually two characteristics are combined. Some are clever
> and diligent -- their place is the General Staff. The next lot are stupid
> and lazy -- they make up 90 percent of every army and are suited to routine
> duties. Anyone who is both clever and lazy is qualified for the highest
> leadership duties, because he possesses the intellectual clarity and the
> composure necessary for difficult decisions. One must beware of anyone who
> is stupid and diligent -- he must not be entrusted with any responsibility
> because he will always cause only mischief.

\- Kurt von Hammerstein-Equord

~~~
fridek
The same quote is often attributed to Napoleon and probably suits the army
well. There is also a world of a difference between enthusiastic and hard-
working. I'd say being energetic falls into the same bucket as being smart
(lets call it 10x things), whereas working steadily or being careful and
methodological into the other, of things useful for building larger
structures.

------
Paul_S
The worry that we're running out of programmers is rather overblown and
proposed solutions are mostly counterproductive. We're not living in a planned
economy - salaries and free movement of people will not allow there to be a
gap for long. This is one of the greatest strengths of capitalism and if that
sounds tired and obvious it's only because it is but that doesn't make it less
true.

~~~
thirdtruck
We certainly haven't run out of programmers.

It does seem like we've run low on companies willing to invest the time and
money in their employees in a way that would create the "10x programmers" that
they all want, as opposed to horse-trading the relative few that already
exist.

------
arenaninja
Nothing I dislike more than the ads looking for a "rockstar programmer". I
don't know if this is representative of where I live, but we use a simple
assessment to assess candidates (create a DB and tables, submit a form, put
things in the database), and the number of people who can't do that in a
reasonable timeframe is like 14/15\. And even then, I've seen people hired who
couldn't debug (this usually hints lack of experience as opposed to inability
to code), and we had one candidate who did well on the assessment but whose
personality was too confrontational. This assessment was similar to the one
that was used in my last job, where results were somewhat better (1/8 people
did well on the assessment, though that one didn't touch the database).

So in my extremely narrow experience, I haven't seen a 'talented' programmer,
and I doubt there really is such a thing

~~~
mauricemir
Was this for entry level first jobers? I remember some one else (in the uk)
saying that doing a basic join of two tables was not a given even for
experienced developers.

------
erikb
The actual talk is available. I don't know why we should discuss an article
that basically explains the talk instead of watching and discussing the talk:
[https://www.youtube.com/watch?v=hIJdFxYlEKE](https://www.youtube.com/watch?v=hIJdFxYlEKE)

------
apetresc
> Kaplan-Moss then asked what a 10x programmer looked like and put up a series
> of pictures of "Mark Zuckerberg". > The first was actually the actor who
> played Zuckerberg in The Social Network movie, while the second was the >
> >Saturday Night Live cast member who satirized the actor in the movie. The
> third actually was Zuckerberg. All three > were young white men, which is
> the archetype of a "real programmer", he said. > > When we see someone who
> does not look like one of those three men, we assume they are not a real
> programmer, he > said.

So the fact that a businessman, and two actors portraying _that same
businessman_ , are all white males means that programming culture has to
apologize for the impression of its white-male-ness?

------
ColinWright
This article is submitted over and over again, and discussed over and over
again, making the same points over and over again.

It's really annoying.

~~~
jasonwocky
Some issues are just 10x others, I guess.

------
mark_l_watson
I liked the article, but I may be coloring it with my personal biases: while I
have good software engineering skills and have had a wonderful career, I have
never considered myself to be a really great programmer. I just try to work
with people who are better developers than I am and I really enjoy my work.

The author has a good open source track record and is the head of security at
Heroku. I think he was also talking about other skills for success in the tech
industry besides just programming.

Obviously there is a vast difference in skill levels between developers, and
some people should probably not work in the field, but good attitudes towards
work and continual learning go a long way to success.

