When expensively educated, fashionable young graduates
start showing up in your field, you're in a bubble.
- Kevin Marks
But, it still seems odd to me. Most fields want to encourage smart, young, undergrads to enter them. Sure, they might have shallower passion for the field at first, the point of the article was that many people were developing real love for the field.
While Stanford undergrads are expensively educated and (maybe?) fashionable, they are also incredibly smart. Most importantly, learning programming isn't like selling subprime mortgages. For someone to buy your startup you must have added some value to the world. Trading subprimes arguably does not, or has a net negative effect.
Not necessarily so. All it takes is the buyer or investor to believe he'll make money.
There were a lot of dot coms back in that bubble that had no business existing, yet everyone wanted to throw money at companies that added nothing to the world but paychecks.
Edit: Of course, you better damn well be sure that your differentiation from the rookies is fairly obvious to the casual viewer of your resume.
Most have majors in other areas but recognize, probably correctly, that having programming skills will likely increase their chances of gaining employment in their own field.
I would say this was just as true in the 90s as it is today.
That is, before when kids showed up to get rich, they struggled through the advanced math and hated it. Now when kids show up to get rich, they expect the advanced math, but see easier/more-engaging routes through things like web, UX or media spurs.
The longer they wait, the better it might end up for the rest of us. The SEC suffered major embarrassment when Americans were dropped from Goldman's (?) recent Facebook investment vehicle and is at minimum looking to revise the current rules which date back to 1935.
That's not going to fix SarBox, but maybe, just maybe that sort of bad attention/publicity will help.
It makes some sense, given the makeup of the companies that are exciting to work for nowadays. I think especially if you want to join an early-stage startup, there are lots of benefits to having a technical education, even if your role isn't expressly technical.
I think it's more of a cultural bias from certain universities than a global economic trend in the field.
As someone who has, PMs are not technical people, at least not in that company at the time I worked there.
I think ignorant college students who are not smart enough to know the limits of their own knowledge are the reason that hacker news has gone the way of slashdot.
Oh, since you're probably under 20, slashdot used to have good discussion from actual engineers who were knowledgable, then it got overrun by ignorant gnu weeneis around 2001 or so-- back when you are 8.
One of my good friends also graduated with a computer science degree last year and is now a B2B PM.
Rudeness probably deserves rudeness back, but you're just so embarrassingly wrong that I don't think that I even need to say anything else.
But beyond that, I actually want enrollments to go up even more to create even more noise and change how interviewee assessments are made. I feel like that's what it will take for recruiters and hiring managers to focus their attention on platforms where the most engaged people of their crafts are. Not in the campuses of Stanford or a smaller community college, but rather in some online forum where people of all ages and geographies interact.
YC has started this with contribution to HN being a factor of admittance, but I'd like to see more of that happening in other fields as well such as mathematics and physics while using stackoverflow, quora, disqus, etc as the platforms to find the next will hunting.
There are a number of other reasons I would argue though for the skyrocketing enrollment in CS here:
First, the financial meltdown has prompted a lot of kids that would have majored in things like economics or management science to get into CS.
Second, the introductory CS classes are widely considered some of the best classes here. The CS department has taken the time to hire a group of phenomenal lecturers who love what they do and who spent an incredible amount of time crafting these classes.
Third, the introductory classes offer a level of human-to-human support that is unprecedented in any other department. We use undergraduate TA's (like myself) for the intro classes. We are a lot cheaper and so there are a lot more of us than there could be graduate TA's. For example, the computer LaIR is staffed with TA's from 6pm - midnight Sunday through Thursday.
Fourth, the CS department dropped the CS140 requirement (hardcore operating systems -- the "dump your girlfriend/boyfriend before you take this class because you won't be together after" class) in favor of two more gentler systems courses. This was mostly the result of the widening breadth of subject matter in CS and requirements that the department felt did not keep up with the offerings.
Fifth, CS itself has become an incredibly diverse subject. Here there are seven concentrations within the major: artificial intelligence, theory, graphics, information, systems, biocomputation, and human-computer interaction. There is a lot of overlap between them, but those overlaps also allow students to reach into other departments to get CS credit that they wouldn't have gotten within the department (e.g. art classes, physics, bio, etc). One of my friends who is concentrating in HCI is taking all studio art this quarter.
Sixth, and perhaps most importantly, computing is becoming the platform on which a lot of other disciplines are built. It is becoming a fundamental tool, in my opinion. Look at computational linguistics and bioinformatics. Even writing papers now comes down to understanding computers... I mean, after programming a lot, you get pretty darn good at Googling, a nontrivial skill I would argue.
Ok, maybe this should have been posted as a general comment, but I'll leave it here for contextual reasons.
I've noted your past fixation on English majors and their lack of financial success, and not sure why you single them out. Lit crit-saddled academia and coffeeshops aren't the only path for the English major. Writing is not only a noble pursuit but a lucrative one (even if you skirt the legacy publishing industry), with as much a combination of hard work and dedication to craft (and luck) as, for example, selling bingo card generators for a living, or mobile phone games, or b2b CRUD apps, or facebook farming simulators.
Aside from fiction writing, there are ad copy and marketing writers, technical writers, screen and television writers, bloggers, journos, etc. Most of those are salaried positions, not necessarily part time/contract work.
It's really not that bad out there. For the record, I've never worked at a coffeeshop :D
Majoring in English to write marketing copy is like majoring in CS to write soundboard Android apps. It'll help, but ...
Also, going to college is supposed to be about training your mind. Writing an Android app doesn't require a CS degree, but getting a CS degree instills certain habits that enable you to succeed in programming.
If you want job training, go to welding school.
I'm just sayin'.
I'm sure there are CS majors now in the workforce that just crank out their requisite number of lines each day, the work that many like to deify as an analytical blend of art and science becoming a routine drag.
And there are welders who take pride in their work and are treated with religious respect by civil engineers.
Maybe it's more about the person than the major.
I worked on a farm in high school, mostly throwing hay, feeding animals and doing various odd jobs. That experience taught me alot, and left a much stronger mark on me than my CS education.
Here in Australia, law is mostly taught as an undergraduate degree. It has essentially taken over the role of a liberal arts degree.
Arts is very easy to get in to in Australia. Law is far harder. At most of Australia's top Universities you have to be in the top 0.5% of high school students.
Admittedly a large number of Law Grads use Law as an engineering decree for government and other administrative work, but still.
As for getting into law, there are universities outside the Group of 8 who'll accept lower scores.
You'd earn much less than a Stanford CS graduate.
William Bernbach, founder of DDB, famous copywriter, and... drumroll please English major. Note, this is just a famous example I knew off the top of my head, but if you go look on LinkedIn there are tons of people in the ad industry with English majors.
Here's another famous copywriter/English major: http://en.wikipedia.org/wiki/Fairfax_M._Cone
Even if it's literary criticism, for today that's mostly done in a way that's much less broadly focused, right? E.g. who outside of academia and some narrow related circles cares about deconstruction? (Admittedly, some of that is due to cultural changes where literature has lost a tremendous amount of "market share" to modern media starting with movies and radio.)
English degrees, on the other hand, do not ordinarily teach or imply possession of commercially valuable skills. They're hardly the only liberal arts degree with this problem: I have one in East Asian Studies from an excellent school. I learned to speak Japanese in the course of getting that degree -- that makes me employable even in the absence of any of my other talents. However, many people with my degree don't end up conversational in any other language. Virtually no business anywhere will pay for my ability to tell you, at length, about how the history of the Japanese family register screws over nth-generation Japanese Koreans. (To say nothing of the vastly more common research focus of EAS graduates: Naruto fandom.)
Writing is an integral (I'd say a keystone) component of an English degree: The critique and analysis of others' writing as well as your own. Additionally, the development of said writing skills is supplemented with supportive activities such as peer review of others' papers and theses as well as incidentals such as submission to academic journals and creative writing periodicals, both on- and off-campus.
That's why newsdesks and tech writing bullpens as well as copywriting departments often require an English degree; it infers a seasoned level of both creative and expository writing and a supposition of deadline steadfastness (in the context of writing) that is simply not taught in any other concentration.
But, you're right. Degrees of any stripe shouldn't determine the fitness of one's abilities in the real world. After all, Larry Wall studied music and linguistics (with the intent on transcribing and creating a writing system for indigenous African tribal languages) in college, then turned around and created Perl while working at NASA Jet Propulsion Laboratory.
For example, I have a degree in economics. Literally speaking, I don't do economics on a day to day basis. But the skills it taught me in dealing with complex situations, making quantitative decisions, and dealing with uncertainty has been incredibly important in my business career, even though nobody's ever asked me to diagram an AD/AS curve.
Not everyone lives their lives according to the principles of capitalism, just consider yourself lucky that at this moment, it's working out in our favor as developers.
It's not just finance+energy salaries driving up programmer wages.
Google, for example, pays $8,000 a month - just for interns!
Do you have a source for this? That seems exceedingly high. And even higher on an annual basis that the entry level salary you're mentioning.
Though I could see how paying a few extra thousands could help convince a college grad to take an internship there. Google then has their foot in the door… (but still, it would be odd to then get an offer for less than what you were making as an intern)
Also, these salary threads from the past couple of days make me feel underpaid.
Also, the Stanford CS department conducts a salary survey of graduates every year, and for 2009-2010 the average salary offer for CS/EE undergrads was $79,333 and the median was $80,0000.
You can have a look at stats of Cornell CS grads:
The median was ~ 75K in 2009
After taxes and other deductions I took approx 2200/month. $475/ month for rent living with a roommate. $55 for internet. ~$50 for monthly bus pass. $150/month for food. $100-150 miscellaneous utilities. All in that's about $880 a month for essentials. That left me with $1320 a month spending money. I bought video games, went to movies etc and still had a lot of spare cash. This with co-op pay of 3k a month. I cannot see a reason how anyone can say that 50-70k is not enough, except greed run amok.
A 1br apartment in SF in a part of town where you don't have to step over human excrement on a daily basis is $1800-$2000. Add another $500 for a new building (the one I live in is 100 years old). A new-ish car payment is $500 + expensive insurance. Add your $400 or so for food + utilities and your starting burn rate here just as a single guy is much closer to 3k per month, let alone what it costs to have a family. Also, $5 a day for food? Really? Around here lunch is $10.
Just saying, I don't think it's greed.
Not that I agree with him.
Most importantly, I think everyone who's willing to work hard enough to learn to program deserves the opportunity to earn dev wages.
If the theoretical CS courses are brimming with dollar-seekers, Stanford can add more practical programming courses. Everyone wins.
What does the economy of the future look like? Millions and millions of programmers. Manipulating technology is where value comes from and software is the most efficient way to manipulate technology.
I just hope we have enough robotics and computer engineering people to improve the platforms all these programmers are going to work on.
The web browser is pretty limited in its ability to improve human life. We need other platforms to target.
PS: Consider the number of poeple projected to know HTML in 1998 vs actually know HTML in 2010.
What's the answer? A lot more or a lot less?
Net result fewer people learned HTML because it was not needed.
I'm intrigued. Do you have specific ideas in mind? Do you mean like self-driving cars? Or in home helper robots? All of the above?
How about bathrooms with some hardware installed that controls valves on your shower, drain, toilet, sink, etc. Has some sensors: temperature, pressure, whatever. Has an exposed "reset" button that, when pushed, allows it to be connected to through WiFi. You connect on your laptop through WiFi and configure it like a router, or you give it your wifi password and configure it through an internet webapp.
You could have it do things like automatically adjust the temperature of your shower so it never goes cold. Put a limit on the temperature of the water coming out so your kids don't get burned. Tell you when the drain is getting clogged. Shut off the water when the toilet is overflowing.
Put a few hardware controls in the plumbing, expose the controls to a software interface, launch an app store and let people make apps for your toilet and shower. We need this.
Ditto for smart houses. Create little wifi plugs that you install in your light fixtures and then have a software interface that lets people write apps to control lights from your iPhone, or from a remote web interface when on vacation.
Plug a little hardware device onto your blinds that will open/close them based on a software interface. Hooks up to your wifi. Lets you program it to open with the sunrise and close at sunset, or whatever the programmer wants. Have toy apps that communicate with neighbours using morse code for $4.99 on the app store.
There is infinite potential. A wifi connection, a microprocessor, and some piece of hardware to plug everyday things into. Every single morning I wonder why someone has not invented a simple hardware unit to plug into your shower that lets you regulate the temperature. I want to have an interface on my iPhone where I set the temperature of my shower in degrees fahrenheit and then push "start" and the shower turns on and heats up to my desired temperature automatically.
I haven't seen as many Ph.D. students from other disciplines coming through our intro sequence and regretting their current path. But, I do see quite a few juniors and seniors who only started taking CS classes as a sophomore or junior (usually because their advisor told them the classes were too hard and would make it difficult to do their Core Curriculum) and really wish they had evaluated the major earlier before they made choices that prevented them from switching majors and still graduating in four years.
You speak as if disdain for PHP was a bad thing. I know a lot of very experienced and competent programmers who feel the same way, and it is not a slight on their competence that they do.
I think that as we depend on computers more, it's more important for people to have a basic understanding of what it even means to program. Demystifying technology is important. They may not even program, but I think it is becoming an important part of being educated for our society.
Some people just don't have an aptitude for programming. Just like I don't have an aptitude for graphic design.
Doesn't mean it shouldn't be taught as a part of the core curriculum.
Hopefully, this will end up with more people actually understanding CS, but I'm not so sure that will ever happen...
It's much less common to see a programmer portrayed as a fat, slovenly nerd as it used to be.
The problem is that many things are taken for granted (normally) and there are lots of distractions available -- when my parents bought me my first computer (in 95) I only had games like Doom to play and no net available, and I got bored easily. Loved sitting in front of the computer, and there was nothing more interesting than learning to program it.
Kids nowadays only stay on chat/facebook/myspace all day and/or play games, which is understandable to a certain point since there's lots of stuff to do with a PC that's attractive even to non-technical people. You don't need to program it to feel good about yourself, to show off, to have some fun or to get some work done ... that's the difference between now and the nineties.
What really made me learn to program was the NEED to figure out how to work the machine and network to be as fast as I could. I do doubt I'd be as interested in learning the innards on a smartphone or netbook...
Now, its much different - the technology is more empowering and much cheaper. I can build stuff, and if I can build stuff people want, its a direct path to starting a company. Constrained by my ability to build stuff, I committed myself over the last 2.5 years to focusing on becoming a better engineer.
What is interesting, is that many of my peers that I thought were done coding have come to this same conclusion. In the last 6 months I have had 3 friends - 1 a successful consultant at a big firm, 1 a successful tech salesman and a fortune 100 company, and 1 a VP of engineering at a mid-sized firm. Each of them is coding on nights and weekends now.
Why? 1) Paul Graham - 'build stuff people want' and the subsequent success of that strategy, 2) It is really hard to hire developers to build stuff, 3) Facebook, Twitter, Groupon, Zynga and other companies that used tech to change the world in insanely short periods of time.
So, from what I am seeing, its not about people gold-digging (as many comments have suggested) - its that the skill of engineering has turned from a boring career skillset into an incredibly empowering tool. I imagine many undergrads are seeing it this way too.
Personally, I think that it's fantastic. Programming is a great skill to be exposed to even if you're not a programmer. There's no shortage of hard problems to be solved in CS and the more the merrier as far as I'm concerned.
From my experience of teaching at least 100 kids who have taken the CS106s, no one has done it for a higher salary out of college - a lot of non-CS majors take it to satisfy the Engineering GER (a requirement) and the rest take it out of interest.
Developers: may I suggest getting a second degree?
Sure, there's bound to be an uptick; demand for developers is huge and all, but it's still a rigorous course of study and I think you need to be pretty driven to "get" it all. I'm not even remotely worried, because even if there were an overabundance of "computer scientists", there would still be a dearth of good computer scientists.
In the UK, you pick your entire major over a year before you ever go to university. In fact, it depends on your A-levels, so you're effectively picking your major at age 15 or 16. Whereas, of course, in the US, you have far more room to pick and choose.
Nonetheless, this uptick in interest is almost guaranteed to result in far more computer scientists. I agree that the number of good computer scientists is a fraction of that, but you'll still have far more chance of standing out from the crowd if you have a bunch of additional skills.
That said, I do feel that some of the reason they're seeing these numbers is because these classes are all exceptionally well taught and administered. The introductory classes they offer are designed to cater to those who might be undecided as to their major. Within a few weeks of learning what "Java" is, students are playing around with GUI apps, and do things like write breakout (with sound!). All the while, the course manages to introduce the key concepts of computer programming.
This sort of thing goes in cycles, just like startups and the economy. Jobs in the Bay Area for CS majors are in high demand now, so that's where people are majoring. The situation will change and then there will be newly minted CS grads wishing they had majored in something else.
And then there's this counterpoint:
Maybe the Stanford situation isn't going on all over?
I was an undergrad at a more traditional school where we registered for classes months in advance. I was amazed that the Stanford system was so informal, but in practice it worked just fine. It's wonderful to be able to audit a few classes before deciding on exactly what you're going to take; you may learn that you can't stand a professor, or love a surprising subject.
I attended cal for grad school, and I love it in many ways, but I just don't see as deep a commitment to every students success. Don't want to overstate this, plenty of wonderful profs and staff at cal who make an effort, and the challenges of 25k undergrads is great.
But it pains me to see young smart people who stumble a bit in their first couple years bounced from a major because the dept is looking for reasons to turn students away. I thins the field loses a lot of c@reative people who would have made big contributions.
Cs hasn't been impacted at cal forr a while now, thought it was when I was there.
Fortunately there are other good paths for persistent students.
Or take the half of the big 4 CS schools: Berkeley is like many if not most big public schools in requiring you apply to either their Engineering or "Letters and Science" schools, and you can't take EECS without getting into the former, CS without getting into one of either (or at least that's what they say on their home page, their may be exceptions of course).
CMU is unusual for a private school in that you have to apply to their CS department which has a fixed per year class size of 135 (last time I checked). MIT and I gather Stanford are like most? private colleges in that acceptance allows you to major in anything you can do and to switch if you want to. If a major doubles in size "overnight" they'll move heaven and earth to accommodate the undergrads (which is a or the major theme of this blog posting, some panic that Stanford CS major enrollment is exploding).
MIT, mindful of the transitory popularly of fields (e.g. look at the early '70s areo-astro crash from which the field never recovered) has never let the EECS department---the number of professors and graduate students---get "too big", which sure appeared wise after the dot.com crash which resulted in undergraduate enrollment falling by more than 1/2. That put great stress on the department when it had 40% of the undergraduates in the 80s and 90s (and which they may be returning to, with their "CS1" course enrollment exploding from 250 last spring to 380 this spring). Enough that for a long time in that period they refused to offer a service introductory programming course for non-majors, citing their overload.
ADDED: I just found out that enrollment in MIT's 6.01 just jumped to 380 this spring from 250 last spring. As noted, you don't by and large take this course unless you're seriously considering EECS as a major....
So it looks like Stanford's experience is mirrored at MIT.
I know many who took computer science classes as part of a degree in biology and just ended up switching entirely.
I had a professor in one of those courses once say something like this:
Look to your left, look to your right,
because one of you won’t be here by
the end of the year.
$100k in San Francisco is less than $50k where I live. I rent a single bedroom, no debt in Oklahoma. My good friend lives in San Francisco, single bedroom apartment, doesn't even need a car. I take home after taxes, expenses, etc about 50% to 25% and I make almost half of what he makes. Anecdotal, yes. Maybe not typical, but it does show that cost of living is a major factor on salary.
It could also be that kids are being introduced to programming at a younger and younger age. I started learning programming in my early teens, but I have a little cousin who has a Java class in her private school. She is about 8 now and can program Java better than I can...
It's a good sign if these are actual technical courses, but if they're just Word/Excel "programming" non-technical courses, we're just seeing a lot of people padding their resume in a bad economy.
Intro, non-technical course? These are more common than you think. CS105(https://agora.cs.illinois.edu/display/cs105/Course+Syllabus) at UIUC is a course that covers exactly that(it was 101 when I went there). It's meant for non-engineering or science students to cover a general education credit. CS101(which was 105) is in C and matlab, and that covers some more techincally difficult stuff. This is meant for technical non-CS majors.
CS125 is the true intro CS course, which covers data structures, recursion, etc.
I think a good metric for classes is the final assignment, since it captures "how far" the class goes. For reference, the final assignments are:
106A --- It varies, but has recently been a text-based "Adventure"-style game (in Java) that requires tracking the map, player state, various objects and their capabilities, etc. I think there might also be a small graphical component.
106B/X --- Again, it varies, but the best assignment (in my view) is a BASIC interpreter that implements both a REPL and stored programs. All C++, it's about building a big list of abstract expressions of different types (assignment, etc) that can be executed by walking that list (taking advantage of dynamic dispatch) and tracking global program state. It's a nice intersection of data structures and (very simple) recursive descent parsing.
107 --- A heap allocator to implement malloc(), realloc(), and free(), written on top of mmap(). A fantastic assignment.
So yeah, they're not trivial classes.
to clarify: 106a is java, basically an intro to OO stuff and 106b is C++, getting into data structures, etc.
When Top Gun (the Tom Cruise movie) came out, there was a big increase in the number of students signing up for aerospace engineering courses and programs.
The trigger doesn't have to be a movie, just something in popular culture. In this case, I think it's all the positive media around Facebook, iPhone, iPad, Kinect, Google and more (including at least one Oscar-nominated movie).
Top Gun, the movie, came out about five years later, on May 16, 1986.
Maybe the Space Shuttle launch did cause an increase in interest in aerospace programs, and maybe it didn't. I don't know. What I do know is that Top Gun did cause an increased interest in aerospace courses and programs.
People between the ages of ~23 and ~28 are sort of the go-betweeners with roots (and maybe even parents) in generation X but firmly planted in Generation Y. 22 and younger is firmly Generation Y, transforming into Z or whatever you want to call it. Right now, people around 18 have lived their whole life with the internet, and probably half of it with broadband.
At this rate, all of mankind will be Stanford CS students by the end of the century.
Meanwhile, EE and CpE are pretty low. Definitely below the job market's demand.
I had a friend who did that, finishing at about age 40 (and looking it due to premature gray hair). She never found a job, which is a terrible shame since she has "the spark" for programming which is rare in men and very very rare in women (she's the 3rd I've ever met in my 50 years on this earth---and as someone who until a year ago could pass for a college student my personal anecdotal data on age discrimination is rather solid).
On the other hand, if you're going to go the YC sort of route to start your own company, weight the risks of course but go for it! You'll get a mental toolbox which will do you well when you need to tackle difficult problems, and in many ways this field is like von Clausewitz's description of war, "Everything in war is simple, but the simplest thing is difficult."
As Microsoft and its competitors' history shows consistently writing software that works is harder than most people think. pg commented in one of his essays that a whole lot of the dot.com bubble era's failures were technical---well, their business model also may have had no chance, but they never got to the point of trying that. Friendster lost to Facebook if for no other reason than that for too many years they didn't solve their capacity problems which made the site painful to use.
There may be an investment bubble, but I don't think the average person taking CS106A this quarter has any idea of that beyond maybe that Facebook is a bit overvalued.
People are taking CS 106A (and B) because
* They're humanities majors that want to fulfill their engineering requirement to graduate
* Our intro CS classes are very well-regarded as fun and approachable.
* It's interesting, and people see that computers are getting more and more important.
Honestly, almost none of the people in A this quarter plan on using CS in their jobs. People in B are considering a CS major/minor and/or just enjoy CS.
People in 107 are probably going to major or minor in CS (or EE), so there will be an increase in majors, but not a huge one. Not enough to create a bubble, at least not yet
Consider the different sorts of work that a CS undergraduate might pursue: Alice could become a CPU architect, working at Intel or AMD on the next micro-archtecture for the next generation of x86_64 chips. Bobby could work on creating a new secure PHP framework that makes security exposures much less likely. Candice could on writing J2EE applets for Ford. David could become a GUI engineer. Elaine could be writing the engine for an amazing new MMORPG. Frank could be working on new compiler optimizations for the Go language. Gerald could be a product manager for an amazing new consumer electronic device that's actually not derivative of other products. Hermione might be a webmaven who can create a website using Drupal, Wordpress, or what ever else is appropriate/demanded by her clients. You get the idea.
All of these require radically different preparation for a successful career, and one interesting question is where should that preparation take place? On the job? At a trade school? At an undergraduate CS program?
Some CS programs focus heavily on Java programming these days. Others still have a very heavy Systems bias (although I lament that MIT is no longer requiring undergraduates to build a CPU out of TTL chips :-). Some try to spread themselves super-thin, and have a peanut-butter coverage of all of these topics, and assume that if student needs to learn the intricacies of the Java standard libraries, they can do that on the job. Others will assume the same about what Virtual Memory is. (No kidding, I was sitting in 1st year introductory CS graduate class at MIT when a student raised her hand, and asked in lecture, "I'm sorry, what is Virtual Memory?". My jaw dropped.)
Similarly I think there's going to be a huge variety in salaries based on both the very wide range of talent available --- both in terms of quality, and their scope of training/skills/experience. If a company only wants the very best and brightest, asking for $100k/year even for a recent college graduate isn't insane. I've done phone screens for people who have been out in the industry for years, and they flubbed amazingly basic questions --- so much so that I wondered how/why their previous employers had hired them. My personal conclusion is that the market is extremely tight for certain classes of software engineers (for example, really good Linux Kernel engineers), and some companies react by hiring anyone they can get, and other companies react by holding the line, only hiring competent engineers, and paying more if that's what it takes.
You can't evaluate whether this is a good or bad change based on the numbers alone. For example, the legal profession has been swamped with excess entrants and it sucks. On the other hand, programmers tend to be job-creators more than job-takers, even as employees ("intrapreneurs") so I think this is probably a good thing.