Live data from Hacker News

Why we need to create careers for research software engineers

scientific-computing.com

21–30 of 79 posts

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

#21
post #13

I've interviewed for a number of these types of jobs in the last year or so. The pay is just too poor to even think about it. One large university with a super well-funded and growing medical school in a huge mega-city was looking to hire someone with 5+ years of deep experience in both Python and C/C++, as well as some familiarity or past education in statistics and machine learning, to be the software development l…

The poor pay is why I switched my first job was on campus at Cranfield university working for a world leading rnd Lab.

I used to get paid about 1/3rd of what the scientific civil service paid for the same entry level.

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

#22
post #13

I've interviewed for a number of these types of jobs in the last year or so. The pay is just too poor to even think about it. One large university with a super well-funded and growing medical school in a huge mega-city was looking to hire someone with 5+ years of deep experience in both Python and C/C++, as well as some familiarity or past education in statistics and machine learning, to be the software development l…

[deleted]

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

#23
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?

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.

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

#24
I think the problem is not the lack of "career path" or a title, but that the is little credit given to code. (To the point, that usually no public code is being shared, even if the publication bases on it!) Why?

- sharing code may mean risk of being scooped (instead of milking the same code for years),

- cleaning up code takes time, which can be used for writing another publications.

In short, as long as publications (i.e. papers accepted to prestigious journals or conferences) are the only credit in academia, quality programming is lost.

See my longer answer: http://academia.stackexchange.com/a/23238/49

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

#25
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.

There are 'promotions', but they're basically entirely disconnected from day-to-day work. I'm a 2; the lead is a 4, my boss is a 6 (all in the technical track). There's a separate management track, which has very similar salaries to technical ones (maybe 10-15% higher), which leave you with plenty of time to do technical tasks (management tasks account for 10-50% of a person's time, depending on the level of management), and I assume there is a tier where they don't disclose the salary structure for "executives" (major organizational leads). I'll get promoted to a 3 at some point in the next year or two; then I'll be a 3 for a really long time (with annual raises), and eventually get bumped to a 4.

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

#26
post #17
post #14

Earlier quoted context omitted.

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.

Are regular promotions that important? As long as I get keep getting to do interesting work and keep getting reasonable raises I'm quite happy with my job title not changing more than once a decade.

Pretty much this, yeah. We do have some intermediate tiers, but they don't really effect your work duties.

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

#27

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.

I've worked both in industry and at a research institution (albeit not very long) and I've learned a bit of a love hate relationship with matlab. It's really awesome for prototyping complex math-based algorithms as an intermediate step before writing a battle-ready implementation. There's a ton of libraries so you can think in terms of high level concepts, and the matrix math is very natural, as is Gpu integration which is a huge plus. Once it's in code, you can iterate quickly relying on libraries, and even create a gui very quickly. When you settle on a final implementation, you can do a 1:1 port to the optimal runtime to make the code more modular, extensible, and fast.

Once you get used to the indexing and quirks, it's a prototyping dream. In a day I can do what would take weeks to implement in C++ or even Python, and I can decide if the algorithm is good enough to warrant a full port. Once I make that call, it's trivial to decide which parts of the algorithm I should work on optimizing for speed during the port because you can analyze perf of each step. Granted, I do a lot of image processing which is sort of an ideal matlab use case.

I totally agree though, writing software to solve real world problems is much more riveting than writing endless web apps (I've done both.)

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

#28

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…

I think the organisational structure makes a huge difference. National labs are large enough for there to be a career structure as software engineer.

Working in a university 'lab', our jobs are completely dependent on our PI's ability to continue winning grants. The problem space is fascinating (genomics) and the scientists I work with are really great. But as an experienced developer joining the group, it often feels more like a long consulting gig than a career move.

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

#29

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…

I think the organisational structure makes a huge difference. National labs are large enough for there to be a career structure as software engineer. Working in a university 'lab', our jobs are completely dependent on our PI's ability to continue winning grants. The problem space is fascinating (genomics) and the scientists I work with are really great. But as an experienced developer joining the group, it often feel…

Yeah, that's fair. If all of our grants dried up, my organization would float me for a period of time and farm me out to other projects. We have enough project flow (and too few people) to make it pretty easy.

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

#30
Dr. Pamela Gay wrote an article about the difficult state of non-tenure jobs in research and academia: http://www.starstryder.com/2015/11/12/dreaming-of-success-in...

It's the same problem for software devs, postdocs, research assistants, adjunct professors - basically everyone except tenured university professors. We're not rewarding the right things.

Post reply on HN