29

I'm about to defend my PhD in Computer Science in a couple of months, and I'm struggling with deciding on a future career path. Over the course of the 8 years I spent in an academic environment, I familiarized myself with advances and challenges of formal software development. I also learned a lot about myself. It might sound a bit depressing but right now I don't think that it's my vocation to be a scientist. I feel that there are lots of talented people who will do the research with a lot more passion and way better than me and that a mediocre researcher is of no use for society.

However I think I would love to work with scientists as a software engineer. I came to this point because I like developing software, I have high respect for science and would happily support the research with tools, and implement the research results in software. Being in a research environment I might become more inspired with science someday and will switch to research.

This being said my question is: are software engineers with a research background & PhD in demand in the academic world? Do they allocate funding for such people in universities/research labs? What should I expect from a career of a research software engineer? Would it be considered strange if I applied to a PostDoc position saying that I want to concentrate primarily on software?

I would appreciate any comment or advice. Thank you.

2
  • 1
    Quite related, although run by volunteers: software-carpentry.org
    – user7112
    Nov 11, 2013 at 11:07
  • 2
    If you are interested in life sciences, there is a high demand for programmers/bioinformaticists.
    – Bitwise
    Nov 11, 2013 at 14:19

3 Answers 3

17

tl;dr: Yes, some universities do value software engineers with a research background.

University College London (UCL), for example, has a Research Software Development Team (RSDT), which specialises in providing software engineering by programmers with a science-research background.

From the first of those links:

This is a team of professional software developers with particular expertise in designing, constructing and maintaining software for academic research.

Our goal is to enhance UCL’s capacity to produce high quality scientific software, from the simplest scripts to complex simulations running on state of the art high performance computers. We do this by collaborating with researchers who are creating their own software

How is it funded?

The work can be funded in one of several ways. It can be funded through university core funding. The work can be bid for as part of a research funding proposal or consultancy contract. It can be funded as part of a research grant for generic research software development.

What do they do?

The UCL RSDT team work alongside researchers on scientific projects. They co-author papers with them, transfer best practice & skills into the team, and hand over well-crafted, well-documented software (and its version-control history) for research.

The team do have research backgrounds themselves. They help select / develop the algorithms. When starting a new project, they read some of the background literature to the project - particularly that relating to the algorithms - to get enough grounding to enable them to ask meaningful questions of the researchers who they're working with.

And (touching on a comment by dgraziotin), the team host Software Carpentry Boot Camps for research staff and doctoral students. This gives the attendees an introduction to key concepts that they might otherwise not be exposed to, such as unit testing, version control, and working from the command-line.

Do many universities do this?

At the moment, this isn't an initiative at many universities that I'm aware of. However, given the success of UCL RSDT to date (the team is now expanding again), and the growing awareness of the concept of the Research Software Developer ("a new type of hero", as described by Neil P Chue Hong, Director of the Software Sustainability Institute), this is probably an idea whose time has come.

Disclosure

I am a little involved with the research software development effort linked to above.

5
  • 1
    Interesting answer. Do these software developers have any scientific/research input? Do they help develop the ideas/algorithms, or do they just implement other people's ideas/algorithms? Also, do they typically have a research background themselves? Nov 10, 2013 at 19:45
  • 1
    @EnergyNumbers Thanks, I read about UCL RSDT recently, but this initiative still seems to be quite unique, no? My wishes of best luck to you though, I hope you will successfully promote the RSD idea worldwide.
    – Olley
    Nov 10, 2013 at 20:55
  • 1
    @EnergyNumbers Thanks for your answer and edits, I accept it with pleasure, still I welcome others to express relevant comments, if any.
    – Olley
    Nov 11, 2013 at 17:00
  • There are also various research labs that have (many) such positions. For instance IIRC in ADSC Singapore (adsc.illinois.edu), more than half of the staff are considered scientific developers, all of them with PhD and decent salary.
    – xLeitix
    Feb 20, 2014 at 10:00
  • UCL RSDT is not unique, there are groups like this springing up at many UK universities. My university has a strong RSE (research software engineering) team. The OP might be interested in the Society of Research Software Engineers (society-rse.org) Nov 1, 2020 at 12:24
2

Short answer: it looks ilke it, yes. I don't know where you are in the world but, when I've looked at academic jobs sites in the UK and USA, there have always been lots of ads looking for people to develop software for research teams – especially in bioinformatics but also in any area of science where computer modelling can be applied profitably. I've not looked closely at these ads but my impression is that, unlike the group discussed by EnergyNumbers, these are mostly fixed-term positions within a specific research group, tied to a specific grant. But the demand does seem to be there.

-1

A PhD carries weight in academic environments in a way it doesn't in any other context. Your colleagues will respect someone with a doctorate more, and it will provide opportunities for job opportunities within academia that are closed to people without a PhD. Depending on quirks of college funding, you may even find yourself joining the faculty in capacity (visting assistant professor, research professor, etc.) rather than simply being staff or an adjunct professor. Staff employment is typically grant-dependent, and semester-to-semester contingency the lot of adjuncts.

Software PhD's are probably more in demand outside of universities. Check the salary differences an decide accordingly.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .