Live data from Hacker News

Why we need to create careers for research software engineers

scientific-computing.com

1–10 of 79 posts

Re: Why we need to create careers for research software engineers

#3
summary: if you're a researcher and spend all your time writing software rather than publishing your research career suffers.

I see three solutions:

1) Have the universities band to together to fund a software source for research. Something that would hire software developers who would provide tools for researchers who were with member universities. Pay a market salary for those programmers and release everything under a sharing friendly license, both for recognition and to aid in reproducing results in other labs.

2) Mandate a single source for all software acquisition through some software consulting company and add riders to all research grants that provide some number of "software supplies" for the team.

3) Get rid of the whole publish or perish paradigm and restructure scientific research so that everyone is accorded rank based on the novelty and repeatability of the research done in the lab.

Re: Why we need to create careers for research software engineers

#4
While I do find it unfortunate that software developers in research are underappreciated, I wonder if making an official title for this will really solve the problem. One issue is that if all you are doing is writing code, you could do the same thing in industry, and there's really no way academia is going to match that kind of salary.

I don't really see the issue with how it appears to work right now though? My understanding is currently if your research requires you to program, then you program it yourself, or collaborate with others. Thus, being a good coder actually helps some people publish more. At least this is what I saw with people in the more practical research topics like systems research, but even in theoretical research.

On the other hand, I suppose this is a problem for people who are not in CS. However, I imagine these people just hire programmers to do the work in the same way they might hire lab assistants. In any case, I'm not really convinced just putting a new title or career track will help.. how is this career track any different from just a normal software development track?

It seems more like the real issue is that you are hiring a postdoc when what you really want is just a software developer, but perhaps they only want to pay post doc salaries?

Re: Why we need to create careers for research software engineers

#5
I started studying electrical engineering after being a self-taught software developer for a few years. I'm basically writing all the software for the project groups I'm in, and I love it. I like this kind of code much better than your web app. (Though Matlab is a bitch, no namespaces, array indexes start from 1, etc.) I hope that I can make a living researching and building electronics and software.

Re: Why we need to create careers for research software engineers

#6
post #4

While I do find it unfortunate that software developers in research are underappreciated, I wonder if making an official title for this will really solve the problem. One issue is that if all you are doing is writing code, you could do the same thing in industry, and there's really no way academia is going to match that kind of salary. I don't really see the issue with how it appears to work right now though? My unde…

I actually have "research software engineer" on my resume and you're right, it doesn't do much. In fact I don't think this is uncommon, at least in the US. Myself and former colleagues indeed have no trouble working in industry positions.

However one thing to note is that many cases, research programming has specialized requirements that are rare for most industry positions and domain scientists. For example, numerical analysis to ensure stability of models, distributed computing to scale massive simulations or analytics, algorthims and visualizations to explore datasets, NLP, ML, etc. Some of these skills domain scientists develop but for the most part these are likely going to require someone with a CS background.

Re: Why we need to create careers for research software engineers

#7
post #4

While I do find it unfortunate that software developers in research are underappreciated, I wonder if making an official title for this will really solve the problem. One issue is that if all you are doing is writing code, you could do the same thing in industry, and there's really no way academia is going to match that kind of salary. I don't really see the issue with how it appears to work right now though? My unde…

"However, I imagine these people just hire programmers to do the work in the same way they might hire lab assistants."

From what I know (decades ago, and from a very low-N and non-representative (biology, psychology) sample), "in the same way" = not.

The typical lab assistants are students or Ph.D. students; the researchers cannot do software engineering, so they write programs.

Things likely are different in medicine and hard physics. When people are used to spending huge sums on hardware, they tend to accept that spending money on a professional is worth it. Similarly, in the humanities, people probably are more likely to realize/accept that paying a professional is worth it.

And the career track should be different from a normal one in the sense that one has more control over what one does, how one does it and when one does it, has higher job security, and works on things that are more fun and/or more fulfilling, all at the expense of lower financial reward.

Re: Why we need to create careers for research software engineers

#8
post #2

I thought I was going to read about the real problem with the lack of research into software development. Research software engineers is a secondary issue.

http://herpolhode.com/rob/utah2000.pdf is about lack of computer systems research, and it touches on the problem you mention.

Re: Why we need to create careers for research software engineers

#9
This is pretty much my job. I develop climate analysis software at a DOE national lab. We have a pretty reasonable career ladder for the "research software engineer". A quick sample:

Me: Recent graduate (2012), early career. All dev, all the time.

Lead Dev: ~15-20 years experience, minor project management tasks, mostly just dev work. Gets author credit on scientists' papers every once in a while for his help in generating visualizations.

Principal Investigator: 30-40 years experience, created the software package that we develop in the early 90s, almost entirely project management.

Our organization doesn't expect publications from us (though they're a perk at raise time). There are a few conferences that we present at annually, some posters to make, but for the most part, I just write software that helps scientists do their jobs better. I'm just down the hall from some of the leading minds in climate science, and it's really a great environment.

Of course, our lab varies wildly internally; any different project could have a drastically different experience, and different departments would have very different expectations.

Post reply on HN