Statistically speaking, most CS majors are doomed to salt mines (or a change of profession entirely.)
See:
http://www.reddit.com/r/programming/comments/83dzc/dear_redd...
Statistically speaking, most CS majors are doomed to salt mines (or a change of profession entirely.)
See:
http://www.reddit.com/r/programming/comments/83dzc/dear_redd...
Some data points (hey, the singular of data is "anecdote"):
My sister's boyfriend has a Ph.D in biomedical engineering. He makes less than half what she does, post-doccing. His day job consists of writing papers that the tenured professors get credit for.
My roommate has a degree from Cornell, also in biomedical engineering. She runs community outreach (i.e. posting on FaceBook) for a youth soccer nonprofit.
One of my best friends from college is working on his Ph.D in physics. He is planning to become a baker afterwards, because there are very few jobs for physics Ph.Ds.
Another of my college friends has a masters in mathematics after dropping out of the Ph.D program. He teaches math to high school girls at an elite private school.
My dad has an MIT Ph.D in nuclear chemistry. He became a househusband when I was born after finding the corporate world a soul-crushing mess of office politics.
One of my netfriends has a degree in biology. She kills rats for $30k/year and considers herself lucky.
Another netfriend has a degree in biochem. She works as community manager for a Web 2.0 fashion site after a stint as a UPS store manager.
It's necessarily true that professions will seem more glamorous as a kid than they are in real life, because you only hear about the glamorous ones. They wouldn't be noteworthy if they were just like what your parents did. But most people still manage to be happy in their job, even if its nowhere near as exciting as they imagined when they were young.
Heck, I work in what most people would consider a fairly glamorous programming job (Google Search, as a UI engineer writing new features for the search results page). Y'know what the majority of my workweek consists of? Tweaking CSS so an element is no longer off by 1 pixel in WebKit. Writing tools to automate 5-step long build processes. Getting things to work with other teams' features that basically invalidated all my design assumptions. Figuring out why my new feature is suddenly broken in IE8. Getting yelled at (metaphorically) for breaking the build.
This really isn't all that different from what any other web developer does for a living. Everybody's doomed to the salt mines: it's whether you enjoy mining salt that matters.
Getting graduate degrees learning stuff that you cannot apply to gainful employment may seem a waste, but it is difficult to predict how educational opportunities will benefit you.
I think that one was actually a cold call...she applied to like every job in San Diego before finding one that would take her. Persistence pays off.
People with professional degrees are an odd case, because they often end up with so much debt that they have to go into their chosen field. I know a couple law grads that really would rather be doing something more rewarding than corporate law, but can't because they're $200K in debt and that's the only thing that pays well enough to pay it off. 'Course, they can make boatloads of money and pay it off in 3-4 years, but then they get the Stockholm Syndrome effect and can't imagine not being a lawyer, after all they've put into it.
If you want a more robust, equally versatile scientific field, I'd suggest Physics or Maths.
Once we've learned fundamental concepts, it's difficult to imagine when we didn't know them, and it's easy to assume learning it was inevitable.
The only thing a CS degree might give you that self-study would not is a good overview of the field. But then, if you're passionate about programming and you've been into it since you were 10, chances are you have a pretty good overview of the field already.
So in that case (passionate about computers since an early age, hesitating about degree) I would strongly recommend something other than CS.
Although the attitude "the bits that I don't know are the bits that I haven't needed to use" is dangerous, since you never really know if you need something until you understand it.
Anyway, your point seems to be if you're going to learn CS concepts anyway, then don't choose CS as a major. You're taking "going to learn CS concepts" as a given. The author did not.
If you're a merely average programmer, you're going to get stuck in a crappy corporate cube farm. You should either have the passion or genius to dive into startups and/or be hired by cutting edge companies, or you should not think that a CS degree is some kind of ticket to paradise.
For that, you also need some degree of extraversion, and a willingness to put up with mountains of bullshit and to work on problems of zero long-term consequence and of scarcely any deep intellectual interest.
> be hired by cutting edge companies
And if you simply want to work on your own creative ideas, instead of being a servant (whether to established companies or to fickle startup customers), academia is the only remaining ticket. And when it spits you out, you're screwed. Industrial research (say, at Google) mostly hires those with a Ph.D. Thus the gatekeeper is the same.
I think that it's more a question of redefining "your own creative ideas" to have a narrower scope. There're plenty of opportunities for creativity even in large organizations, they just have to fit into the overall framework of the organization's goals.
If you look at truly world-changing, creative "big ideas", they often grew out of very limited, narrowly-scoped ideas that someone started exploring. Microsoft came from a BASIC interpreter for the Altair. Google Search came from the idea of downloading the web and just keeping the links - they weren't even thinking of a search engine at that point. GMail came from sticking PB's email into the groups indexing engine. Linux came from printing out ABABA on the terminal. Then they attracted lots of people interested in ironing out the details, and that's what made them world-changing products.
I'd wager that about 99% of the people working on their own creative ideas in big research labs or tenured professorships will never have anything come of those ideas. That's the nature of research: almost all new ideas are crap. But in the process, they explore lots of little ideas in related spaces, and some of those may prove useful.
I don't consider any of these things "big ideas." Major enterprises, yes, but not ideas. Do you consider the Egyptian Pyramids an "idea"? With the exception of Google's search algorithm (a work originally intended as mathematical, I might add) there is not a single whiff of originality in any of them.
If you want to understand what I mean by ideas, think of, say, "Green's Theorem." I do not yearn to work on "world-changing products." I am simply looking for a path to actual intellectual freedom.
I understand that my chances are cosmically slim, but it bothers me that most people are entirely unwilling to even acknowledge that the problem exists. It is almost like some psychological defense mechanism is at work. Nobody seems willing to admit that they are a servant - and a Porsche-driving and McMansion-occupying servant is still a servant, in that his time is not his own to dispose of and his livelihood is at the mercy of others.
Anyway, I don't really consider it a problem, because the ability to work on ideas of your own choosing already exists. Simply spend far less money than you make, and bank the rest as time. So if you make $60K/year and live on $20k/year, then for each year you work you get 2 years to do what you want.
I did this and used the excess time to start my own company, which failed miserably but was still an excellent experience, one that I'd recommend anyone take. (Plus, it led to getting a job with enough of a raise that I could still save 75-80% of my take-home pay, yet do so without having to live with my parents.) A few of my friends from college have done so as well - that physics Ph.D baker managed to save roughly 40% of his income on a grad school stipend, which I think is pretty impressive. Best of all, you're not a servant to anyone - you're trading your time for time to pursue your own interests, and nobody's forcing you to make the trade if you find it objectionable. You can't get something for nothing, though.
Subtract the time you would spend on the next job search, and also the time you (or at least I) would spend crippled by the anticipation of it.
> nobody's forcing you to make the trade if you find it objectionable.
I would say that the threat of death by starvation and exposure fits the definition of "force" pretty well. (Assuming the trade you're talking about is employment in general.)
> You can't get something for nothing, though.
Much of Hacker News consists of people who eventually hope to live their lives getting something for nothing (namely, living off the interest from a princely sum earned from the sale of their start-up.) The entire ruling caste of our society continuously gets "something for nothing."
The problem is that most industrial programming is a sort of motorized version of bashing one's head against an ultimately meaningless spreadsheet.