8 ms·
There is no talent shortage
- prodigal_erik 14y agoI didn't encounter programming by luck. I was mesmerized by the first computer I saw, and soon sought out programming through library books and hobbyist magazines. At that time, home computers were rare and expensive, so I was lucky that my parents' indulgence made my obsession possible, but now? They're so common that it's very likely John's family had a desktop on which he could simply type "I want to program computers" and it would tell him how. I have trouble believing strong aptitude could go completely unexpressed until college.
- theatraine 14y agoPersonally, my aptitude was unexpressed until college. It was first-year computer programming (standard in Canadian engineering schools) that opened my eyes. Prior to this, I never really had the desire to program anything because no one had told me how fun it was. It was not encouraged by my parents (who didn't even own a computer for the longest time) or my teachers both of which did not know the first about programming or why you would ever want to do it. I certainly think that the "talent shortage" could be reduced by making computer science mandatory in high school, or at least on equal footing with other sciences such as biology or physics.
- graeme 14y agoYou're assuming that someone knows what "I want to program computers" means. I didn't. I loved playing around with computers. But no one in my family was technical. None of my friends programmed. I literally had no idea what programming was. Most people don't, even those who are otherwise very effective with computers. Now I've started, much later, and I love it. This xkcd comic is relevant: http://xkcd.com/519/ http://xkcd.com/519/ I'm sure if someone had shown me what a programming language or a terminal was, I would have started 10 years ago. Instead I learned about other things.
- Styck 14y agoI had no idea either. I started programming in college but it wasn't until we were taught assembly that I realized that what I had been doing as a kid with softice had been assembly all along.
- zanny 14y agoCount this as a "me too" comment. I played on the DOS terminal for years, wired together old machines into LANs and did hex editing of WoW binaries when I was 12 without realizing how close to hacking that was. I heard about Python / C++ / etc, but didn't try "diving in" until college with CS1. Basically, IT knowledge instead of CS knowledge. I can't help but feel that anyone that is <22 right now is getting a radically different introduction to hacking than those who are >=22. The <22 grew up on GUI in the Windows monopoly, and probably never needed to dig in to computers to get things "working" as much as the elders did, which would actually introduce them to CS much earlier.
- ruswick 14y agoI feel somewhat the same. I'm 16 and have only been doing this for 2 years. I know several people my age who have been doing this much longer and who have had way more monetary success in doing so. I'd say I have a decent amount of talent, and spend probably 75% of my waking hours increasing said talent, but I still feel sort of late. I often lie awake wondering if I'm already behind in my career.
- m3mnoch 14y agono. there is absolutely a talent shortage. as proven by 1) the fact that the percentage of of the general population who have an aptitude for "brainy things" in general is pretty much the exact same as it was 20 years ago and 2) the percentage of companies with a need for said people is growing exponentially as software eats the world. basically, all of the new-need companies from point 2 are bottom-feeding all of the people from point 1 which applies upward pressure on the talent pool. because a talented accountant-turned-programmer still leaves a hole that needs to be filled. feelin' me? m3mnoch.
- tejask 14y agoMy programming experience was unexpressed before college as I was mostly interested in basic sciences - mainly physics. It was only after high school did I seriously get into CS type of stuff as I started developing an intesrest in AI/algorithms. So for me, it is not hard to believe that there could be a lot of people with a hidden aptitude for programming. After all, programming is a means to an end. After high school, understanding the brain and developing AI was my "end", which obviously requires strong programming skills and thus subsequently triggered a stronger interest for programming.
- jaekwon 14y agoI started programming late into highschool as well, and only a TI83 at that. My first rendezvous with network/gui programming started in college (though I was a CS major). Now, more than half a decade after graduation and working in silicon valley, I'm hacking on more serious projects like writing operating systems. I don't think starting late has affected me negatively too much. Just keep at it, you'll reach your full potential before you know it.
- jonny_eh 14y agoIf only everyone had enough talent to be in the top 1%, then everyone would have a job!
- ricardobeat 14y agoNaN
- thedufer 14y agoThe difference in these scenarios isn't really luck; sure, Norman has a bit of a head start. But John shows almost no interest. He picked a major, but that's about it. "Talent" may not mean exactly what people are talking about in this context, since interest in coding and a desire to learn about computers are just as important as natural ability. You can't say that the person who just goes to class is going to do as good of a job as the person who completes side projects, learns on their own, etc.
- apaitch 14y agoWhat happens once a person encounters programming is a different story. I tried, with seemingly mixed success, to portray Jon as someone who is indeed interested in coding - enough to try stuff on his own, and certainly not on a "just to get by" basis - but who did not discover this interest until he picked his major (arbitrarily, perhaps) and actually tried it. Adjusted for age difference, Jon is about as excited about programming as Norman was, but encountered it much later. I think there are many reasons why one would or would not encounter programming at a younger age AND in a manner that excites him (parents, friend circle, alternative entertainment available, neighbourhood, school/teachers, etc). In aggregate, they come down to luck.
- thedufer 14y agoI'd disagree, mostly because I know a "Jon" who was actually interested in programming, and he's gone pretty far already (we graduated a month ago). Despite my 7-8 year head start, we're in pretty similar positions.
- amcintyre 14y ago"John only started programming in college. He has 3 years of “experience” – much of it spent working on school assignments, not projects – and Norman has 10. John’s not as experienced or capable, but he may well be just as talented as Norman. Norman will get snapped up by a top company and snowball into a “rockstar” developer, whereas John will start (and maybe spend) his programming career in relative obscurity." I'm not sure what I'm supposed to gather from this John/Norman comparison. If John has the same amount of natural talent as Norman, after a few years of full-time professional development work he's likely to be just as valuable as Norman. There's plenty of time to become really competent and valuable even if you start very late (like in your 30's or 40's, which I assume classifies as "freaking ancient" in many companies' eyes). I don't see how one person having some imagined head start figures into whether there's a shortage or not; but then, I don't live in the valley, so perhaps this is a cultural thing there. I do agree, though, that there's a lot of companies out there that seem to want the top 1% (all the while offering bottom 25% rates).
- codeonfire 14y agoBuilding software is not like installing carpet. You don't just do it for a couple years and become a skilled worker. Its obvious that many misinformed people think that software development is a blue collar job that people go to vo-tech school to learn to do while rebuilding car alternators. This way of thinking comes about because most people's experience with development is usually within a very, very small microcosm. There are people out there that did some VB work fifteen years ago who think that once a developer has ramped up on basic VB programming, they now meet the industry bar for software design and engineering. Is a physicist just as valuable after a few years of doing research as a full tenured professor with 30 years of research? After a few years of full-time professional development work John will be talented at working with a very, very limited set of tools that his company uses and developed the ability to solve a very small set of problems. This means he is perhaps as valuable as Norman to one single company and almost not valuable at all to most other companies.
- debacle 14y ago> Building software is not like installing carpet. You don't just do it for a couple years and become a skilled worker. I think you're wrong, there. Building software is, 99% of the time, like installing carpet. > Is a physicist just as valuable after a few years of doing research as a full tenured professor with 30 years of research? Terrible analogy. There are grad students who are more valuable than professors on the edge of the retirement. Comparing software development to academia is a specious argument.
- dspeyer 14y agoThis article is playing word-games. When employers and economists talk about talent, they mean capability, regardless of whether it's natural or comes from hard work. Your dictionary may say "natural aptitude or skill", but that's irrelevant to the job market.
- coryl 14y agoI hope most people know by now that "natural talent" isn't real. See books: Outliers, The Talent Code
- michaelt 14y agoGladwell's theory, as I've heard it, is that mastery demands 10,000 hours of good quality practice. When your developers cost $75 an hour including overheads, paying people for those 10,000 hours is an extremely costly proposition.
- coryl 14y agoNot sure what your point is, with due respect. Everyone wants to hire master engineers, but it's not like master engineers are available for hire.
- JamesLeonis 14y agoGladwell was arguing that it takes 10,000 hours to go from a knowing nothing to becoming a master at any craft. At 8 hours a day, every single day, is ~3.5 years. For programmers, most of the initial chunk of that time is through hobby programming or through formal training at a college or the like. That's 3000 hours that the company didn't pay for. That's probably the experience most programmers walk in to any company as a Jr Developer, and they are paid accordingly. Nobody is being offered $150k/yr with that level of experience. Maybe $30-$40 depending on where they are working, and then are promoted and given raises above that.
- michaelt 14y agoWhen I say $75 an hour including overheads I don't mean a salary of $150,000 - I mean a salary of $60,000 plus tax plus health insurance plus pension contribution plus office space plus a desk plus a computer plus the calls to IT Helpdesk plus the line manager's time plus any commercial software plus other developers' time coaching plus the 20% cut paid to the recruiter plus the HR and payroll people's time plus networking and internet connection plus the backed up storage space on file and mail servers plus the car parking space plus a phone line plus cleaning plus the break room food and coffee. Of course these things are company-dependent, but I'm a comparatively junior developer and for purposes of internal costing my employer costs my time at $75 an hour.
- losethos 14y agoPsychologists assume I must associate myself with being uneducated and not given a fair chance. The reality is I was one of 6 freshmen national merit scholars in my freshman year at ASU--40,000 total students. I was coddled into honors programs classes... I got to program a Cray. I felt really proud and elite when I passes the IQ tests to get a job at Ticketmaster. I got one-on-one tutoring at Ticketmaster that made taking my ASU classes a joke... except it got tough when I stretched myself by going into electrical engineering. In computer sciences I had spent all my freetime since 8th grade, so I was not so elite in EE. I got a master's. My EE was specialized in control systems, literally rocket science.
- xiaoma 14y agoIt is a weird market. I've been job searching pretty hard for the past month in SF and the response has been a bit frustrating. I get tons of people reaching out to me after meeting me at tech meetups, etc, but I'd say over half of those leads end up cutting me at an HR filter before I can even get an interview! From what I understand it's due to two things-- at 34, I'm older than others going for junior positions. I spent a decade abroad after graduation and have only a year of experience at a tech start-up in Asia. I can kind of understand the pursuit of someone who already knows what they're doing, but on the other hand everyone has to start learning somewhere. Sure my bohemian background and experience starting and running a non-tech business and learning multiple foreign languages doesn't translate directly into usable skills here, but I would have thought that it would have been a strong signal I'm capable of working hard and learning quickly. Not to overstate things, I am getting a lot of interest and a few interviews and even repeat interviews. It's just that things are moving very slowly, and I'm not getting a great return on the time I put into it. Also, SF is a very expensive city to live in off of savings earned in a developing country! I think the shortage isn't so much general talent; it's a shortage of people who already have X skill a given business wants right now.
- slurgfest 14y ago"already have X skill" is right but it's not everything. People are irrational about hiring in that they include (filter on) many features which are not really relevant. Like age and weird looking history and lack of salesmanship. These things shouldn't matter if you are just trying to get someone to build things well.
- heretohelp 14y agoPut your public email in your profile, I was about to contact you about my company but I can't because it isn't listed. If you want to find work, make yourself easiest to get a hold of. ;) Also, start hacking up a portfolio.
- viscanti 14y agoIt certainly helps to already have X skill. There may be some positions where that's a non-negotiable requirement. For most, you only need to show some experience with something related to X skill, and a willingness to learn quickly. The barrier to entry for programming is very low. Anyone can get started and build things. They can put their code up on github and start displaying what they've learned. They need to keep learning and challenging themselves though. The problem is that there isn't a lot of demand for "smart" or "talented" people who can't contribute quickly. Someone who writes bad code and adds bugs to production software is a drag on everyone else's productivity. In most companies there just isn't the time or resources necessary to teach basic programming skills. You probably don't need to know skill X to land a job, but you need to show that you can learn it quickly. If you can learn it quickly, then start learning it on your own. Most companies in SF don't care how old you are, they care that you can be productive quickly.
- ngokevin 14y agoNorman has skill, Jon could've had skill, so there is no talent shortage. Is the article saying because a lot of people COULD'VE had skill that there is no talent shortage, and then pedantically renames it? It's clever, but talent shortage or luck shortage or whatever you call it, companies need sufficient programmers and there aren't enough to go around.
- DividesByZero 14y agoThis is my situation - I only really found out I loved code in University, and only worked out what I really need to do to do that kind of work I want to do since entering employment. I'm still relatively young (24) but even I feel this experience gap in talking to potential employers. That said I'm now actively building a portfolio by working nights on real products and leveraging what experience I do have as heavily as I can. I also try to present how quickly I picked up the skills I do have in things like Ruby, coffee/node and all that 'sexy' stuff to show that I can pick up anything anyone throws at me really quickly. Hopefully by the end of the year I'll be where I want to be.
- flywheel 14y agoCoffeescript is a mistake that people without more experience make. If you think you may want to move your company's codebase to coffeescript you are going to be screwing them. It's not a 'sexy' new thing, it's a buzzword. You won't impress most people who have more experience if you bring up your knowledge of coffeescript.
- hpatel 14y agoTalent at any company can be divided in to following categories: a. People who make code* frameworks b. People who extend code frameworks c. People who maintain code frameworks * you can replace code with almost any other employable skill "Talent shortage" usually refers to people who fall in a). Every company claims to want to hire only a) but most companies need b) or c). Very early stage startups ideally need a), but they don't always manage to hire people in that category. They can temporarily bypass this requirement by hiring people in b) and using frameworks like (Rails, Django, etc) built by other people who fall in a) until they get to a point where a) types will be willing to join. When people talk about shortage of talent, they usually mean shortage of a) people. This is mostly because two of the three things that people in b) and c) need to become a) are hard to acquire and come with 'experience'(for those who try). 3 things you need to become a): 1. Acquiring a good base - data structures, algorithms, design patterns etc - learning languages/specific skills - interview skills 2. Acquiring good mental models - working with smart programmers - reading code by smart programmers - learning to make tradeoffs - actually building stuff 3. Acquiring reputation - Building stuff - Talking about stuff you build - Having other people talk about you - Collecting badges that other people recognize i.e. working at well known startups/companies, winning programming competitions, going to Berkeley, etc. Most people manage to succeed in 1) eventually. 1) is also where most college/other training programs focus. But, 2) and 3) are much harder to acquire. If a company is big enough they will assign an a) to mentor someone who is a b) or c), but this is often not viable for startups (and, imho, slightly unreasonable to expect from a lot of startups). If we figure out a way for b) and c) people to learn 2), we can solve a lot of the talent shortage. But, this requires either a b) or c) person to spend time on their own looking at work by a) people (not always possible and extremely time consuming), or an a) person mentoring the b)/c) person outside companies (100x faster, imho). Until we build social systems that enable b) and c) to transition to a) easily, the alarms for 'talent shortage' will continue to ring. Caveats: 1. A lot of jobs only need b) or c). Employers could adjust expectations. 2. Luck is a huge factor. You don't actually have to be a) to be hired or considered a) because perception(3) plays a big role.
- einhverfr 14y agoBut if that's the case the problem is different than it is portrayed to HR and that's the problem. What you need is someone for a) is someone who is both a software engineer (i.e. thinks hard about design) and is a coder/developer. The amount of experience doesn't really matter though experience is an important guide. What really matters is attitude. How does the programmer approach design questions? Is the individual someone who just wants to code? Or is the individual one who is always addressing his or her code for maintainability and pursuing perfect in that regard? I have seen projects built by people who coded for a dozen years and never got to the point of actually thinking hard about design and maintainability. I have even been stuck in the nightmarish position of maintaining such code (and of course deciding to refactor with a chain saw!). Again a lot of it is a question of priorities and, I hate to say it, ego. One has to both have an ego enough to question prevailing wisdom but have a small enough one to understand that one's coding style is never perfect. Such individuals are rare, in my experience.
- k_kelly 14y agoThen what does a talent shortage look like? This article is arguing that the current situation is because companies wont employ below a minimal technical competence. New, brand new, out of college only done programming in college programmers can expect massive starting salaries, the best equipment, and probably lunch and accommodation with a strong chance that they'll get a higher salary the year after. Few companies require you to actually have used their technology or their architecture, if you have you might have already priced your way in to a job above the one been offered. If the industry contracts as it surely will programmers are going to be scratching their heads at articles like this.
- zanny 14y agoI am a brand new, out of college, only done programming in College (graduated in 2 years) and job hunting is a PITA because 99% of HR's don't even look at me. The BS in CS is not everything, maybe from a top school, but I got mine from a no-name liberal arts college. When the school name doesn't raise eyebrows you do need a sizable experience portfolio to get interviews.
- AUmrysh 14y agoYep. Well, I went to a similar sort of small liberal arts school (actually they have great business and nursing programs that are only recognized in the local region). I got interviews from Amazon, Cerner, and a few other big companies, but I was completely unprepared for job interviews (my fault, I know). It's not so much that the talent doesn't exist, it's that businesses only want to hire the very best, and they pass over people who show any sign of weakness or being unsure. I've got a great job now programming all sorts of things, but it's not purely CS, there's a lot of other stuff there too. Perhaps more BS-CS degree earners should look into industrial applications, they're not ashamed to hire people from small colleges.
- joeycfan 14y agoTwo things - Donald Knuth said only one person in 50 has the brain wiring to do computer science. He didn't say programming, but it has been my experience that it applies there, too. Did you notice that, programmer wise, the industry has not progressed to agriculture but is still practising hunting/gathering?
- jiggy2011 14y agoOk, really how common are people who have started 2 companies and written an OS by the time they start college? I did CS at a pretty good university (AAB A level requirement) and there were plenty of uber-nerds in the class but nobody had done anything like this. I did a bit of casual freelance work building basic PHP/HTML websites and fixing/building PCs before I started college, but never anything I would have dreamed of incorporating a company for. In fact I'm not sure how many jurisdictions would even let one start a company at that age?
- sentinel 14y agoI think you might be missing the point of the article.
- jiggy2011 14y agoNot really, no wonder companies have problems hiring if they are after some mythical person who does not represent the top 1% of programmers, more like the top 0.001% (even Linus Torvalds or Bill Gates don't tick all the boxes here). In fact I would be surprised if someone with that level of accomplishment so young would even consider taking any job with any company, more likely they are already putting together an MVP of the thing that will replace google.
- sanxiyn 14y agoYou may be surprised, but it is possible to be very talented in programming without much entrepreneurial ambition. Well, the original article mentioned "started two companies" so probably Norman is not looking for jobs. But I do know a person who's been programming since ~12, wrote a 3D game in C++ at ~16 (multiplayer one, thousands of players), and wrote his own OS, and happily employed.
- jiggy2011 14y agoOut of curiosity what were the game and OS?
- JamesLeonis 14y agoMaybe it's just me, but this seems to be in response to an earlier HN post about the entrepreneur prodigy [1] as well as a vague stab at the 10x programmer myth. [1]: http://news.ycombinator.com/item?id=4140048 http://news.ycombinator.com/item?id=4140048 Largely though "Norman" is more attractive than "John" to businesses because he displays strong signals both in talent and work ethic. "John" might be a hard worker and have talent himself, but because he has no obvious projects or other public displays of talent his signal to employers is weak. What "John" needs is something that sends a comparatively strong signal. In a way, this sounds like a call to action to figure out how programmers can build a sufficiently strong signal for employers to see. How do we separate the signal from the noise? Interestingly, this signalling problem arises with employers as well. Look how many articles are posted here about "How to attract the best talent." http://en.wikipedia.org/wiki/Signalling_(economics) http://en.wikipedia.org/wiki/Signalling_(economics)
- vonmoltke 14y agoThat Norman is more attractive than John is not in question. The contention is that many companies want a Norman and so will pass over a John, even when a Norman is not available (hence creating the perception of a shortage). Furthermore, these companies usually do not need a Norman; a John would work out fine. A number of posters in this thread assert that anyone who can write code competently[0] can get a job in this economy. I personally, as with the OP, don't see that. I see two broad groupings of companies[1]. The first group only wants Normans or near-Normans, and complain that there are not enough of them to fill their slots. The second group is happy with Johns, but drops a laundry list of (sometimes conflicting) skills and experience requirements that filter out almost all of the Johns, and then complains that there are not enough of them to fill their slots. I have also encountered an overlapping subgroup of companies willing to compromise somewhat for local candidates. Unfortunately its difficult to move beyond anecdotes on this matter. I have some that support the OP's point, many here have some that refute it. It would be really interesting to see distrbutions of these anecdotes by geography, experience level, and undergrad program, though. [0] "Competently" goes beyond writing FizzBuzz in this case. [1] I am not asserting that every company falls into one or the other; my current one does not, though my previous one does. I'm asserting that most do.
- super_mario 14y agoIf everyone wants the top 1% then there is a shortage by definition :D.
- Wilya 14y agoThere is no talent shortage. There is a shortage of Berkeley/Stanford/MIT grads. Just look at the difference between grads of those school, who basically get money thrown at them, and the rest of graduates, who have a hard time finding a job at all.
- vonmoltke 14y agoI know someone who just graduated cum laude with a BS from UIUC who is having trouble.
- jmj42 14y ago...and UIUC has one of the top CS programs in the country (on many lists it's the #1 CS program at a public university). Around here (I live near uiuc) Bill Gates is famous for declaring that MS hires more UIUC grads than any other single University in the world. Honestly, the idea that someone can make it through the CS program at UIUC, and end up shunned because he/she didn't graduate form MIT, is a perfect example of what's wrong with hiring practices these days.
- jiggy2011 14y agoI noticed this too, whenever I read anything about American Universities (I'm in the UK) for CS it always seems to be one of those 3 especially when it's related to startups. Is it the case that a CS degree is somehow considered second rate if it is not from one of these universities? Is it a prestige thing or do all the other universities suck for CS? Obviously we have similar in the UK to an extent with Oxford/Cambridge etc but CS degrees from most universities are well enough respected. I've done some of the online classes from these 3 universities as well as watched youtube videos from some lectures. For the most part they don't strike me as being especially more difficult than what I did for my CS undergrad (in most cases the difficulty level seems about the same).
- fghh45sdfhr3 14y agoThere is no talent shortage. There is a shortage of Berkeley/Stanford/MIT grads. Funny. The part of me that flatters myself tends to think of geeks as more logical and individualistic. And less likely to follow a clique. And less likely to be biased in such silly ways like preferring someone just because they came from your university. But reality keeps reminding me that nope, intellectuals can be just as stupidly cliquey and biased as anyone.
- einhverfr 14y agoI guess one thing that irks me a bit about the article is that it is so employment centric, and yet the logic one should draw from the comparison is to break out of that way of thinking. After all the first guy with years of experience didn't get them on the job. The moral of the story I would take from it is that if you want to program make a name for yourself, and do so without regard to your employment.