This post was first published on my personal blog as Why You Should Hire a PhD.
A while back a friend asked me for some advice on behalf of a recent graduate of a developer "boot camp". The graduate in question had a PhD in an unrelated field and was wondering if they should be applying for Senior positions, despite their inexperience with software specifically.
I didn't even need to think before responding in the affirmative. Of course, I am biased. When I first started my career as a Software Engineer I had a PhD in an unrelated field, and yet my first employer, Apple, acknowledged this by hiring me into a more advanced position than other new developers.
I suspect that anyone who has a PhD, or has worked extensively with other PhDs, might instinctively agree with this position. Still, I found myself questioning the source of my confidence. What was it about having a PhD that would qualify someone to jump into a Senior role? I thought about "soft skills", resourcefulness, and other flowery terms. Certainly all of those factor in, but in the end it all comes down to two concepts that will be painfully familiar to every Software Engineer in a Senior position: impostor syndrome and burnout.
If you are not familiar with impostor syndrome, it is the feeling you get when you don't know how to do something, but you feel as if you should know how to do this thing, and you sense that everyone else knows or will find out that you don't know how to do this thing that you should. For Software Engineers, it is a constant companion.
So much of what we do in the world of software is novel and unique that it is unsurprising to find oneself in the position of not knowing what to do. On the other hand, the world of software touches on so many different and complex disciplines that it would also not be unusual to find that there is something more to learn. Impostor syndrome comes from not being able to discriminate between these two situations and always assuming it's the later.
Impostor syndrome can be downright paralyzing, and being able to confront it is key to the success of any Software Engineering career. So how does having a PhD help? One of my favorite metaphors for how scientific progress is made is to imagine climbing a mountain with a handful of dirt. When you reach the top of the mountain, you place that dirt at the top, then turn around and head back to the bottom for another handful.
In other words, the scientific process is focused on searching out those places where "not knowing what to do next" indicates that you can add your own contribution to humankind's general pursuit of knowledge. Before you can become a successful scientist you must master being able to discriminate these areas from areas where you simply haven't learned enough yet. There are subtle clues that one can use to differentiate between the two, and having a PhD indicates that you've mastered this art.
Writing software is a creative process on par with, well, writing. Just as writers can experience writer's block, Software Engineers have to constantly worry about burnout. There are many reasons that one might suffer from it, and many different strategies to combat it. The bottom line is that the specter of burnout is very real for every Software Engineer. It can be a potential career killer.
So, again, what does this have to do with having a PhD? I think my wife (then girlfriend) said it best when we were both studying for our PhDs: if you tied a donkey to a lab bench and left it there for 10 years, they'd award it a PhD! (After she said this, as encouragement, I bought her a stuffed donkey and tied it to her bench.)
I was once told that no one's PhD dissertation takes more than a year's worth of research to produce. The reason that people take 6, 7, or (as in my case) 8 years to get a PhD is because your first idea will inevitably fail, and then your second idea will fail. Year after year you will have new ideas and they will fail again, and again, and again. If someone tells you that they took 8 years to finish their PhD, you can bet they spent the first 7 doing nothing but failing.
Burnout is not just a thing for Software Engineers. Scientists can suffer from it as well. When I first started my PhD program, an older student told me of a former classmate who, after becoming completely fed up with the whole process, decided to "move down to the Keys to smoke weed and paint boats for a living". She followed up by confiding, "I think he may be smarter than the rest of us."
The causes are many, and the techniques for prevention are different for each person. One thing you can be sure of: if someone has a PhD, they have stared burnout in the face multiple times and have figured out, in their own personal way, how to deal with it.
Obviously, blanket statements such as "you should hire a PhD" are usually wrong. There will always be exceptions, and I would expect any company's hiring process to be complex and tailored to their specific culture and requirements. That said, if you are hiring for a Senior role and happen to come across a CV from someone with little to no development experience, but with those three all-important letters after their name, maybe don't toss it on the reject pile right away. You just might be surprised how good of a Senior developer that PhD could be.