Hacker News new | ask | show | jobs
by davidxc 2617 days ago
As someone else said below, treating STEM as one category is absurb and lumps together way too many different majors and careers (that have drastically varying levels of attractiveness and compensation growth).

Majors like biology and chemistry have fairly terrible prospects with just a BS degree, but CS and the engineering majors are still quite good. Physics and math are more iffy, but if you know what you're doing and pick up some employable skills on the side, then those majors will at least get you into interviews for good jobs.

There's also the question of what "not enough jobs" means. There are definitely struggling CS majors, but I think that a statement about there not being enough jobs needs to be looked at in a relative way - that is, one needs to consider what the alternative options are and whether those alternatives have better prospects. Many careers have been on the decline, and it's difficult to really identify career paths that are significantly better than computer science / software engineering (at least, at the undergraduate level). Even if we compared careers that required graduate school, the only paths that one could plausibly argue are significantly better than tech are medicine, law, and business (in my opinion). Those three careers all come with their own serious tradeoffs and downsides.

If anyone has information on what career paths are significantly better than CS / engineering, I'd be interested to hear your opinion. Right now, I'm unfortunately not seeing significantly better alternatives.

4 comments

I think the hype is really, really dangerous. I work as an external examiner for CS students at an academy and bachelor level. 10 years ago, maybe 20 students would finish from a single school, in 2019 that number is in the several hundreds some places thousands. If I look at my average grading over the years, there is a clear trend too. People are either really good or really bad, where 10 years ago it was far more spread out, and a lot more people were “average”. It’s anecdotal but I think it’s because hype has pushed too many people into CS.

There will always be a need for excellent CS students, preferable with candidate or masters, just like there will always be a need for excellent biologists or great escimologists. I don’t think there will always be a need for below average CS students, especially not at the rate of which we’re producing them right now, again thanks to the hype.

One of the reasons I say this is because of automation. If you look at operations, the cloud has really killed a lot of jobs in enterprise IT departments, because it’s so much easier to operate your stuff in AWS or Azure than when you had to have your own infrastructure. Sure there are still operations people around, but notice how they are the best operations guys not the averages, because the people who were average 10 years ago are unemployed today.

It’ll be the same for development. We already see bits of it, at least if you’ve been around for a while. 19 years ago we build our first web based enterprise tool to handle employee vacation, sick leave and tax-refund on corporate related driving. It was a massive JSP undertaking that took 20 guys and 6 months. In 2017 it was replaced by a modern web tool build in .NET framework web-app and Angular, it took an intern three weeks to do it.

If you look at what areas are becoming useful, it’s not really CS. Sure you’ll be able to use some CS students for ML, but you’d rather have a mathematician or a statistician who can code. Sure you can use some CS students for robotics, but you’d rather have an electrical engineer.

I’m Danish, our jobmarket is different, but we too hype STEM and especially CS, but the truth is, that what we’re really going to need is electricians, pumblers and other craftsme because every young person wants to learn to code.

One thing that had happened, especially in SE Asia, is the wage has been driven down outside of FAANG. Many non-tech people view development as plumbing, which it kind of is, but at least plumbers are certified which guarantees a minimum level of competency. Buyers don't view development work in terms of value delivered but only in terms of price. This destroys the middle market for good but not industry leading devs.
This is not limited to SE Asia. Outsourcing, rather over-simplified and limited definitions of cost, buyer's market for companies (and no, the bigger players don't care for real talent at large) drive this in other environments too. I am from Germany and in this market for 20 years as a freelancer/contractor/consultant. Personally - having a major in mathematics and relevant project experience - I have no significant problems. But 'dev-only' people certainly face the mass market effects.
Also from germany. CS degree = 75% mathematics + 5% coding + 20% other theory. Fresh out of university i hardly could write code at all and had zero experience with databases.
are you a contractor in data science area in Germany? Can we please talk?
> it took an intern three weeks to do it.

What I see happening that even though productivity has increased by e.g. an order of magnitude, projects still remain big since there's a latent demand for more features.

There might be latent sales department demand for more features. I don't think there's latent market demand for more features, at least not to the extent consumers would choose to pay for new features.

How many Facebook users were willing to pay to have to download a separate Messenger app, or for Oculus integration? How many Apple users would pay extra for the Touch Bar if it were a standalone feature?

My guess is, not many. Probably not enough to justify adding the feature.

>2019 that number is in the several hundreds some places thousands.

wow - how are the uni's getting the space / resources to do that? I have some knowledge of the investment required in labs and lecture theatres, and I know of several CS programs in the UK capped by the constraints that these impose. Basically if you can't get the class into a "standard" lecture theatre at your institution you are capped. Attrition is ~5 and 15% (sometimes higher - but the teaching quality stuff kicks in) per year so by the time you get to a graduation class it's rare that >100 graduate - more like 60.

> investment required in labs and lecture theatres

Do you really need CS labs, anymore? A personal low-end laptop ought to be enough for most CS studies.

Good question - I think that hands on hardware should be at least one bit of a proper CS degree, for things like massive parallelism and FPGA's perhaps you could use cloud resources - does this cost in?
I’m not sure that you’d rather have a mathematician or statistician who can code for all cases with ML. At least at universities I’ve gone to, even the main research in these areas is going on in CS/ECE departments or some in the stats department. Implementing non-novel ML stuff seems like most of the difficulty would be in data movement etc. since you can use the big frameworks for most easy things. Even testing new stuff at small scales might involve lot of eg fiddling in MATLAB and testing on examples rather than only proving theorems

