TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

The Programming Talent Myth (2015)

98 点作者 vanni大约 7 年前

20 条评论

EpicEng大约 7 年前
&gt; &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>This may be true if your definition of programming is the literal act of writing code &#x2F; recalling syntax, and learning new tools. Of course, that&#x27;s not really what programming is. That&#x27;s the easy part.<p>Programming is about problem solving, code is simply the tool. Critical thinking&#x2F;problem solving ability, the ability to think in abstractions, the ability to hold a large amount of information in your head all at once, etc. are all skills, and not skills that the majority of people are particularly good at.<p>We wouldn&#x27;t judge a carpenter on e.g. his&#x2F;her ability to use a saw, or a EE on their ability to use a scope. I never understood why so many put so much emphasis on the tools a software dev knows.
评论 #16812728 未加载
评论 #16812958 未加载
评论 #16812769 未加载
评论 #16812622 未加载
评论 #16813167 未加载
评论 #16812546 未加载
评论 #16812940 未加载
评论 #16813815 未加载
评论 #16812626 未加载
评论 #16813733 未加载
评论 #16815051 未加载
评论 #16813126 未加载
thoughtsimple大约 7 年前
I used to be a &quot;rock star&quot; programmer. I could run rings around my coworkers. I wrote an embedded OS for running machine tools (I had help.) Back then, you read books and memorized everything. I knew x86 assembly and could use a logic analyzer to debug my code. This was in the 80&#x27;s.<p>Now the amount of knowledge required to do even mundane tasks is an order of magnitude more. No one can memorize all the APIs and frameworks needed to do their jobs programming. I couldn&#x27;t work without search. I don&#x27;t memorize anything anymore. I work on dozens of different technologies.<p>Basically, I&#x27;ve become a mediocre programmer at a large number of different programming tasks where once I was expert at a very few. I&#x27;m the same person but the meaning of what is a programmer has changed over time. I&#x27;m OK with that.
评论 #16815267 未加载
评论 #16813360 未加载
评论 #16813330 未加载
jasode大约 7 年前
The 2 sides debating &quot;talent&quot; are always talking about 2 different things.<p>(#1) &quot;talent&quot; doesn&#x27;t exist: knowledge and skills can be <i>learned</i>. No infant comes out of the womb knowing 5 languages or physics equations or the syntax of &quot;printf(&quot;hello world&quot;)&quot;. Every single human who knows how to do something well at one point in their life <i>did not know</i> how to do it well. If one can <i>improve</i> by learning, it means talent doesn&#x27;t exist. This aligns with Carol Dweck&#x27;s &quot;growth mindset&quot;, the 10000 hours meme, self-improvement, etc. This <i>internal</i> perspective compares oneself at time_before vs time_after.<p>(#2) &quot;talent&quot; is a subjective <i>ranking</i> of people&#x27;s abilities: there are people who are noticeably better at expressing their skills. E.g. NBA basketball player Shaq O&#x27;Neal has spent more than 10,000 hours practicing free throws with a dozen different coaches to achieve 52% success, but there&#x27;s a high school kid that can sink them at 80%. We can say the kid is &quot;more talented&quot; at free throws. To say that &quot;free throws&quot; is a &quot;learnable skill&quot; doesn&#x27;t change anything about noticing the obvious difference in abilities. If Person A <i>learns faster</i> than Person B, that in itself is a talent. This <i>external</i> perspective compares people against other people.<p>People who hold meaning #1 vs people thinking of meaning #2 are having 2 different conversations. E.g. when companies say <i>&quot;they are looking to hire the most talented&quot;</i> (meaning #2), they are not talking about people who can self-improve (meaning #1).<p>In this essay, Jacob Kaplan-Moss is talking about meaning #1. Yes, you can read it and take all his advice to heart. However, you still have to understand meaning #2 <i>to properly decode</i> what others are talking about when sports teams, music record labels, Hollywood, venture capitalists, and startups all say they are <i>&quot;looking for the best talent&quot;</i>.
pmcollins大约 7 年前
Lately, I&#x27;ve started thinking of programming as an art form. If you substitute programming with music, how would you make all of these evaluations about the craft and of its practicioners?<p>You may be hiring for guitarist and require at least 3 years experience playing the guitar. J.S. Bach applies, but has never played the guitar. As an industry, we typically wouldn&#x27;t hire him due to lack of experience. Instead we might hire some mediocre kid with the 3+ years experience and a history of guitar lessons, even though after a 100 days on the job, J.S. Bach would have been a mind blowing, mesmerizing guitar player, even if he was still a little clumsy. And after a few years, he&#x27;d be more amazing still. Yet as an industry, we focus the ability to be productive on day 10 instead of day 100 or 1000. For long term positions. Why?<p>How would the software industry conduct an interview for a musician? We&#x27;d ask you about all of the songs and instruments you&#x27;ve ever played and have you talk about those experiences. We might ask a hypothetical question about what if you had to play a certain piece, how would you handle it. Maybe we&#x27;d have you answer some trick questions: &quot;What are the frequencies of the first five harmonic multiples of B right below middle C?&quot;<p>I find this to be utter madness.<p>I think the best way to find a good (or potentially good) developer is to have them do what we do in our jobs, which is, given some vague requirements and some undefined period of time -- a few days or so -- write code to solve a simple problem.<p>And I loved the part in the article about mediocrity. I&#x27;ve found the best developers to be humble enough to constantly work on improving their craft. So, don&#x27;t reject a candidate because they appear to &quot;lack confidence&quot;.
评论 #16816282 未加载
评论 #16815169 未加载
评论 #16813457 未加载
vinceguidry大约 7 年前
While on the surface of it, sure, programming is a skill and not an innate talent, it would be foolish to compare it to other career fields in that way. You can go to school to learn how to be an architect, then go and get a job as an architect and be immediately productive. You can go to school to learn how to lay bricks, then go to a job site and immediately start building something.<p>You cannot go to school to learn how to be a programmer, and then expect immediately to be productive at any arbitrary programming job, <i>unless you&#x27;re a talented coder</i>. The education gap is too great. It&#x27;s like medicine in which you need a few years of residency before the medical field considers you fully competent.<p>If you go to code school and learn Rails and React, then you can expect to be somewhat immediately productive on a Rails &#x2F; React project. You can&#x27;t expect anything out of them if it&#x27;s not a Rails &#x2F; React project. They may be able to ramp up quickly, if they&#x27;re talented. If they&#x27;re not talented, then they won&#x27;t be able to, and the employer has to take the hit.<p>We will need a revolution in software development pedagogy before individual aptitude stops mattering to employers. The state of education at the moment is so bad that unschooled yet talented individuals can be much much better at fulfilling business requirements than trained and educated professionals. Try that with medicine!
评论 #16813127 未加载
评论 #16812470 未加载
评论 #16813013 未加载
评论 #16812794 未加载
评论 #16812428 未加载
adam-a大约 7 年前
I think this is absolutely spot on. So many people put their programming expertise or productivity down to some innate quality (that is apparently overabundant in white men). To me it seems nearly every one of those rockstar ninjas has also spent an enormous amount of time learning their trade - usually a lot of time outside of formal school or a 9-5 job.<p>I think if there&#x27;s one skill that might be innate and that helps people be better at programming, it&#x27;s patience. Learning to program and learning programming tools is for most people a boring and extremely frustrating task. You need patience to stick with it after spending two days solid trying to debug some linker error or CSS bug or whatever esoteric programming issue you inevitably have to deal with.
评论 #16813270 未加载
评论 #16812962 未加载
评论 #16813028 未加载
itamarst大约 7 年前
If our starting point is that programming is mostly about skills, productivity starts getting interesting - what does productivity mean?<p>My personal take is that it means solving <i>problems</i> with less wasted effort. Less code (a 0.1× programmer can solve problem with 10% of the code - <a href="https:&#x2F;&#x2F;codewithoutrules.com&#x2F;2016&#x2F;08&#x2F;25&#x2F;the-01x-programmer&#x2F;" rel="nofollow">https:&#x2F;&#x2F;codewithoutrules.com&#x2F;2016&#x2F;08&#x2F;25&#x2F;the-01x-programmer&#x2F;</a>), but also by solving the right problem, and coming up with better solutions (<a href="https:&#x2F;&#x2F;codewithoutrules.com&#x2F;2017&#x2F;10&#x2F;04&#x2F;technical-skills-productive&#x2F;" rel="nofollow">https:&#x2F;&#x2F;codewithoutrules.com&#x2F;2017&#x2F;10&#x2F;04&#x2F;technical-skills-pro...</a>).<p>These are all skills you can learn. And I think focusing on learning technologies obscures a lot of these skills, since they&#x27;re about communication and listening and project management.<p>For productivity in terms of technological knowledge I&#x27;m starting to think that, since choosing <i>which</i> tool is more important than <i>how</i> to use it, a better way to get better is to study case studies. Instead of trying to learn &quot;how can I use Mongo, how can I use PostgreSQL&quot; you try to learn &quot;when should I use Mongo, when should I use PostgreSQL&quot;.<p>I&#x27;d love to hear about good sources of case studies. <a href="http:&#x2F;&#x2F;www.aosabook.org&#x2F;en&#x2F;index.html" rel="nofollow">http:&#x2F;&#x2F;www.aosabook.org&#x2F;en&#x2F;index.html</a> is good, but doesn&#x27;t cover kind of programming one would do at a company, much.
评论 #16813199 未加载
humanrebar大约 7 年前
&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>Aren&#x27;t these all talents?<p>* learning many things<p>* learning difficult things<p>* recalling things you&#x27;ve learned when you need them<p>If something is a skill, one would expect all engineers to get better at it with practice. But there are many abilities in engineers that don&#x27;t seem to work that way.
评论 #16812502 未加载
评论 #16812472 未加载
ionised大约 7 年前
The only thing stopping someone becoming a programmer is a genuine interest in the craft.<p>People generally don&#x27;t get good at things they find boring.<p>We software developers are not special. We don&#x27;t have something that non-programmers lack, apart from maybe an inflated sense of self-worth.
pixelperfect大约 7 年前
Does anyone else disagree with this article? There is talent for programming, and that talent is correlated with IQ. A person with average or below average IQ is very unlikely to excel as a programmer. There is a lot of academic literature to back this up.
评论 #16814389 未加载
foreigner大约 7 年前
The sentiments in this article are all very nice and progressive, but... have you ever actually tried to interview people for a programming job? The simple fact is that lots of people, perhaps most people who apply for jobs as programmers, are completely helpless. They couldn&#x27;t code their way out of a paper bag. It&#x27;s actually really depressing interviewing them, because you <i>want</i> them to be successful and yet most of them fail miserably at the most basic things.
mistrial9大约 7 年前
&quot;programming&quot; is not one thing.. most comments here fail to make even a basic distinction between [ php forms developers; dev-ops Go pipeline builders; game developers; domain-specific problem solvers] or other. Include in any of those categories varying, more or less GUI design, more or less quality, more or less efficient execution, more or less language mastery, more or less elegant design.<p>Fish apparently are not good at describing water (!)
Adamantcheese大约 7 年前
All I&#x27;m seeing here is that regardless of actual dictionary definition I still won&#x27;t be hired because of some vague opinionated definition in someone&#x27;s head.
jbellis大约 7 年前
I guess &quot;programming talent is a normal distribution, not a U distribution&quot; doesn&#x27;t make for as catchy a headline.
maerF0x0大约 7 年前
&gt; The US Bureau of Labor Statistics estimates that by 2020 there will be a 1.5 million programming job gap<p>This makes me wonder 2 things<p>1) Why are we debating if we should keep the ~500k H1B visa holders around (of course we should) and<p>2) Why don&#x27;t we just train the top 10% (in ability + willingness) of the ~13M unemployed people in this country?
评论 #16814279 未加载
d0lph大约 7 年前
I don&#x27;t want to be mean but it looks like programming is both:<p>Talent:<p>1. natural aptitude or skill.<p>Passion:<p>2. strong and barely controllable emotion.<p>...<p>* an intense desire or enthusiasm for something.<p>...
评论 #16814410 未加载
weirdmantis大约 7 年前
It&#x27;s like drawing. Sure maybe with a lot of effort anybody could draw a close approximation of a good drawing but unless you are innately talented and driven you will never be at a good enough level to make a great career at it.
israelsonbj大约 7 年前
Why do computer science curriculums yield such a common thought toxicity? How can they engage greater diversity and cultivate empathy, compassion, and give students perspective to self-evaluate themselves?
draw_down大约 7 年前
I understand why it&#x27;s important to emphasize that programming skills can be learned and that we aren&#x27;t just a bunch of god-given talents. But how far are we going to take this? Surely we can admit that for any given set of skills some people are going to take to it more readily than others, and we can&#x27;t account for the difference simply in terms of amount of practice or hard work. The top mathematicians or violin players or whatever in the world probably do work harder than others in their field, but that&#x27;s not the same as saying that the difference between them and others is simply the amount of work&#x2F;practice.
评论 #16816807 未加载
mnglkhn2大约 7 年前
If you believe programming is not a talent then you won&#x27;t complain when your pay is not structured the same way that talent pay is.