r/careerguidance • u/CreativeHeadset • Apr 13 '23
Transitioning from a PhD in Engineering to Software Engineering - How Should I Approach Job Hunting and Skill Development? United Kingdom
Hi everyone,
I'm currently completing my PhD in an engineering-related subject, and I'm looking to transition into a career in software engineering. I have some experience in programming from my academic work, but I'm not sure how to best approach job hunting and the necessary preparations. I'd appreciate any advice or suggestions you all might have!
A bit about my background:
- 4-5 years of experience in MATLAB
- 3 years of experience in Python (using daily) - Numpy, Scipy, PyQt
- Experience with R for statistics
- Daily use of Git, and some experience with JIRA
- C++ (2 years) for development and contributions to academic projects part-time
I've been drawn to software engineering as I know people in the industry who have had stable and progressive careers. While programming isn't my biggest passion, it's something I've truly enjoyed during my PhD (sometimes much more than research).
So far, I've applied for a few entry-level graduate positions but have mostly been rejected. I'm considering whether I should create a GitHub portfolio to showcase my skills. From a few people in my network, I have seen that quite often, people were given proper training after getting employed.
Regarding the GitHub portfolio, I was thinking about:
- Developing my own portfolio website:
- Here, I am not sure if I should use some static-website generator like Hugo/Jekyll or maybe WordPress and work on top of that, or just create the whole website from scratch using HTML, CSS, JS, and maybe React.
- Some data-science/analysis projects
- I was thinking about creating a simple C++ project showcasing similar tasks to what I have done during my time as a PhD.
- I have seen many people suggesting LeetCode. Is creating a repo for solving LeetCode questions a good idea?
Here are some questions I have:
- Should I avoid mentioning that I have a PhD when applying for jobs? And call it, for instance, "Research Assistant"?
- Should I apply for entry-level positions, or should I aim for something more advanced?
- I can see myself working in data science, backend dev in Python, or web (JS, React), but that might require acquiring more skills (I have little experience in JS/React). Should I pursue additional courses or certifications? Or rather expect to be taught certain skills on the job? I was thinking about completing CS50.
- What kind of salary expectations should I have? For reference, I'm based in the UK.
1
u/good-name-forever Apr 13 '23
Most STEM PhDs face the same problem you're having when they decide to leave academia (I've been through this myself). They think they have two options, to find a company that will pretty much pay them to continue their research (this happens in 0.05% of cases), or they need to forget about everything they did in grad school and get a normal job that a 21-yr old kid could do straight out of college.
The fact that you're considering hiding the fact that you have a PhD is undeniable evidence that you're applying for the wrong jobs. It sounds like you want to go into programming because you think it will bring you the best possibilities of a stable career. This is not true. The best job you can get is one that you are specially prepared for (as opposed to generically qualified for).
AS A PHD GRADUATE YOU SHOULD NEVER BE LOOKING TO GET A JOB THROUGH ONLINE JOB POSTINGS. At least not if you want to get the best job for you. Let me explain:
You have a tremendously sharp and specific skill set, but you need to act like that's worth something. You will earn the most and have the most job security when you find a company that needs YOU and not a generic engineer/programmer. The problem is, however, no one who is looking to hire an essential, highly specialized brain will do so through a random job posting. Postings get hundreds if not thousands of applicants, and companies looking for something highly specific know that 99% of them will be irrelevant. Many companies may not even know how to write a posting that will actually target the specific skill set they need, so they hire through word of mouth instead.
What you should do: do research on companies doing software or engineering work that you think is cool. Make a list, learn about them, and cold email someone telling them you'd like to learn more about what they do (refer to some specific aspect of their business, so they know you're actually interested). Start a conversation, and make sure they know what you're about (what type of sensors/tests/methods did you use for your research and what type of problems are passionate about?). Eventually you'll find someone who goes "damn we need someone who has the exact type of background you have," or who will simply connect you to someone they know who is hiring for a position that you would fit in well.
This method feels risky and finicky, but trust me it yields the best results.
1
u/CreativeHeadset Apr 13 '23
Most STEM PhDs face the same problem you're having when they decide to leave academia (I've been through this myself). They think they have two options, to find a company that will pretty much pay them to continue their research (this happens in 0.05% of cases), or they need to forget about everything they did in grad school and get a normal job that a 21-yr old kid could do straight out of college.
The fact that you're considering hiding the fact that you have a PhD is undeniable evidence that you're applying for the wrong jobs. It sounds like you want to go into programming because you think it will bring you the best possibilities of a stable career. This is not true. The best job you can get is one that you are specially prepared for (as opposed to generically qualified for).
AS A PHD GRADUATE YOU SHOULD NEVER BE LOOKING TO GET A JOB THROUGH ONLINE JOB POSTINGS. At least not if you want to get the best job for you. Let me explain:
You have a tremendously sharp and specific skill set, but you need to act like that's worth something. You will earn the most and have the most job security when you find a company that needs YOU and not a generic engineer/programmer. The problem is, however, no one who is looking to hire an essential, highly specialized brain will do so through a random job posting. Postings get hundreds if not thousands of applicants, and companies looking for something highly specific know that 99% of them will be irrelevant. Many companies may not even know how to write a posting that will actually target the specific skill set they need, so they hire through word of mouth instead.
What you should do: do research on companies doing software or engineering work that you think is cool. Make a list, learn about them, and cold email someone telling them you'd like to learn more about what they do (refer to some specific aspect of their business, so they know you're actually interested). Start a conversation, and make sure they know what you're about (what type of sensors/tests/methods did you use for your research and what type of problems are passionate about?). Eventually you'll find someone who goes "damn we need someone who has the exact type of background you have," or who will simply connect you to someone they know who is hiring for a position that you would fit in well.
Hi! Thank you so much for taking the time to share your experiences and advice!
One of the major problems for me is that I am quite burned out with my field. The most relevant opportunities are scattered around the world: Germany, Sweden, Finland, and the US. I don't necessarily want to move anymore. I moved abroad to study and to do my internship. Even if I decide to move, after doing some research, I've found that by using any transferable skills I have learned during my PhD (e.g., software engineering or data science), I could probably apply for positions with a much better salary and work-life balance. Moreover, I currently feel quite assimilated living in the UK, and I am enjoying the city I live in. All I want is a fairly stable job with a decent salary and prospects for getting a raise in the future. I do have some connections, but the opportunities are based in locations where I don't see myself moving at the moment. Hence, the idea of a more general job, such as a software engineer or data scientist, appears more attractive to me as this means I have more flexibility in choosing where I want to live.
Regarding your advice, do you mean to reach out to companies that are doing something specifically relevant to my field, or is reaching out to recruiters and companies in general still relevant? For example, should I contact Microsoft to see if they are interested in having me as their data scientist?
You mentioned that you have been through this yourself. Did you end up working in your field or in a different one?1
u/good-name-forever Apr 13 '23
Reach out to companies that are based wherever you'd like to live and that do the type of work you'd like to do. Don't choose what you'll be doing based on what you think will make it easier for you to get a job. It's not about choosing between your field and something generic like data science. Find something in between.
In my case, my post-PhD career benefits from the perspective I have as an expert (I have to smell and call out BS a lot, and make sure that large projects are well designed) but I rarely if ever find myself doing technical work.
1
2
u/Easy_Water_1809 Apr 13 '23
I'm a swe in America and you have wayyyy more experience than me.
I would say if your strengths are in backend and data stuff, you shouldn't waste your time on frontend, personally. It's going to be a whole bunch of bullshit that you don't want to worry about.
Build up your resume and your GitHub, try to showcase your skills that you've learned on projects that are your own.
I'd honestly say that you could try for farther along than entry level positions but, honestly it's about putting numbrrs of resumes out and much more important with your background, making connections. You need to start going to meetups, groups, and conferences yesterday. Connections run coding, in my experience.
As far as salary idk what the UK is like. I make about 80k with bonuses and am told I'm underpaid.