Why can't you find a job with a Stanford computer science Ph.D? (2013)
lemire.me
lemire.me
If you're a graduating PhD headed into academia, you will be the boss of your group, with almost nothing above you in the org chart telling you what to do. So it is natural for a PhD headed into industry to start from a place of expecting the same---from their perspective.
But from the perspective of industry, the PhD's value isn't judged the same way. They've just spent six years doing research, not shipping code. Their management experience is managing students and classrooms, not employees.
So this mismatch results in a perception of "I'm being undervalued!" from the perspective of the PhD and "He's overvaluing himself" from the perspective of the company.
If the student and company don't have high social IQ to navigate this situation, I can see how it would result in no offers being made.
Source: I've made hiring decisions about PhDs when I worked in industry, and now I'm a graduating PhD student going back into industry, so I can see it from both sides.
Uhhh... what? Where did you get your PhD, and what did you do after? Most graduating PhDs end up in a research group as postdocs, with everything above them in the org chart. Even if you get a tenure track job right after graduating, you'll still have to answer to a lot of people.
As a tenure track professor, you don't really answer to many people. You have to beg for money (grants), constantly prove yourself (publications), and always be recruiting (students). Of course you also have to teach classes, do community service, and participate in department politics and initiatives. I'm not counting these as "answering to people," however, because none of them involve someone telling you to do something. They're all activities you must decide to do yourself, and then it's completely up to you how to do them. Is this what you meant by answering to lots of people, or something else?
The relevant academic joke is: "It's the best job ever! You can do whatever you want with your 80 hour weeks!"
[1] In CS, from my experience, postdocing is usually a 1-year "reset your brain" time before taking an academic job. I know in other fields it's often a mandatory many-year grunt-work experience.
Yes, this is what I meant. I dropped out of my PhD (CS as well), but when I was a student my advisor (who was still an assistant professor at the time) was spending most of his waking hours in department meetings, writing grants, finding a way to make $RANDOM_OLD_PROFESSOR happy, and so on. To me it seemed very much like he had 10 million voices telling him what to do (of course he got to choose what he would actually do and what he wouldn't, but it didn't feel to me like he was much more "free" than he would have been in an industry job).
I've seen a lot of PhDs whose answer is "no." They didn't build that skill, and they do poorly in interviews. They may have weaker skill than they did before they started their research. All the other knowledge they have is irrelevant if they can't express it in code for a computer to run.
It's not like there aren't a lot of CS PhDs in industry, they're usually just quiet about it.
BEGIN_QUOTE "...It’s worth noting that he has a CS PhD but his research was in biomechanical simulation.
He then applied to a bunch of Product Management jobs without any industry experience. Nothing about him suggests he’d be a better candidate for an entry level spot than the typical BS-CS. The bit about 47k users is not really all that relevant to anyone hiring for a PM position in the Valley. He’s definitely nowhere near a live candidate for anything past an entry level position.
Regarding programming jobs, he’s definitely not all that interesting a candidate on either the data science or systems front. He should have been able to get a job somewhere but that would strictly be off potential as opposed to anything relevant.
I’m not entirely clear on what he expected, given the skills he focused on during his PhD.
For context: I also went to Stanford, did some biomechanics research and then had to do a fair bit of resume rehab to be employable. Spent big portions of the last 5+ years actively hiring engineers for various places I’ve worked. I’m surprised it took him a year, but was less surprised when I read about the jobs he went after..." END_QUOTE
Social skills or management skills could be lacking, past work experience could be lacking, the person might not be good at finding the jobs which are obviously out there because programming skills are very desirable right now.
When applying for a job sometimes you have to sell yourself and make the company know that you can provide value and won't slack off after being hired. This isn't always easy, just a degree doesn't mean jack shit.
The education system is partially to blame. Spending almost 20 years at a desk being "taught" (pushed through) doesn't seem like the most effective way to prepare someone for life. People need experience and variety. Social skills, organization, self-motivation, and loyalty are all skills that are extremely important but are hard to learn in the current educational environment, at least in my experience.
"Do I want to spend all day with this person?" is a completely valid question when interviewing the person who will be at the desk next to yours all day, every day.
That isn't to say that people with PhD's are any more or less likely than anyone else :D just that there are numerous non-education related factors that can factor heavily in hiring decisions.
TL;DR Software engineering is a distinct skill set from computer science and it's very possible to excel in CS while largely ignoring the former discipline.
For example, writing code in a team rather than on your own or in a very small group. This involves learning the importance of small changesets, coding conventions and readable/understandable code, among other things.
Also, coding in the industry involves a lot of learning to use tools and techniques that others have developed and far less developing those things on your own. A ton of the code that gets written in the industry is glue code between well-known solutions or boilerplate for a well-known framework.
None of this is to say that a PhD can't learn those things or even hasn't learned those things by the time they interview, but I can confirm from our interview process that there are a lot of them that haven't and I'd rather hire a fresh CS grad who will be cheaper and likely be more humble rather than struggling to convince a PhD that those things are important.
I remember reading Chand's blog post when it was first written and found it unbelievable. First of all, it doesn't even _try_ to find evidence of a so-called "PhD-Industry Gap" beyond his own personal experience. This rehash, written a few days later, doesn't try either. Is there any actual evidence for the claim that industry doesn't want CS PhDs?
As someone with a CS PhD from a top school, my own anecdotal evidence is that there are lots of companies, both established and startup, who are interested in such people for programming positions. I'm with the professors and industry veterans who found Chand's story incredible. Either he was extremely unlucky or, more likely, there was something else going on with him personally that turned off these companies.
The truth is, to learn any information about the usefullness of a PhD you need a proper study following the life of a group of people with CS PhDs, and a control group without CS PhDs. And then, what is "usefullness" anyway? net worth? happiness?
My theory is that, like most professions, you are born a PhD. If you are not one, then don't waste time getting it. You'll be miserable.
"As a scientist, I had already been gathering data about that question. Each time I was rejected from a job, I asked the companies for reasons."
From this "data" the conclusion was made that there exists some sort of "Ph.D.-industry gap".
Now, you can hate on my comment without realizing that I respect the work and knowledge represented by such an achievement, but this is just real-talk from 15 years in the trenches. I have no college degree and am probably more marketable simply due to my wide experience in various industries and projects. That is sad but true and maybe indicative of the funked up system we inhabit.
I would suggest against a PhD in CS right now unless you know exactly where you want to work and that they require that kind of degree, or if you want to be a teacher then a PhD is very valuable. I need stuff that works and fast, not to re-invent the wheel by using outdated techniques your professors taught you.
A masters degree is probably the best higher education in this field. For programming it's all about ability, work-ethic, and long term relationships with the company, because you are an investment as an employee.
I do consulting and have never had anyone ask me about a degree (I have a degree in a completely unrelated field), I don't even give out a resume and would not hesitate to tell a potential client to piss off just because of the huge amount of work available for someone who can create value for a company.
It seems you have a very wrong idea of what PhD training is. It isn't about any outdated techniques, unless you call science outdated. PhDs is about doing research and writing scientific articles and presentations documenting that research. Everything else is a side effect.
Whereas someone in the industry has been developing their generalist skills and keeping up with current technology.
True. Although if you can complete a phd at Stanford you almost certainly have the ability and drive to get to senior developer level within a year or two in industry. But when it comes down to it most companies don't hire for who you will be or who you can become but for your current skills and abilities.
Which is ok, but don't then turn around and complain about a skills shortage. And don't complain that employees have very little loyalty. And don't complain when you have to pay $150-$300/hr for experienced developers with expertise in your specific stack.
You think you are generalist because you don't even know anything else exist.
I have met a lot of PhDs in computational fields with mediocre coding skills, but if you are in the position of being up with the times it's just a matter of marketing yourself properly. Not easy, but as I like to say, if you can code well your not in danger of starving anytime soon in this day and age.
For folks like me, we hop between jobs every 1-3 years because I can come in, understand the rather mundane issues facing a codebase and rectify them relatively quickly from my extensive real-world experience before moving on to the next spot with a modest-to-sometimes-significant bump in pay. But I can never get access to the sorts of positions you will have access to.
Why? do they fire you if they discover that you secretly have a CS PhD?
But with a PhD, you can target jobs that the employer feels are too complex and demanding for a simple BS
So if you go in thinking you will impress anyone with your credentials, you will be humbled. Learning to interview in relevance to today's practices is often skipped over - and people are stunned that their brilliance was not recognized. If you spend 10+ years getting a top class education, might as well spend an extra 6 months understanding the interview stuff too.
"Imagine you’re a brand-new Porsche in 2011. You’re sitting in a dealership, being test-driven by many enamored consumers but never purchased. Later you hear that the 2011 Toyota Camry outsold the Lexus 1.5 to 1, the Cadillac 2 to 1, and the Porsche 10 to 1. You ask yourself: Was it worth being an impressive, expensive car, if no one ever buys you?
That ironic situation is very real for many Ph.D.’s. I faced it myself after getting my master’s and doctorate in computer science from Stanford University, where I built software that revolutionized the study of human movement, became an early expert and core developer of software featured in Scientific American, and was one of four Ph.D.’s chosen from Stanford’s engineering school for a research award.
...
It was like being a chameleon and trying to get jobs where you had to be red, blue, or black. Yes, you’re capable of becoming any of those colors, but companies would rather hire animals that already were those specific colors. My unusual Ph.D.—in contrast to my professors’ beliefs—severely limited my career options in industry, despite my software background and my Stanford computer-science degrees (which are widely considered synonymous with wild success in Silicon Valley’s tech scene).
...
So we have today’s employment climate. At one end, companies hire whoever can get the job done, like consumers buying reliable, affordable sedans. At the other end, universities, including deeply industry-savvy ones like Stanford, pump out Ph.D.’s who, like luxury cars, are too specialized and expensive for most employers."
No you haven't. The job market is just as open. What I think you mean is "PhD's want jobs which are rarely available".
You can most certainly find a programming job with a PhD. They're literally everywhere
I think that one of the main point here may be being lost.
Most of the arguments I read here argue the point from the programmer's perspective.
What is the employer's perspective? They hold most of, if not, all the cards? And the story is about employers not acting to tap a resource (this PhD) that clearly should be valuable to them.
Businesses hire programmers to write software to solve business problems. In most cases, these business problems are operational in nature - managing information to run a process.
Writing software for software's sake is not the primary objective of most businesses.
This means that most businesses are more than happy with good enough.
Systems do not have to be especially robust, they just have to be good enough to run business operations.
In the case of companies like Google (whose primary business objective is to sell ads so as to make money), the software is complicated because they way they sell ads is complicated. The software has to be robust because it is used by many users simultaneously, is run on multiple machines at the same time (for many definitions of machine from Google Glass to phones to desktops to tablets to Nest thermostats) and needs to be integrated across all of this in a way that makes the whole much greater than the sum of its parts by many many software developers (PhD. or not).
This need for a complex set of systems to function in a fast and reliable way is the reason that coding quality is a key issue at play.
Software is the primary asset for these orgs that allows them to make money and they manage it carefully and spend big money on it.
In hospitals, it is staff, equipment and drugs - that is where the money goes.
In schools, it is meant to be teachers (and kids) but we have that one wrong.
For most other businesses, there is some other asset that is key to success and the money will always go there, not to software. Businesses typically make the decision to have just good enough for software to run ops especially if this software is running on in house systems for use by staff.
(From your reply I assume that you're a recent hire at Google with not much prior work experience; I can easily imagine people with several years of expertise can do exciting stuff at Google.)
Being in my first year on my PhD, I have friends that have been recently accepted to companies such as Google or Microsoft. Unfortunately, their work there does not sound exciting to a person that has fun working on an intellectual challenge (which I believe many PhDs do, but not only PhDs -- for instance, people loving programming contests do so too).
To give a few examples:
* I've heard of a guy that was one of the smartest when it came to the programming contests; he ended up working for Google on the frontend of their site, I think.
* One of my friends got hired by Microsoft; his work is mostly developing code for Skype text servers. Soon he and his group will be given the task of porting it from C++ (a non-MS technology) into C#/Azure. That also doesn't sound very exciting.
* Another of my friends got hired by Google into a Site Reliability Engineer position. That might be challenging (and very stressful), but I expect more time-critical fixes than intellectual challanges.
---
That's pretty much my reason for doing a PhD -- low pay, but challenging.
I've been at Google for 2.5 years and am the tech lead of a small team. My prior work experience was internships and a startup (which I sold after about a year on it in grad school and another year on it full time).
I've done a combination of boring plumbing stuff, moderately interesting plumbing stuff, very interesting mathy stuff (figuring out how to make place ratings better), applied ML stuff (for local review spam and quality), and crowdsourcing optimization stuff (making the humans who do manual things to maps data more efficient). I'd say the interestingness of my projects has probably been above average, but not exceptionally so.
Be prepared to have your bubble burst, badly. Industry is hardly ever like what you'd find "exciting", and even when it is, the odds aren't likely that it'll be given to a "PHD" student, but rather the company favorite. i.e. The person that plays politics better than you.
I left a PhD program to go into industry. I get to work on way more fascinating things in industry than I ever would have in academia. I also get to work on lots of different interesting things, rather than focusing entirely in one narrow field. Generally, my advice to PhD students considering working in industry is “if you’ve identified one specific problem that you want to devote years to, then academia may be for you. If you want to have a constant flow of challenging problems and don’t particularly care about sticking to one narrow field, industry may be a better fit for you.”
My experience is that the incentives in industry are aligned so that it’s nearly impossible to succeed without having broad interests that allow you to have impact on multiple projects. Incentives in academia are aligned so that it’s nearly impossible to succeed without being able to focus almost single-mindedly on one specific area and churn out the publications; there isn’t much time for exploration until you get tenure, at least.
Maybe I’ve just been lucky, though?
I also think that most industry jobs are not "exciting", and so people that desire stimulating intellectual work have better options inside academia, even if for just a limited time (if they do not go further after the PhD).
Hard to say, since I don't have one. It probably helps if you want to join a researchy team at Google, but if you just want to be a SWE then I doubt it makes much difference (though I can't speak for HR of course). In terms of maintaining a job, that's all about what you do at the job...once you're in, your degree probably doesn't matter at all.
Moving from academics to industry can be difficult. My experience: several of my applications were rejected even though I considered me as a perfect match. I analyzed my resume and suspected, there was too much academical stuff in it. I deleted most of my research work from the resume and kept only "down-to-earth-stuff". Same strategy in the interviews. And voila, within no time got a bunch of offers for really great industry jobs.
The first statement is just about the guy himself and what he did. It does not present a comparison. The second one comes off as arrogant
Harder but not impossible or unusual