Live data from Hacker News

Why we need to create careers for research software engineers

scientific-computing.com

31–40 of 79 posts

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

#31
post #14

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 gene…

There are no promotions between entry-level and lead dev? I don't know that I'd call it a reasonable career ladder if the second rung is 15 years away.

My lab (US Gov.) is the same, except there are is also no title change for the top level. I've been a 'Research Structural Engineer' for two years, and work with people who have been a 'Research Structural Engineer' for 40 years. They get paid a bit more, and have generally put in some time with a 'Group Leader' title, but they don't get saluted in the halls.

The consensus is that this promotes a more egalitarian culture, and prevents people from being locked in to roles they don't prefer. Senior staff are free to spend a few years managing a large project or in a leadership role, then back off to get back into the research.

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

#32

Working in research as a software engineer can be very frustrating. I wrote the majority of the analysis code for one of the chapters of the IPCC 5th Assessment and yet was told my name couldn't be put anywhere as I wasn't a 'scientist'. I also consistently see people who have never written much code put in charge of projects where the majority of the work/research is writing software. These projects end up with no c…

> I wrote the majority of the analysis code for one of the chapters of the IPCC 5th Assessment and yet was told my name couldn't be put anywhere as I wasn't a 'scientist'.

Can you be more specific about the nature of your contributions? Writing code would seem analogous to performing experiments, which alone is insufficient to warrant authorship (but should get an acknowledgment).

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

#33

Working in research as a software engineer can be very frustrating. I wrote the majority of the analysis code for one of the chapters of the IPCC 5th Assessment and yet was told my name couldn't be put anywhere as I wasn't a 'scientist'. I also consistently see people who have never written much code put in charge of projects where the majority of the work/research is writing software. These projects end up with no c…

Some would argue that no OO use is a good thing (assuming you are referring to object oriented programming).

Expanding on this, writing research code is quite a bit different than writing production code. In particular, requirements can change quickly and drastically. This means that very open designs where you don't hide data (e.g. as is common in OO programming) are often the best designs.

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

#34

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 gene…

ORNL? Maybe we could get lunch sometime, I've been curious about the computational climate stuff since I got here.

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

#35
post #34

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 gene…

ORNL? Maybe we could get lunch sometime, I've been curious about the computational climate stuff since I got here.

LLNL, actually :) We collaborate with the folks in that group, though!

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

#36
post #20

Working in research as a software engineer can be very frustrating. I wrote the majority of the analysis code for one of the chapters of the IPCC 5th Assessment and yet was told my name couldn't be put anywhere as I wasn't a 'scientist'. I also consistently see people who have never written much code put in charge of projects where the majority of the work/research is writing software. These projects end up with no c…

Does this also apply to large industrial labs, e.g. MSR, IBM Research, Google research etc.? Or are there software developers who work together with researchers in those places, perhaps resulting in better quality code?

Microsoft Research has RSDEs ... research software design engineers. IBM Research also has a research software engineer position, with its own career progression track. These folks are generally fantastic developers who have been professional software engineers some point in their careers. Moreover, I have never personally seen a case where a research engineer was not put on a paper for being just a coder.

It is problematic when a team of scientists collaborate with a product group (not research software engineers but regular developers). In the limited projects I've been involved in, we ask if any product group engineer wants to collaborate on a paper we are writing. No one is typically interested and we would at least add them to acknowledgements. I found product group developers were interested in collaborating for patent submissions. I definitely don't want to generalize but take this as a data point.

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

#37
post #20

Earlier quoted context omitted.

Does this also apply to large industrial labs, e.g. MSR, IBM Research, Google research etc.? Or are there software developers who work together with researchers in those places, perhaps resulting in better quality code?

I would expect that most of the folks working at computer company labs would write their own code and be very knowledgeable in a certain domain.

Agreed, I was just curious since some of the comments below seemed to imply that PhDs / PostDocs lack certain software development skills (although I personally haven't seen this). If so, this would either suggest that the code quality in computer company labs may be low, or they hire based on research potential AND ability to develop software

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

#38

Working in research as a software engineer can be very frustrating. I wrote the majority of the analysis code for one of the chapters of the IPCC 5th Assessment and yet was told my name couldn't be put anywhere as I wasn't a 'scientist'. I also consistently see people who have never written much code put in charge of projects where the majority of the work/research is writing software. These projects end up with no c…

> I wrote the majority of the analysis code for one of the chapters of the IPCC 5th Assessment and yet was told my name couldn't be put anywhere as I wasn't a 'scientist'. Can you be more specific about the nature of your contributions? Writing code would seem analogous to performing experiments, which alone is insufficient to warrant authorship (but should get an acknowledgment).

You raise an important question. It is important to detail the actual contribution, since programming may be perceived as purely implementing an idea with no creative input.

That said… in my career so far, I don't think I've ever seen a clean example of coding someone else's idea to spec. If you successfully take an idea from concept to working software, or if a research project requires complex software to be written, I think it is almost inevitable that the software developer will end up making a creative contribution.

I'm also a bit suspicious about the justification that you can't be listed because aren't a "scientist". Of course, I don't know the details, but it seems fishy.

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

#39
I think this is done much better by e.g. Google already today. Academia has have their 50 year run with software research and the end result is quite disappointing.

I have been peripherically involved with some recent academic research projects in Europe. The way I see it it's basically a way of keeping senior academics occupied and also diverting tax revenues to EU companies for no good reason. It's also a breeding ground for corruption - who chooses which companies get these pointless deals?

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

#40
post #20

Earlier quoted context omitted.

Does this also apply to large industrial labs, e.g. MSR, IBM Research, Google research etc.? Or are there software developers who work together with researchers in those places, perhaps resulting in better quality code?

Microsoft Research has RSDEs ... research software design engineers. IBM Research also has a research software engineer position, with its own career progression track. These folks are generally fantastic developers who have been professional software engineers some point in their careers. Moreover, I have never personally seen a case where a research engineer was not put on a paper for being just a coder. It is prob…

That makes sense, thanks
Post reply on HN