GD
Geodynamics

Should I… do a coding PhD when I don’t have much experience coding?

Should I… do a coding PhD when I don’t have much experience coding?

“The ideal applicant will have a strong background in coding.” I’m not sure if those were the exact words that advertised my PhD project, but a requirement of coding ability was certainly heavily implied. We’re used to hearing stories about job requirements in the professional world, but in my experience at least, we think much less about this in the academic sphere. I nearly didn’t apply to my PhD project because I didn’t think I met the necessary criteria, and I know for sure this self-doubt is common amongst undergraduates who are thinking of applying for PhD projects. Looking back, my PhD has provided me with the perfect setting to learn to code, allowing me to gain a skill that will stay with me throughout my career.

If your PhD project is lab-based, you may spend months planning experiments. If you’re planning fieldwork, you’ll likely spend months on the logistics. These are considered inherent aspects of such projects, but the preparatory aspect of a coding-based PhD often isn’t. Recently I was involved in writing a PhD project, and I found that in the excitement of designing new science, the learning aspect was easily overlooked. Caught up in the moment, your advisors want to imagine you showing up and doing publication-quality research from day one. The fact is that this is never going to be the case!

 

 

As Earth scientists we sometimes have a slightly odd relationship with maths and coding. Undergraduate courses are academic battlegrounds between geology/fieldwork purists and maths-loving geophysicists/geochemists. Your courses may have taught you plenty of maths and coding, or it may have taught you almost none. What is certain is that that your courses didn’t teach you everything. For every advantage one course provides, other courses provide another. Your prospective PhD advisors understand this; be honest with them about what you don’t know, reassure them that you’re committed to picking these things up, and make sure they appreciate all of the other skills that you’ll bring.

Despite doubts about the required skills, Dan Spencer took on a PhD project heavily based on numerical modelling

This brings me to the single most important piece of advice I can give: if in doubt (and even if you’re not), reach out to the project advisors. Don’t worry, I can promise you that they’re just going to be happy that someone is excited by their project! I sheepishly emailed my advisor to tell him I was interested but was unsure if I had the required skills; it turned out that the other requirements they had listed were more important to them, and they were perfectly happy for me to learn to code on the job. Remember that someone who has a passion for the questions posed in a project is far more appealing to an advisor than someone with all the technical skills but little interest.

 

OK, so maybe the advisor would take you, but if you’ve never coded before, how do you know you’re going to be any good? This is a fair question. No-one should jump into a PhD unprepared, whatever the field. Certainly I wouldn’t advise taking a coding-based PhD having never once Googled “how to code for absolute beginners”, not because you won’t be able to, but because you have no idea whether you’ll enjoy it. Coding is a skill; no-one is born knowing how to code, and not everyone enjoys the challenge it provides. The only way to find out is to try. More than this, online ‘learn to code’ websites can only get you so far; to really learn how to code you need a project. With an end-goal in mind, I was surprised to find that I was able to produce useful pieces of code within the first few months of my PhD, some of which have even contributed to my thesis. With your research providing motivation, the many courses offered at universities, and the number of people around who can lend a hand, a PhD is potentially the perfect setting to get to grips with a skill that is going to benefit you throughout your career, whether that be academic or professional.

At the end of the day, your PhD is supposed to be a learning experience; you are a PhD student after all! Over those years you’re going to find yourself needing to pick up skills you never expected as your research leads you down rabbit holes and blind alleys. When you emerge, you’ll look back at how far you’ve come and the skills you’ve gained, barely remembering the seconds you stood on the edge of the pool before you took the plunge.

 

 

On each first Monday of the month, The PhD Chronicles blog series gives a special place for PhD researchers to share their successes, challenges, and failures. Would you like to share your story? Contact us here.

Dan is a soon-to-be-finished PhD student at the University of Oxford. His research focusses on how planetary interiors control the surfaces we observe, and how physics and chemistry interact to control planetary environments. In spring 2021, he will start a new job as an applied scientist in the science/tech consultancy company called Sagentia.


Anna is PhD student at the Geophysical Fluid Dynamics group at ETH Zürich, Switzerland. With the use of numerical modelling, she studies the interior dynamics of the Earth and Venus. Anna is the Early Career Scientist representative for the Geodynamics Division of EGU, and the topical editor for The PhD Chronicles blog series for the division's website. She tweets under @AnnaGeosc.


1 Comment

  1. I was kicked into a rabbit hole whenever I saw the requirements for a PhD position since I don’t cross all their requirements. This post instilled a sense of hope and motivation to apply when I am interested in the position. Thank you for the post, soon-to-be-Dr. Spencer and Anna for hosting this blog.

    Reply

Leave a Reply to Karthigeyan Cancel Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*