Hacker News new | ask | show | jobs
by curiousgibbon 975 days ago
I'm an academic. I think you make valid points but get the effect size wrong. It's entirely possible to contribute to academic fields without intimate knowledge of 50 years of past results. Breakthroughs come from hard work, inspiration and luck in different amounts each time. An outsider perspective can be more useful than being highly trained in the dogmatic status quo as you see things differently. I'd caution that raw intellectual talent probably differs more than you tend to notice in industry. Academic field leaders can be frighteningly smart, and while some people enjoy being the slowest person in the room it can be tough to handle.

Also, you may find that PhD salaries are MUCH lower than 1/3 of an experienced developer salary. If you do the standard thing of 20h per week GTA/GRA work and the rest (nominally 20h but likely 40h) independent study, you might get $25k per year plus meagre health benefits. If you're financially independent this is manageable, but relative to developer salary it's poverty in high COL areas of the USA (which is where the good universities are).

2 comments

Yeah $25k a year for five years or more would be very hard to justify, that's leaving at least half a million dollars on the table in terms of lost earning potential.

I think I do have a unique perspective and a pretty respectable level of knowledge and ability for CS research, obviously I wouldn't know for sure until I tried to enter the field. For example I've written a typed UI system based on monadic coroutines, with typed embedding of invariants around focus behavior, scrolling, and responsive display ... I've seen papers and theses on typed UI programming in Haskell which seemed pretty similar in terms of scope and sophistication.

I was kind of hoping there would be more paths between industry and academia in CS, because the industry is so large compared with other research fields like math or physics.

Yes, the financial trade-offs for getting a PhD versus simply earning median software engineer salary is extreme. So much so that most people should only consider the PhD if that trade-off simply isn't a consideration.

Somewhat more problematically, "a pretty respectable level of knowledge and ability for CS research" is table stakes for just about every grad student in a CS program. This is especially true at better programs. You might be sadly surprised just how little your industry programming experience is valued in academic CS research - in my grad program, being highly skilled in multiple programming languages was assumed.

By better program, I mean programs like an R1 university CS research program - I am specifically excluding terminal, MS-only CS programs in that statement. Many of those terminal, MS-only programs are actually credential programs for career changers (people who want to upgrade to a SW engineer job and had unrelated undergrad majors).

You might want to look at how the papers and theses you have been enjoying were produced. I strongly suspect that the writers were mostly grad students working under a current professor who had grants to support grad students to do that work. There probably isn't much (any?) demand to hire programmers to do research programming work - that is what research assistantships pay students for.

Maybe a good analogy here would be think about someone who has a physics undergrad, has worked in applied engineering in the energy industry for 16 years, and is now interested in being hired into a university role that allows that person to do more of their day-to-day work directly in particle physics research. What physics department is going to hire that person? Why? Keep in mind there is a verifiable surplus of physics PhD postdocs looking for that gig . . .

All this isn't meant to be overly discouraging, just my thoughts. Honestly, just keep a list of universities you wouldn't mind working at and once a week or so, browse all their job listings to see if something fits your interests and apply if it does!

You are right. Still, you need intimate knowledge of the state of the art in whatever field you're approaching to make your dent. And type theory, which TS gave as an example, is a field where all low-hanging fruit were picked decades ago so you'll have a lot of reading and understanding to do to get started. Something more "applied" may be more approachable. Like type theoretic construct X as applied to TypeScript to prevent integer overflows in domain Y (I don't know anything about type theory). A good supervisor could help TS pick a realistic subject. Unfortunately for TS, not every supervisor is good... But even with an awesome supervisor, awesome subject, awesome work ethic, and awesome talent, it's a lot of work.