Rand, your post is repeating the same garbage about job training that's been universal for the past 30 years (See "The Job Training Charade" by Gordon Lafer,) with a little dash of age discrimination just so you'll fit in with the hacker news crowd. (I know a lot of people who are in their 30's, 40's and 50's who've successfully learned new skills)
Communications of the ACM has hand-wringing articles in every issue about "Why don't students want to study CS?" They never mention the elephant in the room -- that these students are hearing from computer professionals in their 30's and 40's who all of a sudden find they are working a dead end job.
There's a huge demand for inexperienced out-of-college engineers that will work for cheap (for instance, equity that probably won't materialize), not demand health insurance, and work 80 hours a week on "charge of the light brigade" projects that lack any semblance of project management. There's very little demand for experienced engineers who realize that management is full of it.
There's no educational institution that produces people with the skills it takes to develop today's web sites. Often CS graduates get a bunch of 20-year old pap about algorithms and never learn a thing about project management, modern distributed systems, and all the little details from CSS to the management of social systems. People get those skills working in the school of hard knocks, and a lot of those people (like myself) have been doing it for 15 years and we're not going to take crap from anybody.
When it comes to inequality, it's dawning on people that higher ed is part of the problem, not part of the solution. The few remaining "good" and "secure" jobs in this country are open to people who graduate (as undergraduates) from Harvard and Yale. The entrance of women into the workforce has doubled the opportunity of employers to play out their racist and classist impulses.
> There's no educational institution that produces people with the skills it takes to develop today's web sites.
That's quite a charge. CS graduates come out with at least a grasp on database design, object-oriented design, functional programming, state machines, concurrency, type safety, program evaluation, OS fundamentals, networks, and the software development lifecycle. In addition, the curriculum leaves room for the student to start specializing in a few areas of interest. That's not "a bunch of 20-year old pap about algorithms."
All the little details of CSS and the language or platform of the week shouldn't need to be taught by schools, since the point is to prepare the student to pick them up as they come.
Is the SDLC that was taught in the universities really that important?
I've seen companies dying because there's lack of standard on how to developer software or using a typical university SDLC. How many product-based companies died because their technical debt interest is bigger than they can pay?
I've seen hot-shot smart-ass students who just don't like to test their own code. Let's face it, most universities tend to put testing as a footnote in CS studies.
I think this is also part of the problem. CS seems too "science-y". Honestly, CS students should go to pursue research-based work.
It depends on where you go. Jon Kleinberg's class on algorithms (and classes based on his book) is great. I don't think every CS student gets access to that quality of construction
As for database design, OO-design or concurrency, my experience is that you've got to spend two years or so building that kind of system before you're an asset instead of a liability. Some students might really get that much work in during their educations, but they won't all entirely.
In 1992 I took the only CS course that I've actually taken, and it was a course in comparative programming languages that introduced OO programming through Ada (a thoroughly obsolete form) and spent a lot of time on logic programming with Prolog. Now, I think Prolog is beautiful and my recent work has led me to believe that (20 years later) we're going to have to go more in that direction, the fact is that for practical purposes, Prolog is a dead end.
And then at the graduate level it's all about fads. At one top CS school there's nobody interested in the semantic web and description logics because that's all "dead stuff from ten years ago." In the engineering library at that school, I can find five units of modular shelves filled up with conference proceedings that plod endlessly about IP QoS, despite the fact that none of that has ever seen the light of day. Anybody with a pulse can think of ten or twenty other research areas that ought to be vastly more productive, but, somehow, resources never get allocated for them.
In terms of the actual needs of the workplace, what it takes to be productive ~is~ detailed knowledge of the details that are relevant now. Why are Facebook and Google having a crazy bidding war for employees (other than the fact that they've got too much capital?) -- it's because they're building stuff on a scale that nobody else is and you can't get experience building at that scale elsewhere.
Not every imbalance is due to the active discrimination of some powerful class over the "little guy," as popular as it seems to be to scream that whenever imbalances are discovered. The problems are usually not that simple, and attempting to wallpaper over them with simplistic declaration like that people discriminate as an end to unabashed narcissistic bigotry I think gets in the way of really finding our root causes
Here's an alternate perspective on all of this:
There is an underlying cause for that elephant in the room you alude to. The people who find themselves at dead end jobs in their 30's and 40's are not just hapless victims of the system. Some of them started out with a bitter, jaded perspective about their profession and employment, and decided that they'd be stupid to provide anything more than a minimum-effort meeting of requirements. Maybe that would be stupid, but they threw the baby out with the bathwater; they didn't just stagnate in their role, they stagnating in their entire profession. The world did not stand still just because they declared that everything is shit, and all the technological advancement in the world doesn't change that fact. Their job is at a dead end because they themselves are at a dead end.
It does not have to be that way, but the solution is not to prematurely jade the next generation as a means to artificially level the playing field. You complain that the next generation who is willing to work for cheap and demand little in exchange for sacrificing their souls are damaging the industry. That may be, but suggesting they either have to get bitter or get out trades damage for damage. The problem is that these people don't really know the value they'll produce at the organizations they work at, and as a result sell themselves short. Becoming bitter about this only solidifies that stance; you still believe you are in a bad bargaining position, except now you are indignant about it. That doesn't help. You make them feel like they are worthless cogs, and then are surprised when they accept shit wages and shit benefits as a result. This is what a worthless cog does. They are only becoming what you and the rest of the indignent, experienced professional community believe they are, so don't get so pissed off when they undersell you as a result and make things shit for everyone.
Yeah, I'm kind of annoyed with the situation in the CS world as well, but with a very different perspective on causes. I think the typical party line of "screw the management, and the young whipper-snappers who deserve this less than us" is a completely screwed up sentiment. This problem is not going to be solved by chasing all of the youngsters away, and making sweeping generalizations about how everything sucks and we should all simultaneously not put up with anything and accept that we are powerless tools at the bidding of our employers racist and classist impulses.
This does not help, unless your goal is just to make people in our industry angry and hate one another.
I've worked for a series of employers whose motto is "be as little as you can be". For instance, one place was a relatively young job shop that spent freely on cheap praise, pizza, junk food, cookies and such, but didn't want to invest in my well being or professional development in any way. (For instance, health insurance, sending me to a conference, etc.)
The general pattern is that there's a glass ceiling that you can only get through by being an entomologist, a second-rate salesperson, or whatever it is your organization values. IT isn't it.
And no, I'm not stagnating. I'm starting my own company.
As for chasing young people away, they're chasing themselves away.
So far as being angry, Americans should be getting angry -- 30 years of conservative orthodoxy have all but destroyed the American Dream. I see a lot of complaining about my position in your comment but I'm not seeing what you say the root cause is... I'd like to hear that.
So far as being angry, Americans should be getting angry -- 30 years of conservative orthodoxy have all but destroyed the American Dream.
They should be angry, but at themselves. They were marketed an image of a perfect, prosperous future, and then acted all appalled when the realization came up somewhat short of the Dream. The American Dream you speak of is an ideal, but is nowhere near an entitlement, and certainly nothing other people are under the obligation to guarantee for those who didn't get theirs. On average, you will end up better than your parents through hard work and diligence; but shit does happen, and our attempts to counteract that are arbitrary at best. We can't make the world fair; developing an antagonistic attitude, and expecting payment for a broken marketing-slogan-turned-assumed-promise, threatens to drag everyone down. Which of these is more fair, I wonder?
I see a lot of complaining about my position in your comment but I'm not seeing what you say the root cause is... I'd like to hear that.
I'm not certain what the root cause is, to be honest. You have the tone of someone who feels severely cheated, and with a desire to take it to those whom you feel cheated you. You have certain expectations of the way things ought to be, and seem convinced to at least a certain degree that there is a group behind the curtain manipulating things such that your expectations don't come to pass.
In the words of the late Eric Naggum: if this is not what you expected, please alter your expectations.
You claim one of your prior employers didn't want to invest in your well-being or professional development in any way. Do you feel employers ought to do these sorts of things, and not just as perks to entice you to work there? Would you leave an employer that didn't for one that did? Is this not an option for people in general? Or do you believe that people are trapped in whatever jobs they land, and that, as a result, we can't reasonably make them responsible for their own professional well-being?
As for chasing young people away, they're chasing themselves away.
Not from what I've been able to gather from the youngsters I work with. They're scared shitless of the fire-and-brimstone accounts told to them by people who have spent the last thirty years cataloging every moment they've felt screwed, and counter-balancing that with an empty catalog of anything good. It leaves me with a lot of work to do, to be honest, because they are honestly as drawn to the profession from a standpoint of personal interest as I am, but they can't help but think that living as a fry cook at McDonalds might be a better way to go. I think this is a shame; I can't help but think you believe this is anything but.
One root of the economic crisis in my mind is something like the way the game monopoly terminates -- at some point all of the money winds up in one person's hands. Some economic inequality is advantageous over no inequality (there's got to be some reward for success) but too much inequality leads to a "hard stop." We've had 30 years in which a handful of professions (finance & law particularly) have prospered while the rest of us have fallen behind. If these guys were just buying supercars, that would be one thing, but they've bought political power and made our government so ineffective that, on some days, I wonder if we'd be better off with a system like China's.
And as for being cheated, I started out my professional career with the deck stacked against me. Perhaps I was stupid to do that. Stupid to be reading Issac Asimov for a kid and to think that the child of a construction worker would have any chance to become a scientist in the 1990's.
First, if you're paying in comparison to those charts, in the SF area you aren't paying anywhere near well enough. Good devs with 5+ years of solid experience go for $100K+.
Second, this exact point has been discussed between you and patio11 before. If you think you're paying excellent wages -- 10% to 15% above market -- and still having trouble hiring, then I'd like to repeat patio11's suggestion that you are mistaken about either the wages of the quality of the job you're offering.
Salaries: Maybe we're still low, but looking at http://gigaom.com/2010/11/10/stat-shot-the-results-of-silico... - we're paying between 10-20% above these figures (generally) for our engineers, so I suspect that's not the case.