23

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.

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

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.

  • 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? – Faheem Mitha Nov 10 '13 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 '13 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 '13 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 '14 at 10:00
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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.