TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The programming talent myth

510 pointsby corbetabout 10 years ago

69 comments

nilknabout 10 years ago
My own experience just does not agree with this at all.<p>First, I think we have to distinguish between two ideas here:<p>* The first is the question of whether anyone can learn to program. I think that for the most part everybody can, just like for the most part everybody can learn high school calculus.<p>* The second is the question of whether programming ability is bimodal. This is not related to the first question, and confusing the two questions is a significant error. It is entirely possible that programming talent is strongly bimodal and that 99% of people can learn to program.<p>I&#x27;ve been programming since I was 11 and have interacted with other programmers all through high school, college, and now working life, and at every single point of my career -- both academic and professional -- I have seen that some people are drastically faster and better at programming than others (but the others are still capable of learning). In introductory programming courses at college, I&#x27;ve done labs with <i>very</i> smart people who took 10x longer to figure out the lab than some others. They figured it out, but they struggled a lot compared to others, despite being very distinguished undergraduates (Goldwater fellow, etc.).<p>At work, we&#x27;ve brought on people with 10 years of experience who were 10x slower than someone else with 2 years of experience.<p>At school, there were master&#x27;s degree candidates who were significantly worse than many undergraduates despite working just as hard and longer.<p>I could go on and on and on with examples. From my own life the evidence is simply overwhelming that programming talent is bimodal.
评论 #9487587 未加载
评论 #9487105 未加载
评论 #9487115 未加载
评论 #9487523 未加载
评论 #9487409 未加载
评论 #9487512 未加载
评论 #9488307 未加载
评论 #9487837 未加载
评论 #9487933 未加载
评论 #9487391 未加载
评论 #9486929 未加载
评论 #9499173 未加载
评论 #9487471 未加载
dusklightabout 10 years ago
If you started programming when you were 12 and you&#x27;ve been programming for fun more than 4 hours a day every day since then, you are going to be drastically better than someone who starts programming in their first year of college and only does it to graduate. It feels like a bimodal distribution because you then get both kinds of programmers interviewing for jobs at the same age when they graduate from college and one of them is going to feel drastically different than the other.
评论 #9488380 未加载
评论 #9488445 未加载
评论 #9488314 未加载
评论 #9488247 未加载
评论 #9488592 未加载
评论 #9488313 未加载
评论 #9489072 未加载
mcafeeryan92about 10 years ago
I couldn&#x27;t agree more. When I first started out studying CS I was constantly afraid that I wouldn&#x27;t be able to cut it because I didn&#x27;t always immediately see how to solve algorithmic problems or write code that would work. I got bogged down in thinking about programming as a problem of learning syntax, and missed &#x27;obvious&#x27; things. I couldn&#x27;t reverse a string or write FizzBuzz and in fact part of the reason for that was that I was so sure that programming was a magical ability that I didn&#x27;t have because I compared myself to people who had been writing code since their childhoods, and this created nerves which made it hard to really think about solving these problems instead of feeling helpless when I didn&#x27;t immediately &#x27;know&#x27; their solutions.<p>I powered through that and ended up doing very well in my CS program at Northwestern, and now am a professional software developer that my peers consider to be a &#x27;rockstar&#x27; programmer, although I still contend that I am mediocre and there is always SO much more to learn. At my job I frequently mentor our college interns, and many of them when they come into the job would be laughed out of the room by &#x27;good&#x27; programmers, but after a little bit of mentoring and consistent daily practice on the job, in 2 months they emerge &#x27;rockstar&#x27; programmers themselves, and in reality they are still probably about average.<p>Most of the &#x27;bad&#x27; programmers many of us come into contact with are just farther behind on their journey to being great software developers, and may only be as bad as they are because of fear to ask questions and be judged by those who think there are only 2 types of programmers.
评论 #9486864 未加载
评论 #9487436 未加载
评论 #9486928 未加载
评论 #9487069 未加载
empressplayabout 10 years ago
That programming is a talent is not a myth, and while my life is currently devoted to developing a platform to encourage more people to learn the basics of computer science, I will certainly never say &quot;anyone can learn how to code&quot; any more than I&#x27;d say &quot;anyone can become a concert pianist&quot; or &quot;anyone can become a master painter.&quot;<p>Good programming is an art, and requires talent on the part of the programmer. There&#x27;s nothing wrong in saying that. The issue is that there are thousands and thousands of potentially great programmers who simply never try programming, just as there are thousands and thousands of never-will-be concert pianists. But many children take piano lessons just in case. Why can&#x27;t they also take coding lessons? Just to see?
评论 #9486898 未加载
评论 #9486865 未加载
评论 #9486793 未加载
评论 #9486843 未加载
评论 #9486771 未加载
评论 #9486846 未加载
评论 #9486886 未加载
评论 #9486951 未加载
评论 #9487485 未加载
评论 #9487216 未加载
评论 #9488581 未加载
评论 #9486876 未加载
评论 #9486813 未加载
评论 #9486674 未加载
评论 #9487652 未加载
评论 #9487499 未加载
评论 #9487513 未加载
评论 #9486949 未加载
markbnjabout 10 years ago
I&#x27;ve been at this twenty years, and I have no doubt that most people can learn to do it, and some people are just radically better at it. I&#x27;m not sure why those should be either mutually exclusive or controversial points of view. Where the passion part comes in is that most people, the vast majority I would think, just don&#x27;t want to do this for a living and never will.<p>We&#x27;re a little like medical doctors in that respect. A lot of people would like to have an MD&#x27;s paycheck but very few would actually enjoy doing what an MD does for a living. Another analogy, and one of my favorites, is to watchmaking. Watchmakers take great pride in the incredibly close work they do, and again while it may be work many could learn to do, it is work that few would want to do. I think this is very true of programming. Most people find it horribly tedious and boring, and don&#x27;t see the creative aspects of it at all.<p>The last thing I&#x27;d note is that the focused act of programming is becoming a smaller and smaller part of the gig. To be a full-stack developer these days requires so much more than the ability to create a working program. The big picture is very big, it takes many years to get a really sound grasp of it, and you have to be motivated in the first place. Passion, again.
评论 #9487542 未加载
评论 #9487685 未加载
marktangotangoabout 10 years ago
&gt;&gt;Part of the problem there is the lack of a way to even measure coding ability. &quot;We are infants in figuring out how to measure our ability to produce software&quot;, he said. What are our metrics? Lines of code—what does that measure? Story points? &quot;What even is a story point?&quot;, he wondered.<p>Indeed, what is programming talent? What is a &#x27;good&#x27; programmer? What is a 10x rock star? These notions are similarly ill defined. I can think of at least 3 formulations of &#x27;talent&#x27;:<p>1. A developer who can craft an exquisite solution to a problem using the patterns of the domain and&#x2F;or the idioms of the language.<p>2. A developer who puts in Heroic efforts to produce a lot of code in a short amount of timing, to meet business objectives.<p>3. A developer who is &#x27;smart and gets things done&#x27;.<p>One can poke holes into any of these formulations; is the exquisite solution delivered in a reasonable amount of time? Is the quickly delivered code maintainable and extensible or a maintenance nightmare? Does the smart and get things done guy leave a spaghetti trail in his wake?<p>In the end, I think we&#x27;ve all noticed that some people tend to simply accomplish more, with less issues and drama than others. Is this real? Or simply navel gazing? I tend to think it&#x27;s real.<p>Edit: spelling
评论 #9486791 未加载
Tloewaldabout 10 years ago
Well let&#x27;s start with fallacy #1 -- marathon times are normally distributed.<p><a href="http:&#x2F;&#x2F;m.runnersworld.com&#x2F;sports-psychology&#x2F;round-number-times-for-marathons" rel="nofollow">http:&#x2F;&#x2F;m.runnersworld.com&#x2F;sports-psychology&#x2F;round-number-tim...</a><p>Aside from the significant asymmetry of the distribution (of course) there&#x27;s the spikes where people push themselves to hit a mark (i.e. 3:59 vs 4:00).<p>Programming is full of weird incentives that will distort themselves in any measure -- e.g. if A gets his&#x2F;her work done in 0:20 and B in 7:30 and A then goofs off or helps other coders, the measured productivity difference might not be huge. Since most people who code are having their behavior distorted by measurement that&#x27;s a big issue.<p>From experience -- the incentives against outperforming expectations are huge -- demonstrate you&#x27;re 3x as productive as the guy next to you and from now on you have 3x the workload for 1.1x the pay. In practice what happens inisthe better coders pad their estimates and get trusted with tough problems rather than time-consuming problems.
StillBoredabout 10 years ago
1.5 Million position job gap? Really? I hate when people throw the us labor stats numbers around like that.<p>Uh, hu, I wish these statistics would be backed up in a more through manner. Like maybe forcing companies to disclose how many applicants they get for a position and why they were rejected.<p>I say this because, I recently interviewed for a position doing some pretty low level work, where apparently there were a 100+ applicants (or so the hiring manager said). But it was believable because the job was posted on linked-in, and linked in reported that 34 people applied for the job.<p>So, a lot of people applied for the job, were they qualified? Well, considering I know two people with skillsets that are compatible with the position, and both are unemployed and live within 5 miles of the position, I would really like to see this kind of data industry wide.<p>AKA, assign each candidate a number (only disclosed to the candidate), and then publicly post the number, and the reason for disqualification. Maybe if someone can figure out how, disclose the skills the candidate says they posses without directly correlating them to the candidates public profiles.<p>That would give us an idea of where the skills gaps are, or even if they are real. Rejecting a bunch of candidates because &quot;they don&#x27;t fit the culture&quot;, or they don&#x27;t have 5 years experience with CMVC, or perforce or some other tool not directly related to the specific job requirements needs to be public information. Or for that matter, that someone thinks they will ask for more money than the position pays, without making them the offer.
cmengeabout 10 years ago
It&#x27;s not that programming skill (whatever that is) is bimodal, it&#x27;s the effectiveness of the engineer in a typical development scenario. That stems at least partly from the fact that programming is hardly ever a one-person endeavor, contrary to running.<p>Since scaling a team increases friction and overhead, a small number of highly skilled engineers can be absurdly more effective than a set of teams, which also makes them more valuable, but not necessarily as extreme as in sports. Add preferential attachment to the equation (good engineers try to work with other good engineers &#x2F; hire only top talent), and the U-curve starts to make sense IMHO.
评论 #9486802 未加载
VLMabout 10 years ago
WRT mythology, one important takeaway about the &quot;1.5 million programmer job shortage&quot; is the management declaring the shortage isn&#x27;t looking for programmers, or white male programmers, or &quot;rockstar ninja real programmers&quot; but ivy league grads willing to sit thru 8 hour logic puzzle and coding interviews about linear algebra to work for $7.25&#x2F;hr for minimum 80 hours per week in an open office packed in like sardines while people &quot;work&quot; by playing foozball for 60 hours per week next to you in one of the most expensive cities in the world for next to no stock options in a field rife with ageism where their career will be shorter than a typical NFL quarterback. But other than that, no problemo.<p>In reality there&#x27;s no shortage, and isn&#x27;t going to be one, outside a couple industries in NYC and SV.
hikzabout 10 years ago
<p><pre><code> That means we need to be doing something to get more people into our industry. </code></pre> Why? What&#x27;s in it for me?<p><pre><code> The EU has published similar numbers, 1.2 million in 2018—three years </code></pre> I am a first-year CS student in Denmark and I hope you don&#x27;t succeed in getting more people into the industry to fill those jobs before I graduate.<p>The lack of (talented) programmers is going to put young CS&#x2F;CE grads in an advantageous position both in term of salary and job opportunities. I am happy employers are having a hard time finding people to fill those jobs. That makes life easier and safer for me.<p>The people screaming for more programmers here in Denmark are people in the government and Dansk Industri (lobby group representing bigger Danish corporations). The government cares about something they call &quot;Denmark&#x27;s global competitiveness&quot; and the lobbyists in Dansk Industri want to flood the market so they can lower programmers&#x27; salaries. I don&#x27;t care about the former line of buzzwords and the later is a hostile action taken against me as a programmer.<p>Don&#x27;t get me wrong. I care about our industry. I will contribute to open source in the summer leave and I am involved in organizing some monthly meetups. But in the end of the day I also want a job.
评论 #9489158 未加载
mkr-hnabout 10 years ago
The importance of talent is often overstated, but it&#x27;s not a myth.<p>The years I spent trying to do software development were like beating my head against the wall. Everyone seemed to be much better than me, and it led me to give up after a few years of starting and stopping. If I couldn&#x27;t even manage to make a simple application, what was the point when so many people made one every day?<p>So I gave up and focused on other interests, like writing and art. Writing has served me well, but doesn&#x27;t interest me enough to get much written. I&#x27;m just bad at visual art, no matter how much I practice and study. Fractal art is about all I can do[1].<p>Then I picked up a MIDI keyboard, a DAW (first LMMS, then Studio One) and had fun making music immediately. Haven&#x27;t been able to stop since. Now I&#x27;m rediscovering my interest in A&#x2F;V engineering. As you can imagine, knowing a little programming helps a lot with both of these things, and that&#x27;s how I found an interest in writing code.<p>Most of the code I wrote even before finding a need is solid, efficient, and secure. But that&#x27;s because I&#x27;m so bad at it that I have to be careful. If I don&#x27;t write clean, efficient code, I won&#x27;t be able to understand it well enough to fix it when something goes wrong.<p>I think we would be better off encouraging people to try many different hobbies rather than pushing them into something they have no affinity for. Then, when something clicks, show them how programming can make it better.<p>[1] <a href="http:&#x2F;&#x2F;www.designbyhumans.com&#x2F;shop&#x2F;mkronline&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.designbyhumans.com&#x2F;shop&#x2F;mkronline&#x2F;</a>
评论 #9488158 未加载
mannykannotabout 10 years ago
I am well aware that there is a considerable range of ability among those who program professionally, but it never occurred to me to think of the distribution as being bimodal. I have also noticed a preference among programmers (or rather, more likely, a vocal minority) for reducing all issues to simplistic dichotomies (e.g. the methodology wars.) Perhaps this is just another straw man, distracting from the real issues of how to raise levels of performance incrementally and generally?
serve_yayabout 10 years ago
Well, I just disagree. I&#x27;ve been doing this professionally for over 10 years and some people are bad to okay at it, and others are good to excellent. If there isn&#x27;t some deep-seated reason why people fall into one group or the other, if it&#x27;s just practice or whatever, fine. I don&#x27;t know what the explanation is. And I don&#x27;t assume it&#x27;s impossible to move from one group to the other, far from it. But I would say the bi-modal thing seems roughly correct.
评论 #9489383 未加载
robotcookiesabout 10 years ago
The story mentioning the woman who did not consider herself a &quot;real programmer&quot; is obviously disturbing. But that is not the consequence of believing in a bi-modal distribution of programming talent. Rather, it is the consequence of believing in a bi-modal distribution AND believing that gender also fits that distribution.<p>The bi-modal distribution of talent is not a myth nor is it intrinsically harmful. However, it can be extremely harmful when misinterpreted to mean gender, race, etc. The author is subtly conflating the two and in the process doing more harm than good. This does not help women, minorities or other under represented groups.
o_nateabout 10 years ago
It seems plausible to me that the distribution of innate programming ability is a bell curve, but the distribution of programming effectiveness is bimodal. The missing ingredient of course is experience and education. It&#x27;s similar to an athletic skill, such as the high jump. If you plotted the maximum height that a random assortment of individuals could jump, the resulting graph would be bimodal: the top clump would be those who can do the Fosbury flop and the bottom clump would be everyone else. The innate ability to jump follows a bell curve distribution, but unless you know that trick, you&#x27;ll end up on the lower clump.
评论 #9487583 未加载
评论 #9487954 未加载
astrocyteabout 10 years ago
It&#x27;s quite simple... There are people who have a knack&#x2F;drive for understanding the world&#x2F;universe and its many functions. People who care to understand the root mechanism as opposed to speculating about how the tree and leaves form. This is the base talent behind good software engineers who become great through experience and challenges. If you -truly- understand something, you are good at communicating it in many ways and capable of expressing it in a &#x27;language&#x27;. What came first? Language or understanding. What do a lot of institutions teach? Programming. What don&#x27;t companies want to invest in : Understanding....Mind the gap.<p>You may be good at a language and still not have any good ideas to express;Programmer<p>A lot of people fail to see this and go on with arbitrary measures of what makes a good software engineer. Oh nos&#x27;, you don&#x27;t know how to craft the perfect general expression for this. Oh nos&#x27;, your Translation look-a-side buffer calculation was off... And so on.<p>The typical interview centers on how well someone programs. People write long articles which stirs people into a frenzy and much is lost in the discourse. Mindless interview structures are administered which tests people on their ability to work through leaf problems.<p>Tress of horrible construction are made and root analyzers are called in to save the day. Since there aren&#x27;t many who fully understand root construction, such talent is hardly ever understood for its value : Modern software engineering at your alphabet soup of companies.<p>And here we are. Much will never change because there are few actually looking at the root issues. Few actually care to. It&#x27;s all about the leaves and low hanging fruit.
grandalfabout 10 years ago
There are different areas of skill.<p>Some people can refactor a messy chunk of code into something more organized. Some can create a rough sketch of a large system that is well-organized and loosely-coupled, others can optimize an algorithm for efficiency.<p>Some can write code that is easy to read and understand. And some can write code that is extremely abstract and expressive.<p>It&#x27;s rare to find all of these skills in one person. Depending on the project goal, some of the above are crucial and some are nice to have.<p>All of the above can be learned, and for some experience is the best teacher, while for others a CS background helps a lot.
kaitaiabout 10 years ago
Last summer I went into a job interview and said &quot;I&#x27;m not really a programmer.&quot;<p>The next week I was hired to do Ruby on Rails work for a freelance contract. (I&#x27;d been lured to the interview to talk about data analysis with R but they needed a Rails person more.) Clearly the interviewers thought my level of experience was fine.<p>I&#x27;ve got a PhD in mathematics and am no stranger to technical fields. I can&#x27;t believe I was &quot;that woman&quot; who said she wasn&#x27;t a programmer. It really does happen. My G-d, I&#x27;m a cliche.
kinduffabout 10 years ago
Very nice article. It reminds me to this quote from &quot;Hackers and Painters&quot; by Paul Graham.<p>&quot;In general, people outside some very demanding field don&#x27;t realize the extent to which success depends on constant (though often unconscious) effort. For example, most people seem to consider the ability to draw as some kind of innate quality, like being tall. In fact, most people who &quot;can draw&quot; like drawing, and have spent many hours doing it; that&#x27;s why they&#x27;re good at it.&quot;
kazinatorabout 10 years ago
Programming benefits from dogged perseverance. If you have lots this trait, it can overcome other shortcomings.<p>It also benefits from being thorough and detailed: analyzing all the cases that may occur, forming all the conceivable hypotheses and so on.<p>It doesn&#x27;t matter if it takes you five hours of hacking on something to finally see a solution that some brilliant programmer came to in 45 minutes of hacking.<p>Maybe it was luck; his or her brain generated some spontaneous idea which revealed some aspect on the problem resulting in a breakthrough, while you were methodically working through various hypotheses (including the boring ones).<p>Brilliance will lose in the long run to dogged perseverance and thoroughness.<p>Brilliance has an advantage in dealing with badly structured programs; the brilliant mind has a great memory and can simultaneously hold a lot of the program in consideration: for example, to visualize a complicated run-time interaction between numerous scattered pieces of code. The more brilliant mind can handle a larger instance of this sort of thing than a less brilliant mind. But there is a limitation on it. It&#x27;s kind of like being muscular. It&#x27;s <i>impressive</i> that you can bench 300 pounds, but it&#x27;s useless in the big picture where we might need to lift 30,000 pounds. And where we therefore use a machine to do it, and that machine can be easily operated by a &quot;90 pound weakling&quot;.<p>We can erase the advantage of the brilliant mind by not structuring the code such that only the most brilliant minds can visualize how some scenario arises in order to identify a problem. And we can also use tools: tool to help us visualize, analyze, validate, and so on.<p>Where we ultimately need brilliance is in forming <i>ideas</i>. Someone who comes up with great product ideas (and ones that sell, too) cannot be replaced by a machine, or by someone who just has perseverance and thoroughness in the face of details.
评论 #9488902 未加载
bad_userabout 10 years ago
What I find fascinating is the ability of software developers to work against their own interest.<p>&gt; <i>The US Bureau of Labor Statistics estimates that by 2020 there will be a 1.5 million programming job gap, which means there will be that many jobs unfilled. That&#x27;s in five years. The EU has published similar numbers, 1.2 million in 2018—three years. That means we need to be doing something to get more people into our industry.</i><p>There you have it. That&#x27;s how many of us are thinking, while at the same time we suffer from ageism, wage-fixing, working overtime and being seriously underpaid in general for the value that we provide to our employers. How can we be so stupid as to care about programming jobs being filled? Is it any wonder that we end up being abused?
评论 #9489889 未加载
retrogradeorbitabout 10 years ago
I think Jacob is engaging in sloppy thinking. Like everything relating to biology (in particular, human beings) there are two components. One is nature. One is nurture. Every single activity in life will require both components to come together. Everyone will have different aspects and amounts of these components.<p>It reminds me of Jane Elliot&#x27;s teachings. It&#x27;s not that &#x27;there is no difference&#x27;. There is definitely a difference. The truth is that difference is good. It&#x27;s good that we have both good and bad programmers. It&#x27;s good that some people are rockstars, and others have to struggle. Diversity is good.<p>The problem is not &quot;the 10x myth&quot;. I don&#x27;t think its a myth. I think there are 10x althletes, 10x doctors, 10x engineers. Pick any field and the spread between the best and worst performers will be enormous.<p>The real problem is some people think that because they are a better programmer (or a better pianist, or athlete, or engineer, or doctor) they are better people. That their life somehow has greater meaning. This is the myth that needs to be debunked. Being a 10x programmer does not make you a better person. In ANY way, what-so-ever. It just makes you a better programmer.<p>What makes you a better person, in my opinion, is how compassionate you are, how much you care for the less fortunate and how much you work to make this world a better place for everyone.
评论 #9536795 未加载
评论 #9491234 未加载
评论 #9491240 未加载
current_callabout 10 years ago
<i>If we embrace this idea that &quot;it&#x27;s cool to be okay at these skills&quot;—that being average is fine—it will make programming less intimidating for newcomers.</i><p><i>If we embrace this idea that &quot;it&#x27;s cool to be okay at these skills&quot;—that being average is fine—it will make art less intimidating for newcomers.</i><p><i>If we embrace this idea that &quot;it&#x27;s cool to be okay at these skills&quot;—that being average is fine—it will make music less intimidating for newcomers.</i><p><i>If we embrace this idea that &quot;it&#x27;s cool to be okay at these skills&quot;—that being average is fine—it will make writing less intimidating for newcomers.</i><p><i>If we embrace this idea that &quot;it&#x27;s cool to be okay at these skills&quot;—that being average is fine—it will make football less intimidating for newcomers.</i><p><i>If we embrace this idea that &quot;it&#x27;s cool to be okay at these skills&quot;—that being average is fine—it will make architecture less intimidating for newcomers.</i><p>There&#x27;s nothing wrong with a skill that takes time and effort to become good at, and there&#x27;s no reason to cater to people who aren&#x27;t at least novices. Well, not unless you&#x27;re trying to artificially inflate the labor pool so you can pay programmers less.
makeitsucklessabout 10 years ago
I know I&#x27;m not the only one old enough to remember that we already tried to apply this argument in the late 90s?<p>That left us with countless completely incompetent programmers, most of whom left the industry after Y2K and the burst of the bubble. Those who stuck around now largely make up the bulk unemployed IT workers whining about how there can not possibly be any shortage because nobody wants to hire them.<p>We&#x27;ve already put the talentless to work in massive numbers, and not only did we as an industry pay the price, it didn&#x27;t do the por sods much good either.<p>Also, all of these arguments about mediocre programmes, 10x programmers, gender based discrimination etcetera only serves to distract and intimidate, because they have nothing to do with the fundamental question. Nobody is arguing that a having a talent for something is the only thing that matters when it comes to how good a programmer you become, or that it has anything to do with gender.<p>Bringing it up only serves to pre-emptively make anybody trying to make a counterargument look like an arrogant, sexist douche. My instinct tells me that people trying to make a point that way already know they&#x27;re wrong.
datakerabout 10 years ago
One the main issues with such collectivist argument is that programming is more than solely &#x27;programming&#x27;.<p>A great developer innovates, organizes, leads and motivates other programmers in a way others are not able to do. Kaplan-Moss is a perfect example of it.<p>For example, maybe, it&#x27;s true that anyone is able to build a CRUD website.<p>However, maybe, not everyone is able to start and manage an open-source project.
评论 #9486853 未加载
rayinerabout 10 years ago
In this topic: people demonstrate they don&#x27;t know what &quot;bimodal&quot; means. A normal distribution of programming talent doesn&#x27;t preclude the existence of &quot;10x&quot; programmers.
lessthunkabout 10 years ago
I think the article is a bit simplistic;<p>There are different types of skills -- and if you can combine them, you are the 10 to 100x times person;<p>Understand the business problem, and then have enough tech skill to solve it and you can move mountains. Most managers know neither the business domain, nor the technology, which makes it even harder.<p>Like in everything in life, 90 to 95% is BS.
tmshabout 10 years ago
I think it comes down to whether you have high standards. Or were taught with high standards. Or were mentored with high standards. And whether as you grow you have the luxury and the persistence to keep them up. If you do, you fold in stronger and stronger building blocks that over time &#x27;scale&#x27; and allow one to move effectively and often more quickly. If you could measure it, it would have to do with the density of the parent tree nodes within which you approach problems. Some people are lucky to have grown under rigorous conditions while yet still being exploratory and developing breadth.<p>If &#x27;talent&#x27; is a function of tree node growth though, talent is not going to be bimodal. It&#x27;s going to be unimodal with some long-tail bias because of the rewards theoretically of being really good at programming.
bhauerabout 10 years ago
Subscriber-only content. Does anyone feel a bit guilty for reading it without a subscription?
评论 #9486938 未加载
评论 #9486904 未加载
sz4kertoabout 10 years ago
What is programming talent? There are many different jobs where one writes code, but they&#x27;re very different. A very big part of a developer&#x27;s success depends on whether and how they can navigate the business domain they&#x27;re in.
golemotronabout 10 years ago
&gt; This belief that programming ability fits into a bi-modal distribution (i.e. U-shaped) is both &quot;dangerous and a myth&quot;. This myth sets up a world where you can only program if you are a rock star or a ninja. It is actively harmful in that is keeping people from learning programming, driving people out of programming, and it is preventing &quot;most of the growth and the improvement we&#x27;d like to see&quot;, he said to a big round of applause.<p>How does he know that bi-modality is not true? These are questions we should ask and study rather than things we should just assume are myths. Ignorance is not the answer.
评论 #9487461 未加载
vpeters25about 10 years ago
&gt; The truth is that programming isn&#x27;t a passion or a talent, it is just a bunch of skills that can be learned<p>I think people who makes these statements are usually misguided by their lack of perspective: talented people have a hard time understanding how someone else can&#x27;t do it when &quot;it&#x27;s so easy&quot;<p>One example of this is Bill Gates driving Microsoft to commoditize programming (&quot;I can do it, it&#x27;s easy, therefore anybody should be able to do it&quot;).
karmacondonabout 10 years ago
Programming talent isn&#x27;t bimodal, in fact it isn&#x27;t a question of traditional talent at all.<p>There are only two levels of programming ability: &quot;Bad&quot; and &quot;Good Enough&quot;. In all but the rarest of edge cases, everything else is a matter of preference. You think that someone&#x27;s code is elegant, simple, clean, optimized, etc? That&#x27;s great, but only other programmers might care about those things. The only question that the majority of people care about is, &quot;Does it work?&quot;<p>Obviously code can be written so poorly that it causes noticeable performance problems, or doesn&#x27;t work at a scale past the initial requirements. But that falls under the &quot;Does it work?&quot; question. Basically if I&#x27;m using it and it isn&#x27;t annoyingly slow, whoever wrote it was &quot;Good Enough&quot;. I don&#x27;t care if they were a l33t 10X rock star ninja or some guy who just finished a &quot;$language For Dummies&quot; book.<p>It is genuinely cool to see code that is well designed and well written. And doing that consistently does require the innate talent of a special mind. But let&#x27;s not confuse elegance with doing the job. Doing the day in day out work of programming is like being a journalist: the most important thing is getting the facts straight, not writing something pretty. The truly talented can do it with the rhetorical flourish of a poet, which is awesome, but not required.<p>All that most people ask of code is that it&#x27;s good enough to do whatever it&#x27;s supposed to do. If we want to turn it into a poetry contest then it&#x27;s definitely a bimodal distribution, and most of us will end up on the wrong end of the curve.
评论 #9487534 未加载
评论 #9487573 未加载
platzabout 10 years ago
&quot;Formal logical proofs, and therefore programs – formal logical proofs that particular computations are possible, expressed in a formal system called a programming language – are utterly meaningless. To write a computer program you have to come to terms with this, to accept that whatever you might want the program to mean, the machine will blindly follow its meaningless rules and come to some meaningless conclusion. In the test the consistent group showed a pre-acceptance of this fact: they are capable of seeing mathematical calculation problems in terms of rules, and can follow those rules wheresoever they may lead. The inconsistent group, on the other hand, looks for meaning where it is not. The blank group knows that it is looking at meaninglessness, and refuses to deal with it&quot;<p><a href="http:&#x2F;&#x2F;blog.codinghorror.com&#x2F;separating-programming-sheep-from-non-programming-goats&#x2F;" rel="nofollow">http:&#x2F;&#x2F;blog.codinghorror.com&#x2F;separating-programming-sheep-fr...</a><p><a href="http:&#x2F;&#x2F;www.eis.mdx.ac.uk&#x2F;research&#x2F;PhDArea&#x2F;saeed&#x2F;paper1.pdf" rel="nofollow">http:&#x2F;&#x2F;www.eis.mdx.ac.uk&#x2F;research&#x2F;PhDArea&#x2F;saeed&#x2F;paper1.pdf</a>
评论 #9487117 未加载
logicalleeabout 10 years ago
&gt;But that would mean that programming skill is somehow distributed on a U-shaped curve. Most people are at one end or the other, which doesn&#x27;t make much sense.<p>But this is exactly the case! It&#x27;s why Fizz Buzz exists: to determine if you&#x27;re on the left leg or the right of the U-curve. (Or similar curve wherein <i>people &quot;suck at programming&quot; or that they &quot;rock at programming&quot;, without leaving any room for those in between. Everyone is either an amazing programmer or &quot;a worthless use of a seat&quot;</i> [in a programming job]).<p>Why can&#x27;t we accept that this is the nature of progrmaming?<p>Jobs wasn&#x27;t a coder, and was on the left side of the U. Wozniak was and was on the right side.<p>Brian Chesky (airbnb co-founder) can&#x27;t code, is on the left side of the U. Nathan Blecharczyk (another airbnb co-founder) can.<p>There is nothing exceptional about this distribution. You can have a ton of vision and product input, design input (as Brian did) without being on the right side of the U as a coder yourself.<p>On the other hand, perhaps all coders on the right side of the U are all awesome, which is why they command six figure salaries sooner out of college than other professions take to get a terminal degree in their field.
评论 #9487682 未加载
vbezhenarabout 10 years ago
IMO it&#x27;s not a talent. It&#x27;s a result of thousands of hours of work. I learned programming at 12 years. I programmed a lot. I didn&#x27;t have a computer and I was programming in sheets of paper (computer was in school and I didn&#x27;t always had access to it). I wrote by own object-oriented GUI library in sheets of paper and that library was never written in computer but it was in my head and I learned a lot while thinking about it and its design. There was time when I was spending 10-12 hours programming or reading programming books.<p>I wouldn&#x27;t call myself talented programmer. I spent a lot of time to learn how to write good enough code and be productive.<p>What I had is a passion to program. I never programmed because I had to force myself. I enjoyed it. It&#x27;s a beautiful art. That beauty forced by to program. And I still find that beauty in programs.<p>Unfortunately I don&#x27;t know how to learn others to enjoy programming. I saw a lot of programmers and most of them didn&#x27;t really like their job, they just did it because they went to CS faculty after school and programming is paid well enough.
评论 #9487112 未加载
random854about 10 years ago
Based on what I&#x27;ve seen, anyone can write code, just as anyone can learn math or write a story. Further, anyone who devotes time and effort to writing code (or doing math or writing a story), who immerses themselves in it, who learns and practices, can write code <i>well.</i> Thing is, most people aren&#x27;t motivated to do everything well. People find enjoyment in different ways; some through working with their hands, some through solving puzzles, some through talking to people. I wouldn&#x27;t say this is purely natural (I didn&#x27;t discover programming until later in life thus I&#x27;m nowhere near how skilled I&#x27;d be if I started at 10, although once I knew what it was I knew I would enjoy it), but I wouldn&#x27;t say it&#x27;s purely up to environment either. Anecdote: I introduced a friend of mine to programming recently. He can do it, and he&#x27;s not bad at all, but he&#x27;d much rather be face-to-face with someone than staring at a screen for hours.<p>So, anyone can become a good programmer, but most won&#x27;t want to be.
christianbryantabout 10 years ago
As Linus Torvalds said, &quot;Talk is cheap. Show me the code.&quot; [0]<p>Not to belittle the truisms in the article, but this is ultimately what it should come down to. Show me your code and your project working.<p>[0] <a href="http:&#x2F;&#x2F;lkml.org&#x2F;lkml&#x2F;2000&#x2F;8&#x2F;25&#x2F;132" rel="nofollow">http:&#x2F;&#x2F;lkml.org&#x2F;lkml&#x2F;2000&#x2F;8&#x2F;25&#x2F;132</a>
mikecmpbllabout 10 years ago
Yet more programmer&#x2F;tech industry denigration propped up by completely unproven assertions.<p>Firstly most of this is based on the idea that as a programmer you are only either great or shit, and that this is somehow a problem of the industry rather than just being something entirely human and normal in ANY WALK OF LIFE (the best and the rest).<p>Secondly, there&#x27;s this awful assertion that this purported industry problem has resulted in a less diverse industry. (What does that even mean, other ethnicities &amp; women can&#x27;t handle pressure as well as white men?)<p><pre><code> But imagine how frustrating it must be to be a woman with a decade of experience and have someone assume that she doesn&#x27;t know what she is talking about. </code></pre> ^ This just comes out of nowhere, someone assuming that a woman programmer &quot;doesn&#x27;t know what she is talking about&quot; is not related to any point he&#x27;s made previously.
评论 #9488747 未加载
armyabout 10 years ago
The original version of the &quot;10x&quot; idea didn&#x27;t require the productivity distribution to be bimodal - it could be a bell curve or skewed bell curve with high variance. I think it&#x27;s contextual as well - if you&#x27;re working on a project that&#x27;s just at the edge of your present abilities, your productivity is going to be pretty marginal compared to someone who&#x27;s done it before and has strong aptitude at it.<p>I think it&#x27;s silly to simply sort programmers into two buckets.<p>It does make a lot of sense though to try to attract and retain good programmers though - having a programmer who&#x27;s at the 75th percentile of productivity instead of the 50th percentile is going to give you a big boost in productivity if productivity is high variance. It also makes sense to try to match programmers to projects that they have good aptitude and motivation for.
vfroggerabout 10 years ago
I took one programming class my Freshman year in college, and dropped Computer Science as my major because even though it was an Intro to Programming class, I felt like I was the only person in the computer lab that was actually programming for the first time.<p>It infuriated me working for half a day on an assignment and then watching these other kids come into the lab, knock out the assignment in 20 minutes and laugh about how easy the assignment was.<p>After college, I taught myself how to build websites, which led to javascript, then PHP, then databases. Teaching myself on real world projects was enjoyable because there was no comparison to anyone next to me, it was just me trying to figure out how to get something to work. And when it worked, that felt great, not horrible because it took me 10 times as long as someone else.
perlgeekabout 10 years ago
One thing missing from the whole bimodal vs. normal distribution debate is: what is the population that you use as a base?<p>If you take all humans as the base, the vast majority for any skill that isn&#x27;t nearly universal is clustered at the zero. Of the 9 billion people on earth, nearly nobody can write programs to any meaningful degree, or play the piano to any meaningful degree, or build a telescope, or a wrist watch, or whatever.<p>So I&#x27;d assume that programming ability distribution looks a bit like a normal distribution centered at zero, and cut off at zero (no values for skills less than zero).<p>Which, ironically, makes basically everybody who can write a single line of code &quot;above average&quot;. Which doesn&#x27;t make them rock star programmers at all.
kfkabout 10 years ago
I think in small organization you might need a lot of talent, but once organizations (or projects) get bigger, you need process over talent and that, well, also means good management. There are things you can do with a small group and things you can only do with a bigger group. I guess Django is at a point where it&#x27;s big enough that it can take advantage also from the less talented coders. Maybe, and I am wild guessing here, part of the issue comes when startups grow and still look for the 0.1% talents, when at that size that can easily live with the 40-50%.
notacowardabout 10 years ago
The illusion of a U-shaped talent curve is just that - an illusion. Specifically, it&#x27;s an illusion brought on by selection bias. We <i>see</i> more of the people beyond a particular point in the curve. Maybe we even see them because they&#x27;re exponentially more productive than people further back, but at most that means the <i>work product</i> distribution is bimodal. The <i>skill</i> or <i>talent</i> distributions surely have a bump or two here and there, but remain basically normal.
BurningFrogabout 10 years ago
After a few decades programming professionally I have yet to encounter the idea of a U shaped talent curve where most people are either geniuses or useless. Does anyone actually think that?<p>Nor have I been on any team since arriving to California that had a majority of young white men. That actors portraying Mark Zuckerberg look like him is hardly surprising or a good scientific sample. I didn&#x27;t read past that section.
KedarMhaswadeabout 10 years ago
I think there is a question of progression through your career as well. For talented programmers, (I believe) it is less likely to feel &#x27;stuck&#x27; at some point. Over the years, they can handle increasingly more complex challenges with same relative ease. Others have to do significantly more efforts to handle abstractions well enough to ensure &#x27;cruising&#x27; along.
eranationabout 10 years ago
Saying that there is a programming skill is a little like saying that someone has a &quot;sports&quot; skill. There are many different skills of programming that are very different, and except some basic &quot;can do fizzbuzz&quot; level, there are miles apart skillsets, where you can be great in one context but bad in another. a few examples<p>- fast hacking &#x2F; programming contest &#x2F; hackathon skills - write correct solution fast, not caring about how the code looks or be read later. (great for contests, bad if you do it also at work, code is read more than written bla bla)<p>- software engineering &#x2F; organization skills - for 99% of enterprise software development, and large chunk of CRUD based web development, you need to be organized, and clean, there are no &quot;algorithms&quot; to implement, you just need to have good concept of MVC, separation of concerns, write methods that do just one thing, meaningful variable names. in these settings, most of the code you write is simpler than even a fizzbuzz, you get data from a form, validate it, save it, do some business logic, generate reports, that&#x27;s it. This needs a whole lot different skillset than what a &quot;top talent X10 programmer&quot; would offer. This needs planning, design, patience, not trying to change the world, being OK with writing Java annotations, being just a regular professional software grunt.<p>- Library and API designers - there is a great skillset of writing a library that has self explanatory interface, good documentation, and is just a fun to use. People who know how to build a DSL or an API that makes sense, is a whole different skillset than the above 2, and a fizzbuzz test will not be the one that will let that diamond shine in an interview.<p>Programming is not just one skillset just like &quot;music&quot; or &quot;sports&quot; or &quot;writing&quot; is not a single skillset.<p>You can be a great comic actor but a lousy dramatic one, you can be a great sports writer but never be able to get a novel published. you can be a great golf player but never be able to win your 10 year old kid playing soccer no matter what you try.<p>Perhaps FizzBuzz is the common denominator, e.g. you can say that if someone can&#x27;t play a C major chord on a piano, they are not going to be a pro musician, but anything beyond that, anything that tries to test &quot;programming skill&quot; beyond that level is not far from auditioning a violinist on a chelo just because both have strings.
Geeeabout 10 years ago
I&#x27;d say that the &#x27;talent&#x27; of programming comes from the tenacity to handle all kinds of bullshit and be able to adapt and survive in this environment. Just setting up a Python environment on Windows is a nightmare, and most people will just give up. Second part of the talent is the experience of how to handle or avoid all the bullshit and get the work done.
SEJeffabout 10 years ago
A 10x programmer is one who teaches the rest of the team all of his skills, not one who is necessarily better than everyone else.
gmrsabout 10 years ago
The creativity part of programming requires a good sense of usability, a good sense of how to organize things nicely and those things require some sort talent yes.<p>The same applies to language and grammatics. One thing is to write a phrase well, other thing is to <i>transmit</i> the right emotions with the phrase you write.
trhwayabout 10 years ago
by definition, most of us working in this crowded industry are mediocrity. And even if somebody is a very talented programmer (say like me :) the system will make sure that it doesn&#x27;t matter in the end.<p><a href="http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Barge_Haulers_on_the_Volga" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Barge_Haulers_on_the_Volga</a> (depicts typical implementation of SCRUM process with 1-day long sprints)<p>(until of course, one is so &quot;talented&quot; that s&#x2F;he made onto the barge as a foreman or better - owns the barge, though it usually requires completely different from programming talents)
parsnipsabout 10 years ago
Poor analogy follows: Programming ability is like chess ability. The skill lay on a regular distribution, but the game that 1900 players play (top 5%) is much different than the mean (~1400).
laurentogetabout 10 years ago
the comments on this are a fascinating read. who knew programmers had such a deep belief that their ability is rooted in almost magical notions of talent, art, creativity and is not just another skill you can learn.<p>it is definitely a satisfying notion to think of your activity as a consequence of a god given gift, rather than just a job, but as engineers i think we should do better than relying on anecdotes and beliefs to understand what it is we are doing it.
PaulHouleabout 10 years ago
I think one difference between this lady who built a complex system and &quot;a programmer&quot; is that the typical professional programmer works on a legacy system.
gyardleyabout 10 years ago
The set of people who believe programming ability is bimodal and the set of people who believe they&#x27;re in the higher of the two modes is pretty much identical.
aidenn0about 10 years ago
I think the bimodal theory exists because we merely haven&#x27;t learned to teach people without exceptional talent programming.
platzabout 10 years ago
maybe she said she &quot;was not really a programmer&quot; because she didn&#x27;t want to be associated with one (consciously or not). I have heard that sometimes women view programming as a low-status job i.e. akin to labor.
bhzabout 10 years ago
It&#x27;s not bimodal, because there there are 10 different types of people.
评论 #9494732 未加载
bernardlunnabout 10 years ago
My experience totally contradicts this. I am a biz guy but I have been privileged to work with a handful (literally, about 5) developers who are not just 10x better than average but 50x or 100x better. Its like denying Black Swans - rare is different from non-existant.
评论 #9487354 未加载
chetanahujaabout 10 years ago
My wife and I volunteer teaching &quot;programming&quot; to my son&#x27;s second grade class once a week. It&#x27;s actually a mixed first&#x2F;second grade room so half the kids in the class are first graders. I&#x27;ve been teaching them writing simple algorithms and games in scratch (scratch.mit.edu) and studio.code.org.<p>These kids are young enough that almost nobody had any exposure to &quot;coding&quot; or algorithmic thinking before this. It&#x27;s about 30 kids. Here&#x27;s what I&#x27;ve observed (Yes it&#x27;s anecdata... but I&#x27;m reporting my own impressions here):<p>There are about 6 kids who&#x27;re pretty quick on most of the assignments... evenly divided between 3 girls and 3 boys... then there&#x27;s about 15-20 kids who are more or less similar in aptitude. The top 5-6 programming kids are also the kids who I feel have the most advanced verbal skills (just from speaking with them). I&#x27;ve been told by the class teacher that two of these kids are advanced math learners but the others are good students but not advanced beyond grade level.<p>The more surprising part is the bulge of 15-20 students in the middle. That&#x27;s a far bigger number than what I expected who regularly complete challenges correctly and within the time given. Many of these kids are not particularly top level math students. Most seem to have good verbal skills but nothing exceptional. Most surprisingly, many of these kids are first graders. Once I saw this in the first few classes, I significantly raised the level of challenges I was giving them. And they kept working them out. It&#x27;s fair to say that I was pleasantly surprised.<p>Yes it&#x27;s not a particularly strong scientific study but I&#x27;m here to say that there&#x27;s absolutely no way you can convince me that Programming ability is some genetic trait with a bimodal distribution... at least not in the absence of hard scientific data. The one study that has polluted our discourse for many years (because Jeff Atwood trumpeted it on his blog) was retracted in dramatic fashion by it&#x27;s own lead author:<p><a href="http:&#x2F;&#x2F;retractionwatch.com&#x2F;2014&#x2F;07&#x2F;18&#x2F;the-camel-doesnt-have-two-humps-programming-aptitude-test-canned-for-overzealous-conclusion&#x2F;" rel="nofollow">http:&#x2F;&#x2F;retractionwatch.com&#x2F;2014&#x2F;07&#x2F;18&#x2F;the-camel-doesnt-have-...</a><p>And to complete my story - Yes, there are 2 kids who don&#x27;t particularly enjoy this class at all. They do seem to be behind the rest of the class in general scholastic aptitude though by no means &quot;stupid&quot;... my wife spent an extra hour with them separately and they thrived under a higher level of direct attention. There are a handful of others who end up doing their challenges slower than others. One of the most amazing and heartening things I&#x27;ve seen is that the kids who finish the challenges are spontaneously going to the kids who haven&#x27;t and have been helping them out. And in the end, each and every kid has finished all the challenges we&#x27;ve given them
bitLabout 10 years ago
Tyranny of mediocrity commences...
jerfabout 10 years ago
There&#x27;s a lot of scenarios that could produce what we witness, and eliminating one doesn&#x27;t prove which of the others it is.<p>It could be the case that programming talent is bi-modal or multimodal, but each mode is itself a normal distribution. There would be a &quot;talent&quot; involved, but it would still produce a normal distribution once you cut the bottom off. This is suggested by such things as the bimodal distribution on the handful of peer-reviewed papers that at least opened the question about whether incoming freshman could be sorted into &quot;those who could get it&quot; and &quot;those who can&#x27;t&quot; buckets by a simple multiple choice question at the beginning of the test. (I do not claim they have solved the problem, but it is an interesting data point. This is that paper that was <i>extremely</i> widely misunderstood by professional programmers as being a test that required the students to guess in advance how things like &quot;equality&quot; worked in programming languages, when in fact it wasn&#x27;t about being &quot;right&quot; about programming languages but about being able to form a <i>consistent</i> theory about how such things might work.)<p>It may be the case that talent is single-mode normally distributed, but there&#x27;s also a threshold necessary to function, which can be at any arbitrary point along the curve; I&#x27;d suggest evidence would suggest it&#x27;s certainly above the average as with all due respect to my fellow humans it does not strike me as the case that more than half of the human race can simply become professional programmers. (This is less elitist than it sounds, because in many cases supply &amp; demand is such that only the best can become professionals anyhow, and that&#x27;s not just &quot;NBA basketball players&quot;, it&#x27;s even things like music composers or painters. If you are a 50%-th percentile composer, do not try to make a career out of it. I say this as one who has faced down this choice personally.) The resulting truncated-normal distribution of talent in the professional space would have a lot of people piled up on the bottom, being just barely able to cross over the talent bar, and then a long-tail effect where extremes would be more likely than you&#x27;d naively expect. Further, courtesy of the Central Limit Theorum, as this initially non-normal distribution of talent went through the usual random vagueries of life and professional career, it would be the case that the curve overall would become more normal, but would be quite likely to retain the longer tail and never be quite normal. This is suggested by the fact that this rather does sound like the programming world we live in.<p>Further if we&#x27;re going to go all social-engineering on the question, I&#x27;m not particularly interested in telling people pretty lies to make them feel good, or worse, make <i>ourselves</i> feel good about how good a person we are, while sucking them in to a career that does not suit them. <i>If</i> talent exists and matters, then it behooves us to <i>say so</i> and give people the ability to examine themselves with eyes open and ask if this is the right thing for them, or if they should pursue another career which they may find more satisfying. There is, of course, a lot of room for &quot;average programmers&quot;, almost by definition, and &quot;average programmer&quot; already likely entails &quot;above average talent when the whole population is considered&quot;.
belovedeagleabout 10 years ago
The problem with the argument that &quot;Programming skill can&#x27;t be bimodal because that would be elitist and make me feel bad about myself being an elitist&quot; is that there&#x27;s a lot of evidence that programming skill <i>is</i> bimodal. Look at fizzbuzz as an obvious, if not entirely complete, example.<p>Would it make us all feel better if programming skill weren&#x27;t bimodal? Sure. But a roomful of people clapping at that proposition doesn&#x27;t make it true.
评论 #9486663 未加载
评论 #9486765 未加载
评论 #9486909 未加载
评论 #9486685 未加载
评论 #9486754 未加载
exstudent2about 10 years ago
&gt; If the only options are to be amazing or terrible, it leads people to believe they must be passionate about their career, that they must think about programming every waking moment of their life. If they take their eye off the ball even for a minute, they will slide right from amazing to terrible again. That leads people to be working crazy hours at work, to be constantly studying programming topics on their own time, and so on.<p>In my experience people really are either amazing or terrible and those that are amazing are super passionate about programming, think about it and study it all the time...<p>I don&#x27;t really understand the argument as to why this isn&#x27;t desirable. Just like any difficult task, performing well is going to take a lot of practice and dedication to keep your skills fresh.
评论 #9486657 未加载
评论 #9488983 未加载
ebbvabout 10 years ago
Anyone who has dealt with Django should believe his claim to being mediocre. ;)<p>Actually I think this is a good article which makes some good points, but I think it misses another harmful myth; that people are one thing all the time.<p>It substitutes the idea that people are either good or bad programmers with good, bad or mediocre.<p>But in reality, one person is not always good or bad or mediocre all the time. Someone might write brilliant code today on this project the are passionate about, but write shitty code next quarter on a project that doesn&#x27;t have their interest. Or while they are distracted because something came up outside of work. Or because they are writing in a new, unfamiliar language and they don&#x27;t realize the code is bad. Or any number of other reasons.<p>Human beings are fluid things. Over time someone may develop an average quality of output, but that&#x27;s only going to be something that comes about over time. And ultimately, I think it&#x27;s somewhat meaningless. Since the average is not what you care about in any given case, and may or may not be applicable to whatever new thing comes down the line.<p>Plus, as the article points out; how do you really define good or bad? Number of errors that get caught by unit testing on first submission or number of errors which don&#x27;t get caught until the code is already in production?
diminotenabout 10 years ago
There is a myth, but the myth propels reality. Take this line in the article as a reason:<p>&gt; That leads people to be working crazy hours at work, to be constantly studying programming topics on their own time, and so on.<p>This attitude will <i>create</i> ninjas&#x2F;rockstars&#x2F;whatever, even if the original notion isn&#x27;t true. Folks who spend every waking hour thinking about and learning about something are going to be better than the folks who don&#x27;t do that level of effort.<p>I agree that programming skill is going to shape itself into a bell curve, but I would also argue that a bump exists in the 3rd or 4th standard deviation, with all the folks who&#x27;ve been driven (for good or bad reasons) to eat&#x2F;drink&#x2F;breathe programming.<p>The thrust of the article is that it&#x27;s okay to be mediocre, and I agree, but I don&#x27;t think it&#x27;s healthy to be satisfied with where you are in <i>any</i> skill-based craft. It&#x27;s more healthy to be okay that you&#x27;re not <i>already</i> better (I&#x27;m not a rockstar <i>yet</i>), but being okay with not <i>getting</i> better is a toxic thought.
评论 #9486831 未加载
forloopabout 10 years ago
The video: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=hIJdFxYlEKE" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=hIJdFxYlEKE</a><p>YouTube doesn&#x27;t have playback at 3x speed, unfortunately.
评论 #9487039 未加载
michaelochurchabout 10 years ago
The &quot;10x&quot; effect is real (not a &quot;myth&quot;) but it has more to do with skills and exposure than innate talent. (It&#x27;s also context-specific. I&#x27;m a 10x when I get to pick the tools, but a sub-1x on enterprise Java because I just can&#x27;t bring myself to give a fuck about some Spring&#x2F;Hibernate&#x2F;POJO legacy mess.) That&#x27;s what missed in this conversation. Yes, those mediocre Java programmers (CommodityScrumDrones) really are a drag, but it&#x27;s not low IQ that has made them what they are, and they&#x27;re not genetically destined to remain that way. That aspect of a person can change, and quickly.<p>At any rate, I&#x27;ve met plenty of high-IQ people who are just awful programmers. Smart as hell, but really bad at writing code. I think that attitude is a major factor. If you think programming is important and genuinely want to learn it (and not just &quot;good enough to get a job&quot;) then I think it&#x27;s quite possible for a lot of people to learn how to do it well enough.<p>Innate talent might matter at the extreme upper end of competitive programming. Just as most people can run a marathon with enough work, but very few will ever get below 3:00, I&#x27;d believe that the percentage of people who can reach the top in programming competitions is smaller than the percentage who can program adequately. So there&#x27;s probably a talent ceiling there, just as there is in athletics. But real programming is more cooperative than competitive and there are plenty of factors (especially design sense and cross-domain knowledge) that matter in the real world more than innate talent.<p>Programming has a steep learning curve, but what&#x27;s missed is that a steep learning curve is <i>a good thing</i>. The 10x effect exists because it&#x27;s possible (especially in the early stages) to improve your own effectiveness by 20, 50, or even 100+ percent per year... and one becomes a true 10x-er not based on in-born talent but by having several 1.5x growth years in a row.