From Academia With Love
Over the past year I've had several people contact me on LinkedIn recently about transitioning from academia, post-PhD, into industry as a Data Scientist (or similar role). So, I thought it might make sense to write a post about it, in case it might help others.
First off, disclaimer - this post is written very much based on my own experience. I know plenty of people who have transitioned from Academia to Industry and everyone has their own journey. Of course, there are similarities but perspectives, experience and opinions will be different.
Do I need a Data Science/Coding PhD?
Well, no, but I'd be lying if I said it wouldn't help. I don't know anyone who has come into Data Science off the top of my head, who hasn't had some sort of science background which has meant that they know how to code. I think with most science PhDs there is data that needs processing/sorting/analysing and so it's likely that programming has come into this somewhere..also statistics! Both of which will really help with the foundational knowledge/skillset required for a Data Science career.
That's not to say you need to be an expert in Data Science, or that your PhD/post doc experience has to be related but it helps. As an example, for me, I was meant to have a more Data Science focussed PhD but the pandemic suspended my clinical trial and so in the end I didn't collect the data I expected. My PhD ended up having qualitative data at its heart, and the code I did was more software development related than data related. But, the skills are transferrable, the way of thinking is transferrable. There's always a learning to take away, no experience is wasted.
I'd say, if you don't have those sorts of skills from your formal training/education, you can always get some by doing projects of your own and self learning in any spare time that you might have.
Does a PhD mean I have a better chance at getting a job?
As with anything, it depends. It depends on how you sell your skills, it depends on the job that you are applying for and in which company. If you're applying for a research-data cross over role, then yes your PhD is going to be helpful. If you're looking for more of a pure data science/ML engineering role, then maybe not. PhDs aren't uncommon in the data world so you won't be special for having one, but that doesn't mean that you don't have unique skills from yours that can make you shine!
It's important to note that having a PhD doesn't mean that you won't be a junior in the industry, even if you think your experience is related to the industry (but often even if you go in as a junior your experience will help you to move up more quickly). Let me explain...academia is not the real world. This means that some hiring managers don't understand or count PhD/post doc experience as experience. They don't understand that you're not a "student" per se but self-sufficient (and in the case of post-doc employed!!)
Then there's the technical skills. What we can often get away with in academia technically is only a small piece of the puzzle when it comes to what's required in industry to deploy something. Now, this isn't the case in all PhDs, but talking generally with PhDs that aren't Data Science/Machine Learning specific, but those where we are maybe using code to analyse data or make a proof of concept, we probably (hopefully) have a good basis in code. However, code isn't all that's needed to get something out - we need deployment tools, cloud, docker, kubernetes, etc etc.
It's also likely that in an academic position, particularly PhDing, you're working alone or with maybe one other person to make your models, product/do your analysis. This isn't a likely situation in industry. Many technical teams work with an "agile" way of working, we work directly with other team members and pick up tickets ensuring our work all fits in together whilst regularly check we are on track with the project roadmap and what our stakeholders want.
The key is not to thing that you have no hope of getting a good job, just be aware of some of the limitations of academic experience and manage your expectations.
Top things to learn to help the transition
I would say, assuming you are comfortable working in Python/R then refine your code quality. You can't just write code that'll do the job, but it needs to be written according to the coding best practices and standards. Look at the "extras" that are around your scripts like how to write tests, or how to deploy your code as a package.
You don't need to be an expert statistician to work in the data science/machine learning fields, but it would help to be aware of statistical methods and understand how these are applied to common algorithms. I have to admit, this is a still a big area of development for me and I feel the gap both in understanding/learning but it also contributes massively to my imposter syndrome. I would do my best to counter those before I started with hindsight!
Similarly, know how the big algorithms work. They shouldn't just be "black boxes" to you if you want to work in the industry. Get your head around how to optimise hyperparameters, what are the different types of neural network and how to they work? That sort of thing.
How to apply your knowledge is vital - the theory is important, of course, but show that you can apply that knowledge. Whether that's through your coursework/PhD work, or papers you've published or self-learning projects on your GitHub. It's not to say people will look at it in the hiring process, but you can talk with more credibility if you have this. You can answer honestly questions like "tell me about a difficult problem you faced when making X and how did you overcome it?"
As I mentioned earlier, know about things that surround the code: different environments, testing, tools used in the industry. You might not be working directly with these in your role but it is good to have the broad knowledge a) to make you stand out a bit and b) it'll help you once in role to understand how things fit together and have intelligent conversations about them!
You don't need a formal certificate or course, you need to be able to show you have the knowledge and you know how to use it. That's the main thing I found people were looking for. Every job/company is different so their focus will each be slightly different, but it's good to have these general skills.
In today's tricky market, my overall take home would be to just get an in. Find a way to get experience, then focus on the "dream job". It's tough out there at the moment and a lot of companies are looking for self-sufficient individuals not juniors. As they say, you need experience to get experience!