3 ms·
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
by p4wnc6 11y ago
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 lead for a set of research groups. They weren't willing to go above $90k/year.
In another case, I interviewed with a school of public health at an Ivy university. It was in a medium-to-large city on the east coast, where the cost of living was certainly higher than national average, but not insanely high. Even still, they were looking to pay in the range of $75k for someone with significant years of experience in the scientific Python stack.
Not only does this fail to compare even with start-ups that aren't located in major tech hubs, but also when compared against salaries offered by established companies in the same cities, it's almost a 2x pay jump (more in some cases), for the same skill set.
To boot, these lab/university environments tend to have many of the same political issues that any other organization has. Sometimes they are slightly more generous with vacation time and work/life balance, but not always. But you are generally also working with a lot of research staff who see "programming" as a nuisance that gets in the way of their research, rather than seeing programming as the medium of expression of their research. So when you lobby for using good tools, good workflow practices, and try to teach people how to write reasonable software, you usually get a lot of pushback that people just don't like doing it that way, and since you're the super low-status programmer, your opinion generally doesn't count for much, even if you can back it up with more substance.
You also carry some employment risk when projects are funded by grants. Even large, well-established, multi-year grants can be suddenly changed or reduced when there is significant political change in the funding organizations. And a lot of the universities, at least, are unwilling to hire these kinds of expensive programmers as permanent university employees.
You'd probably have a much better career if you instead went to work as a programming-literate business analyst in some part of the university's fundraising / business departments.
In the end, these places can only afford developers with very little experience, or people who don't understand the cost of living differential in the city they are moving to, or I guess are independently wealthy and just prefer to be a low-status programmer in one of these labs.
Edit: Another thing that struck me -- in a lot of these university research situations, the programming talent that they need to hire is genuinely just harder to find / harder to replace than even the research talent you would be working for.
Since there's a huge surplus of Ph.D. and post-doc labor, you could staff the domain expert research side of things much more easily than the programmer side -- especially if you need someone who is truly full-stack to do things ranging from migrating legacy research data to a cloud platform all the way up to designing fancy UI demos with d3.
If you look at another set of industries where the lower-level contributors are much harder to employ than the manager -- professional team sports -- you see that the market dictates that the lower level experts (the actual players on a sports team) almost always command more salary than the coach. There can be exceptions, like Phil Jackson (but even he didn't earn more than his best players) and there will be backup players who earn less. But the general idea seems to hold true.
This means that a lot of these scientific labs and universities will eventually have to face the market reality that the domain expert labor is just not worth as much as the software design labor. Or else they can just keep on compromising on the quality of the software and try to hold on to a worldview where scraping by with bottom-of-the-barrel software development is good enough. It might work for them for a while longer, but I doubt it will work for too long.
- walshemj 11y agoThe 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.
- deleted 11y ago[deleted]
- geebee 11y agoThis is a really good analysis. I think that as it stands, the best hope for filling these jobs is to get a highly talented postdoc who will accept this role in exchange for assistance with his or her academic career aspirations (another way to do it is more insidious, which is where a PI stretches out a doctoral student's completion time to hang on to his or her talented and cheap programmer a few more years). Of course, this means getting authorship (doesn't have to be first, but it needs to be there), recommendation letters, and so forth. It is also a temporary situation, since what is happening here is that the postdoc is doing software development for well below market rate in order to get a boost in climbing an academic career ladder. Unfortunately, this scenario makes it even less appealing for a software developer who isn't part of the academic ladder. Because they aren't getting any special boost, career-wise, it just becomes a demanding job with long hours and low pay. The setup is virtually guaranteed to result in very low quality software. Post docs may be brilliant people, but it's unlikely they will learn to write high quality, maintainable software in a transitional period between grad school and a faculty position, especially since it's something they'd like to leave behind as quickly as possible. And it's equally unlikely that someone talented at software development will stick around in an organization like this where they will never get the chance to lead a project and make a decent salary, especially when those opportunities exist outside universities. The idea of a research programmer role is a really good one but I'm not sure I can really see faculty accepting it. It would be a major cultural transition for them.