Any halfway decent programmer I've ever met or heard of loves programming. They'd do it even if it didn't happen to be hyper-lucrative. We just got lucky; we're passionate about something that the owning class happens to currently consider fashionable. Enjoy it while it lasts and try not to pretend it makes you better than anyone else.
Yeah, there's this narrative about programmers being born, not made. I have come to believe it is mostly false.
First of all, when I was in my early 20s, I loved a lot of things. Writing, music, graphic design. For a time, I defined myself as someone who used to program. When the internet happened, I just dropped back into it. If I had been born in different decades, I most certainly would have done different things.
Secondly, I know a number of people in SF who decided to jump on the programming bandwagon since 2011 or so, in the hope that they could remain employable in an increasingly topsy-turvy economic environment. And... they aren't bad. Not great, but not terrible either. A friend of mine who couldn't write a line of code two years ago cracks jokes about D3.js today. Some of them were women who might have had STEM-ready brains, but were scared off from science by the usual sexism in childhood. But others, as far as I can tell, were pretty average and don't have a great aptitude for it. They just learned it, by learning it.
My feeling is that, in North America, they just forgot how to teach computer science for a few decades. There's an effect some people have found (anecdotally) that computer science starts to skew male when, in a given country, home computers become widely available as gaming machines. So it seems to me, CS departments relied on amateur geeks (usually male) who already knew how to program to be the top students in the class, and explained away the high failure rate (and a very skewed gender ratio) because computer science is just so hard.
Those programmers were born, not made; they just didn't discover it as early as some others. This isn't a myth. It's supported by various studies. Professors in the field I've talked to have all agreed. It's a double bell curve: http://blog.codinghorror.com/separating-programming-sheep-fr...
(For some value of born. It might be innate, it might be due to experiences during formative years; all that's known is that by the college age it appears to either be there or not.)
Yeah but isn't that study already telling? They're saying that if you are already familiar with the idea that a computer system has to be perfectly consistent, then programming makes sense to you. (Also, I think they had issues replicating this.)
Anyway, it doesn't say that this is an innate quality. So perhaps they are measuring the gaps in how we educate people.
And here's yet another one which shows percentage of degrees conferred to women. Note how weird the graph is for CS, and it doesn't track fields which you might think would indicate innate talent, like math and statistics, or physics.
What is the explanation here? Coding was way harder and more mathematical before the advent of high level languages and yet the participation of women crashes right around 1982. I suspect that this is just the most obvious effect; we've probably been turning off men who would have been perfectly competent as well.
Ask yourself what the more reasonable hypothesis is:
- Computer programming is unique among all technical skills, in that talent predominates over education, to a higher degree than medicine, or even mathematics.
- Something is wrong in how we teach computer programming, and it might be related to the introduction of the personal computer.
That test makes me wonder if we've somehow turned off a generation of potential computer scientists by the unfortunate choice to go with C/Fortran style assignment instead of Pascal/Ada style.
While I do indeed love programming, I also enjoy many other things. For most of high school, I thought I wanted to be a lawyer. For the first two years of college, I thought I wanted to work in finance. Heck, for a brief period I was infatuated with architecture.
However, as a rational actor looking at the career landscape, it was clear that CS was a much more productive and lucrative field—so I went down that path. I'd expect any other human to do the same.
I guess I don't entirely blame her though. For years we've been spouting atrocious career advice to "follow your passion" when what people really need is passion for what they do.
>We just got lucky; we're passionate about something that the owning class happens to currently consider fashionable. Enjoy it while it lasts
I imagine programming and related fields (networking, system administration and integration, other IT operations) will still be very lucrative in 100 and 200 years from now. It might be slightly less lucrative (or it could be more lucrative, who knows), but programmers will likely be very important to organizations for at least a few centuries, if not millennia.
>I imagine programming and related fields (networking, system administration and integration, other IT operations) will still be very lucrative in 100 and 200 years from now.
I'm going to quote something told to me by an MIT professor in Computer Science. I won't say who, but he said it this past September.
"In 500 years, all economic activity will be carried out by algorithms, if anyone at all is left."
Unless you think computers are suddenly going to vanish forever or will achieve absolute sentience and hyperintelligence in under a few centuries, I'm not quite sure how I could be wrong.
Supply eventually will greatly exceed demand. The bar for entry will be lowered.
Being able to write well is a good skill, probably comparable to computer programming as being able to communicate with other humans is yknow, important. But it seems to be that humanities majors and other degrees for which writing and understanding writing is a critical skill aren't exactly in high demand.
This could only come true if there was a shift in programming technology that made it a lot easier for someone without aptitude for programming as we know it, or the average person started to end up with more programming aptitude (maybe due to a revolution in early education or parenting methods). Programming as we know it is very highly dependent on aptitude. Read this: http://blog.codinghorror.com/separating-programming-sheep-fr...