Of course the “CS students” I work on these topics with are more math heavy CS graduates (some sort of have a complex about not being in the math department) rather than someone who is extremely good at coding and only took the calculus sequence necessary to graduate with his CS degree.

Careers that have higher status and entry requirements have the advantage that they don't cannabalize their middle-age job prospects like CS does.

CS is great for many years, until you discover it's a year too late, with only a limited number of things to show for it, along with largely useless random domain knowledge; and your peers who didn't major in CS are gaining more leverage relative to you, due to compounding nature of advancement in those other professions compared to constant skill (re) acquisition in tech

I largely agree with what you say for generic CS skills. A way to accumulate leverage might be focusing on hard and deep skills like distributed computing and machine learning for complex real-world problems. Although details change significantly over time, the fundamentals evolve much more slowly and take years to truly understand and be able to apply them effectively.

Alternatively, moving into technical management with deep domain knowledge might be suitable for some.

Machine learning effectively didn't exist a decade ago. A decade from now, it's likely to be where building HTML pages was in the nineties, or database-backed web applications in the 00's.

I understand it's a deeper skill set, but depth has little to do with supply-and-demand. Physics, biology, and similar have a lot of depth, and the fundamentals evolve much more slowly and take years to truly understand and be able to apply them effectively as well, but employment prospects are grim.

If blockchain had turned out to be the Next Big Thing, the important fundamentals would have been in cryptography. And so on. Someone young, without family, mortgage, etc. obligations, will be able to get into the current hot field much more quickly than a 40-year-old or 50-year-old with three kids in school and possibly starting medical problems.

It doesn't help that there is massive age discrimination.

If you want to be employed older, the trick seems to be to move into a cross-disciplinary role, such as management (people+tech). A lot of other cross-disciplinary roles will do, though (medicine+tech, bio+tech, chemistry+tech, EE+tech, etc.). Pure tech doesn't seem to cut it after thirty for career growth, after forty for job stability, or after fifty for having a job at all.

Machine learning has been applicable to businesses since the late 90's and early 00's (e.g. recommendation engines, basic speech recognition for people with special needs) and existed as a research field decades earlier.

The star researchers who command top compensation in the field today often have over a decade of experience.

I agree that a much larger pool of graduates might dampen average compensation in the future somewhat. A key distinguishing feature of these more complex skills (relative to HTML, etc) is that much fewer percentage of people are capable of mastering them, and it takes longer commitment as well.

Relative to pure physics and biology, the applications are much broader and thus better prospects for the experts.

Do senior petroleum engineers face the career issues you suggest?

I’m 40, all my significant career growth was after 30 with most of it after 35, I’m more employable now than I was 3 years ago and am paid well. I was really worried about a Logan’s Run-esque slaughter at 40 and I’m not seeing it, with the usual caveats on luck and anecdotes. I do believe there is intense ageism in our industry but I think it may be endemic to certain areas or companies. Don’t fear the reaper my friends, you can be 40 with a family and still work in high profile tech, probably.
> Careers that have higher status and entry requirements have the advantage that they don't cannabalize their middle-age job prospects like CS does.

Do you have any studies or evidence to back that assertion up? If the number of people working in a field doubles every five years there will then at 20 years with perfect retention only 7.5% of the population of workers will have 20 years experience and half will have less than five.

High status doesn’t really help that much if the economics and funding environment are awful. Professional actors are not looked down on by many and even fewer look down on biology or chemistry professors but trying to get into those careers is a poor choice unless your parents can support you if it doesn’t work out. Vicious competition for a small number of coveted spots leaves to many people spending years of their lives only to drop out of a tournament they lost, with precious little to show for it.

If you're smart about what you learn and what jobs you take, you can build a skill set that will keep you in demand forever. If you just spend 20 years building boring crud apps using the hot stack du jour, of course you're going to have problems.
Any advice on how to do this?
Always try to make your next project more ambitious than your last. Look for opportunities to incorporate challenging features into boring products, and ask your employer to let you work on progressively harder things.
It's from 2013, but Peter Turchin talks about law degrees in the U.S., where job prospects had become bimodal. Note that this would not show up in unemployment stats necessarily, but the salary prospects of the lower mode clearly did not justify the time and expense of the law degree: http://peterturchin.com/cliodynamica/bimodal-lawyers-how-ext...
As a law student, I definitely saw this bimodal outlook. I went to a second-tier law school, but in the New York City area. At the time, twenty years ago, the "average" starting salary for my school was posted at $65k. But what you later found out is that the top students were getting offered $140k (Top NY firms), while everyone else was getting $30k (working for judges and small NJ firms). So no one was actually getting an offer for the average salary. Some of the top NYC firms would interview at my school, but would only interview the top 2% of students. Also, the reason the "spike" at the high end is so sharp and pronounced for law is that top tier law firms mostly all offer the same salary. If one of the group raises the starting salary, all the other top tier firms instantly match that new salary.
What about doctor, pharmacist, nurse, law, business, and accounting ?