Live data from Hacker News

Science needs more research software engineers

nature.com

41–50 of 366 posts

Re: Science needs more research software engineers

#41
post #38
post #32

Earlier quoted context omitted.

Yea, it's frustrating because there are indeed some super cool projects just waiting to have interesting software written for them, especially in the more hardware/physical oriented R&D areas. There are some areas that take software seriously, but in general, I have found it really difficult to get scientists and research engineers excited about anything that they don't know about. I don't think its malice. I think i…

On the flip side of that, many experiments run for decades or longer, and "state of the art" software is often a poor impedance match for that.

State of the art doesn't necessarily mean React. Just something with unit tests and more than one giant 5000 line file.

If the requirement is that it lasts 30 years, you can choose more timeless languages like C, over say Rust.

Re: Science needs more research software engineers

#42

Well, then science needs to do more to create an environment where software engineers would want to be an RSE. From my experience "science" does not appreciate RSEs, the compensation is bad, the freedom is bad, and you get all of the big company bureaucracy from the University. It's just a bad environment and to top it off, even if you have a PhD many will see you as "less than."

This last point, and replies to this all seem to talk about the research industry. But it has been my experience that this same dynamic of being “less than” exists in any industry that is not primarily software. I am a mechanical engineer by degree, but a software engineer by 30 years of practice. That has allowed me to thrice straddle the divide where I worked on software that was not just software for softwares sak…

[deleted]

Re: Science needs more research software engineers

#43
post #38
post #32

Earlier quoted context omitted.

Yea, it's frustrating because there are indeed some super cool projects just waiting to have interesting software written for them, especially in the more hardware/physical oriented R&D areas. There are some areas that take software seriously, but in general, I have found it really difficult to get scientists and research engineers excited about anything that they don't know about. I don't think its malice. I think i…

On the flip side of that, many experiments run for decades or longer, and "state of the art" software is often a poor impedance match for that.

I'm not convinced of that. Because what I've seen (several times) on a somewhat small scale perhaps, is someone's code, sometimes written decades ago, never maintained upgraded or properly developed used for years on a system and eventually it gives out, forcing basically a rewrite. And state of the art can mean different things for differently scaled projects.

Re: Science needs more research software engineers

#44

Well, then science needs to do more to create an environment where software engineers would want to be an RSE. From my experience "science" does not appreciate RSEs, the compensation is bad, the freedom is bad, and you get all of the big company bureaucracy from the University. It's just a bad environment and to top it off, even if you have a PhD many will see you as "less than."

If RSEs are actually valuable but under-compensated, can someone please disrupt this industry?

Would love to see more startup medicine development companies ...

Alternatively, would it make sense to provide RSE services as a company, for very high hourly rates, separately from the rest of the university, so status and rules are less of a problem?

Re: Science needs more research software engineers

#45
I was a "research software engineer" for a major research organisation in Australia. There just weren't the resources to achieve what was desired. It would have taken me at least 24 months to modify the existing ecological modelling framework to work in the way they were asking for, they wanted it done yesterday, and there was no money to bring on another engineer to spread the load.

Instead I got given an intern from the internship program. While I tried my best to give them a good experience, let's just say that wasn't the boon to productivity my manager thought it was going to be.

To make matters worse, one of the researchers in the PhD program had been told these changes would be ready shortly before I even started, and the PhD candidate had made a series of choices about their studies relying on those changes being available. Felt bad to have to break the bad news to him after the lab manager had been blowing smoke up his ass for so long.

Re: Science needs more research software engineers

#46

Well, then science needs to do more to create an environment where software engineers would want to be an RSE. From my experience "science" does not appreciate RSEs, the compensation is bad, the freedom is bad, and you get all of the big company bureaucracy from the University. It's just a bad environment and to top it off, even if you have a PhD many will see you as "less than."

If RSEs are actually valuable but under-compensated, can someone please disrupt this industry? Would love to see more startup medicine development companies ... Alternatively, would it make sense to provide RSE services as a company, for very high hourly rates, separately from the rest of the university, so status and rules are less of a problem?

There are a few like these:

1. Benchling 2. Enable Medicine 3. Radix.bio

Re: Science needs more research software engineers

#47
post #24

I don't think scientists want research software engineers. PIs typically like to assume any and every role on a project, including software design. They don't like handing things off and letting people build modern, best practices software. You start talking about source code control, package managers, a language used in industry that they've never even heard of and don't care enough to learn about, etc., and you jus…

[deleted]

Re: Science needs more research software engineers

#48
post #24

I don't think scientists want research software engineers. PIs typically like to assume any and every role on a project, including software design. They don't like handing things off and letting people build modern, best practices software. You start talking about source code control, package managers, a language used in industry that they've never even heard of and don't care enough to learn about, etc., and you jus…

See this infamous discussion: https://www.reddit.com/r/MachineLearning/comments/6l2esd/d_w... Tldr: They view software as just a tool and don't see how they'll benefit from following best practices.

Oh wow, looking at that Python code they linked to brings back memories of my ML course in college. We had skeleton code given to us to fill in for the assignments, and often times it took longer for me to understand what the code they gave was even doing so I'd know what to fill in than it took me to actually write the code. Occasionally there would be random semicolons at the end of the lines, but the author seemed to understand that wasn't necessary in Python since they weren't on most lines, so I guess they were just careless. They also used a very amusing "OO" pattern where they would pass in every input needed to the constructor of objects, then have one method pass all of those instance variables directly into other methods which ignored the fact that they had a `self` parameter and just used the copies of the instance variables (with the same names) passed in as parameters. The biggest confusion I ever had was in one method where they used the typical `n, d = matrix.dimensions` (I can't remember the exact incantation, but it was used in all the code to store the dimensions in `n` and `d`, immediately followed by `d = d + 1`, which I took to assume that the leftmost column of the matrix was just filled with 1s and wasn't needed (which happened in some of the algorithms), but then down in the implementation of the algorithm, the only time `d` was used was as `d - 1`. Because I had mentally skipped over the boilerplate at the top of the function, I spent a decent amount of time trying to figure out why they had subtracted 1 from d until I finally saw the increment above. To this day, I still struggle to decide if the author legitimately did not notice this and just used `d - 1` to try to fix a problem that they didn't know the source of, or if they knew and thought that it was a reasonable way to implement things, and I'm also still conflicted about which would be worse.

Re: Science needs more research software engineers

#49
post #24

I don't think scientists want research software engineers. PIs typically like to assume any and every role on a project, including software design. They don't like handing things off and letting people build modern, best practices software. You start talking about source code control, package managers, a language used in industry that they've never even heard of and don't care enough to learn about, etc., and you jus…

> They call it "codes"

This is not really the core issue here, but yes, I've encountered this many times, and I have to admit that in some professional contexts I use "codes" as a shibboleth to identify people who aren't really in touch with the software engineering world.

Re: Science needs more research software engineers

#50
post #21

It's already been said several times over but I'm going to throw it out anyway. I'd love to work at a university as a research software engineer. I find things like bioinformatics fascinating and even interviewed at a research university on the east coast. But, you will get paid SIGNIFICANTLY less than you would doing almost anything else, have zero autonomy, and get no respect. Those 3 things are basically what most…

The pay and autonomy will never improve, I can tell you that now. That’s the reality of the current system.

I’m certain the respect will not improve either. There may be steps made to improve it but they won’t stick.
Post reply on HN