I wonder about the thought process that spawns articles like these.
I'm a novice but I think I do pretty well for myself. I also didn't write my first line of code when I was very young. I didn't get any thrills or anything from programming until I started in my 30s.
Obviously you need hordes of novices. What a preposterous, pretentious thing to say. It's the ultimate "first world problem" of career fields. "We have too many people who want to do this job because the pay is so good, career outlook is so bright, and job satisfaction is so high!"
Yes you'll probably have to work much harder on a good noise filter when hiring, and you will probably have to be ok with taking a chance on hiring "newbs", hoping to get a great one who trains up well.
This is a really geeky rant, and I don't mean that in a good way. I mean it as in totally socially tone deaf. It's like Comic Book Guy from the Simpsons wrote this. I know the author is a well-known guy in the software world but that doesn't change my opinion at all.
Okay I'm being serious here. I'll comment on the main points because I feel like they're pretty much all wrong.
"Learning programming is hard" I just kinda rolled into it as I grew up.
"Self-directed learning is hard" It's automatic for me. I'm interested in things.
"Attending one workshop or a couple won’t turn you into a professional developer." Well yeah. Does anyone think a couple workshops turn you into a professional blacksmith?
"It takes time: You won’t become an developer in 3 months." Fair enough, though I think if you study full-time, have fun doing it, and have a friend helping you a few evenings a week, you can probably be good enough for a junior position by 3 months.
"Finding your first developer job is hard." Is it? Haven't heard that from people.
"Finding any kind of first job in tech is hard." Yeah this definitely isn't.
"Tech interviews are terrifying." Not really. I'm generally nervous for interviews, but not more than is healthy I think.
"Job search in tech is extra long and frustrating." What planet are they on? I hear bad stories about people that did psychology as a study, but tech?!
"Some people won’t make it." Fair enough.
I've stopped reading there because I just can't see what the author is getting at. Is this just me? Or is it perhaps applicable to Silicon Valley specifically, where developers are abundant (are they?)?
The issue in the article isn't that there will be novice programmers or lawyers, it's that if you can even become a novice programmer or lawyer, you're supposedly already in "Extremistan". The premise is well-contained in the quote early on that "most people are like horses" and can't operate in fields that require primarily intellectual labor.
I'm not sure that I agree with this premise, but it means that it's not an issue of crowding out newbies, just an expression of the popular sentiment that "[insert highly-paid professional position here] are really, really smart" and that to even attempt to become a highly-paid professional x is out of the reach of most people.
"A related issue is that most professional programming is, well, easy."
This realization struck me so hard when I started on my first 'real' job. After seven years of studying to obtain my bachelor and master degree in computer science and mathematics I went to work as a programmer. In the first week I realized that I probably could have done the same job in high school (to be honest, I am probably overestimating my past self).
Something is wrong with the hiring process. Everyone wants to hire the brightest graduates, and let them build simple webapps, while in general this is very uninteresting work. I bet that there are a lot of people without a degree who could do the same job a lot better, simply because it is more challenging and they have a more practical attitude.
I actually hate the attitude of the author, maybe because I'm almost 40? I would NEVER hire someone so clueless and demanding. You get to be demanding when you have exceptionally valuable skills princess.
It is not 20 startups that are (mainly) the problem, it is YOU who expect other people to train and baby you. You don't have formal training from a university degree, neither are you willing to self learn your way to becoming a master coder. Why would a high stakes startup engage a liability like you?
IMHO... You can't get a crew of experienced software engineers without starting with hordes of novices. It's just not a field where you can say, "Pass the entrance exam, get some mentoring, and come back in 6 years with experience." It's a field that you need to explore and find if you have the passion. (And I hate the word passion)
So it might take 20 novices coming out of these feeders to find 10 who become decent junior programmers, to get 5 who stick it out to become decent intermediate programmers, to get 1 who becomes a rock star.
But is this so bad? What's the downside? Everyone who falls off along the way becomes someone with tools to make themselves more productive in whatever they do in life.
> I would argue that the outcome of hiring an Unemployable Programmer might in fact be better overall, because we're motivated and we get stuff done - as opposed to the hipster "rockstar" programmer we actually do eat and breathe code.
It's odd that the author seems convinced that they are more productive than 'hipster rockstar programmers' who aren't motivated and don't get stuff done. Isn't that what they do by definition? And what's truly strange is how he seems to think that those types of people don't "eat and breathe code", when the prevailing sentiment on HN is that these 'rockstars' have poor work-life balance and don't do anything except code on evenings/weekends. It feels like he's lashing out at 'young people' in general who seem to be able to get jobs.
I seems that the author's lack of success obtaining a job stems directly from a lack of effort - or knowledge of how much effort is required. He seems to think he is entitled a job just because he's been doing it since he was a kid or because he's had a job for ten years.
I can say from experience as someone who was looking for a development job with no experience, much more is needed than passively posting on a job board, listlessly browsing oDesk, or even sending out a few resumes. Every intern hiring season, my classmates all end up disappearing from class and social life for a few weeks - sending out hundreds of resumes and applications, dozens of emails (cold or introductions), spending hundreds of hours studying for interviews, tens of interviews - pounding the proverbial, virtual, and literal pavement - resulting in most of us receiving one or (more often) multiple job offers.
This isn't the 1970s where you could get hired as a novice and trained on the job. In today's world you need to be a rockstar programmer right out of college. Training? No start up wants to gamble resources on that.
This post really is a rant as the author forewarns, with barely any cohesion and no evidence to back up anything. I fear it has gotten upvotes simply because it's a popular opinion.
I don't think it's worth a detailed response so I'll just respond to the reductio ad absurdum in their tl;dr, that competitive programming has been taken to extremes (implicitly by employers).
This is plain untrue. Sure a lot of interviews I've been through ask for a coding exam, but in this day and age that's just a wise precaution and no company that I've heard of would hire based purely on that outcome.
I've met (interviewed) too many candidates who can sweet talk their way through any technical matter but barely know how to use a couple of for-loops. This isn't a surprise---the push toward driving down the cost of software engineering labor means that there's a massive volume of people churning through the bootcamp machine.
While I agree with some of the premise of the article (you can't become a great developer in a few weeks), it tries almost too hard to scare people away from programming.
>Would I like to type text files for hours a day?
The bulk of my time is spent thinking, not typing.
>Am I comfortable being a digital construction worker?
Programming is a creative job that the author is trying to sound so mundane and boring. Yes, it might not be for everyone, but showing people screenshots of GameSalad Creator, which looks quite scary is not really representative of the vast number of easy-to-use game creators we have today [0].
The fact is that programming is a highly rewarding job (both financially and mentally). As long as there is a demand-supply gap in the industry, people will try to bridge that gap, by whatever methods. Coding academies are just one such method.
If we ever reach parity on the demand/supply situation (or if Universities start training students better), these will be left redundant and new methods would evolve.
You left off the last sentence of that paragraph, which made me interpret the overall sentiment very differently:
> I said that the programming field is a fertile ground for beginners, and it is. But what’s fertile for grain is fertile for weeds too, even moreso. And we need to talk about these people, taking advantage of the fertile ground. And where there’s plenty of beginners, there’s plenty of people taking advantage of them.
That is, I interpreted "These people, taking advantage of fertile ground" not to mean subpar newbies who can't cut it (which is how I read your interpretation), but instead to mean the snake-oil salesman/huckster types who take advantage of these newbies by sort of implying "hey, just come to our 30 day bootcamp and you'll be a programmer, just like those programmers who make top dollar at Google and Microsoft!"
I actually generally largely agreed with article, and I didn't find it gross at all. Yes, programming does have a low barrier to entry, but to become a true expert at it takes the same level of skills and preparation as, say, a doctor or scientist. But you don't see any "Become a doctor in 30 days!" bootcamps out there trying to convince people that "Hey, anyone can become a doctor!"
Wow. That was really excessive. I can't imagine why Joel felt the question merited that kind of response.
My feelings mirror one of the other comments in the thread: most software jobs suck. Not everyone can work at Google or Fog Creek, and outside of the protected bubbles of the major tech centers, software work tends to be a tedious grind. (Even in the protected bubbles, I know a lot of dissatisfied techies -- free soda remains charming for only so long when you're working insane hours in a cube, on death-march projects, taking all of your creative orders from the MBA with the corner office.)
The sad thing is, I think that Joel and the guy posing the question are both partly correct: the software industry does pay really well for new grads, and yet it does discriminate against older techies. Programming is a questionable long-term career choice. Instead of insulting the guy for asking a question, why not have a discussion about the problems he perceives? Software may be better than ditch digging, but that doesn't mean that programmers should be eternally complacent and unquestioning minions of code.
I did... the point with people learning to code is precisely not that they're going to get hired to write code (that's what we professionals do).
The current craze for teaching people to code that he references has (in my experience at least) got nothing to do with creating a horde of junior devs, but is to do with people waking up to the fact that they're effectively illiterate.
I agree entirely that 9 women can't produce a baby in one month, and that hiring 20 random junior devs is not going to make a development task go faster than 5 experienced devs in a decently managed development team.
I pity the new developpers just starting their career and reading those kind of articles without the minimum amount of skepticism and distance required.
Please, if you don't have at least two or three years of actual programming in a real company, don't try to become a "10x" something, or "ninja" or "wolf" or whatever world of warcraft character a manager would like to describe people as.
Just be a good employee. Do as being told, and as neil gaiman would say, just "make good art".
That's a really naive assessment of his comment. I share a similar sentiment as the OP here, programming (not coding) is hard. A lot of us get paid well to solve complex problems for clients who expect us to do the job right. Institutions like codecademy, and other "learn to code" incentives make it seem like you can just knock some achievements off a list and bang, you're on the way to being a programmer!
Having spent a lot of time around industry vets and people who started doing this stuff in the 80s, these "nice new services" aren't all they're cracked up to be. The freelance coder market is becoming an annoying thing for the reputation of programmers, consultants and companies who know their shit, and do a great job for their paying customers.
Sure, but which ones? Programming? There are frequent articles on HN related to how to distinguish good programmers from bad programmers in a hiring context, so newcomers need to have enough time to become good at programming, which requires radical changes in the very nature of the way they think.
Then, they have essentially two choices: either a more traditional business environment ("wanted: junior Java programmer with 15 years' experience..."), or a startup ("wanted: rock star Ruby hacker that wants to drink beer with us, you get equity...").
Businesses, including startups and businesses outside of the software-dev industry, are largely reluctant to hire trainees. In the past, it was possible to get hired and then learn how to do the job over a period of a couple of years, or more; prospective employees now are expected to show up with all the required tools and skills, ready to work within an hour of being shown their desk space.
What I've been hearing so far from businesses is that they don't have the time or money to invest in an employee, and they don't view employees as a long-term asset anyway.
To be fair, the premise of the story is that "Programming Doesn’t Require Talent or Even Passion", and I can confirm that I've met plenty of untalented and unpassionate programmers.
Obviously the talented ones will outperform the untalented ones (pretty much by definition), but not everyone has to be great. There is a strange pressure in this industry, almost that if you aren't great, then you are failing. It's taken me 10 years to get comfortable with the fact that I'm never going to be a 'name' (ironically, despite my name).
There's plenty of room for mediocre people in this industry (not that I want to work with them, but there is plenty of work elsewhere for them to do).
I agree with many of the things written in the original post. But I definitely disagree with the notion that the barrier to entry in this profession is low and that any Joe Sixpack can start programming for a living because it's supposedly easy.
I can vividly remember my days in back in college where a lot of fellow students in my CS classes had substantial problems writing even the simplest of programs and understanding basic statements and data structures. A lot of them couldn't even write simple programs which would take user input, do something with it and give some output, let alone come up with more complicated solutions and architectures for real world problems.
This field is not for everyone and I believe that is often not obvious to many of us because we take our ability to turn mental constructs into code for granted. A lot of people just don't have the mental facilities to do it. I'm not saying this to sound elitist, but it's the way it is.
I think he has a point though. There's nothing more of a turnoff to me than seeing "ninja" or "rockstar" in a job listing, and this seems to hit on a similar point. Why does this industry seem to expect miracle workers who know 30,000 frameworks and languages, rather than solid folks who enjoy their jobs and are good at them?
I'm a novice but I think I do pretty well for myself. I also didn't write my first line of code when I was very young. I didn't get any thrills or anything from programming until I started in my 30s.
Obviously you need hordes of novices. What a preposterous, pretentious thing to say. It's the ultimate "first world problem" of career fields. "We have too many people who want to do this job because the pay is so good, career outlook is so bright, and job satisfaction is so high!"
Yes you'll probably have to work much harder on a good noise filter when hiring, and you will probably have to be ok with taking a chance on hiring "newbs", hoping to get a great one who trains up well.
This is a really geeky rant, and I don't mean that in a good way. I mean it as in totally socially tone deaf. It's like Comic Book Guy from the Simpsons wrote this. I know the author is a well-known guy in the software world but that doesn't change my opinion at all.
reply