A professor I know through the EA community has been trying to hire a software engineer for their research, and they explained some privately about how this is tricky. The following are points I took away that might be useful to programmers considering job postings, people in academia looking to hire programmers, and people trying to understand why it's hard for EA projects to hire programmers despite there being a lot of them in EA.

  • Market rates for good programmers are much higher than universities are used to paying for anything. For example, a Senior Software Engineer at Google earns ~$350k, while the most this professor's university would be willing to pay, full-time, would be ~$100k.

  • That the money is coming from a grant doesn't resolve this: the university would still not let you pay a higher salary because you need to go through university HR and follow their approach to compensation.

  • Universities will let you pay more when doing temporary arrangements, for example, as an employee on a six-month term or as an independent contractor, because you're no longer implicitly paying partly in job security. This might allow them to get up to $180k-$270k without benefits, though still below market rates.

  • Depending on university rules, if you did want to hire someone full-time you might have to pick from a pool of internal candidates, even if those candidates weren't very good, or else make a strong case for why no internal candidate had the required skills. Since programmers earning university wages could be earning maybe three times as much if they were good enough to get hired in industry and wanted to switch, many of them are not great.

  • They showed me a public job description that had a very long list of required skills, and seemed to be targeting a more experienced person than the work called for. Not knowing the situation, I initially thought that this was due to a misunderstanding about what kind of candidate they actually needed, but it's how they convinced the university that they should be able to offer this high an hourly rate.

  • While this researcher hasn't done this, others have bypassed these restrictions by hiring someone for "40hr/wk" with an understanding that they're actually going to be working much less than that.

One effect of this is that if an EA academic project needs a full-time experienced software engineer, they will often need to hire an EA because they need someone who is willing to work for much less than they could get elsewhere. Even if the work seems like it could be done by a non-EA at market wages, academically affiliated projects won't be able to do that.

(The professor reviewed this post, and has asked to remain anonymous.)

New Comment
19 comments, sorted by Click to highlight new comments since:

I've hired (short-term) programmers to assist on my research several times. Each time, I've paid from my own money. Even assuming I could have used grant money, it would have been too difficult. And, long story short, there was no good option that involved giving funds to my lab so they could do the hire properly.

[-]EKP102

Possibly scarier: the federal government and national lab system has not identical, but very similar barriers.

Can confirm. I almost took a job with the federal government early in my career but passed because I could get paid more with less bullshit elsewhere (e.g. no strict dress code).

Jeff, are they working to reduce existential risk?  If so, this it totally the kind of thing that BERI supports :)

This makes it sound like if I am a good programmer and I want to help people out (and not get paid market rate, and not get job security), I should find lots of unusually good opportunities within academia. Do you think that's the case? If so, do you have any suggestions for how to find them? I have zero experience with any university ever.

My guess (from outside the system) is that great opportunities for high impact exist, but the search costs are going to be really high, and academics don't have a lot of incentive to make the best opportunities legibly better/more prominent than mediocre ones. 

In my experience there are lots of things in academia that would be improved by someone writing software, but even below market rate there often isn’t any money for it. Funding agencies are (at least in the US) weirdly uninterested in funding software development unless it’s done by someone with the title “grad student” or perhaps “postdoc”. That’s not to say opportunities don’t exist, but the market failure goes deeper than being unwilling to pay market rate.

I think this might be an overstatement. It's true that NSF tends not to fund developers, but in ML the NSF is only one of many funders (lots of faculty have grants from industry partnerships, for instance).

Ah this is a good point! I’m thinking more of physics, which has much more centralized funding provided by a few actors (and where I see tons of low-hanging fruit if only some full-time SWE’s could be hired). In other fields YMMV.

Can't you just use grad students?

Grad students are training to become independent researchers. They have the jobs of conducting research (which in most fields is mostly not coding), giving presentations, writing, making figures, reading papers, and taking and teaching classes. Their career and skillset is rarely aligned with long-term maintenance of a software project; usually, they'd be sacrificing their career to build tools for the lab.

Many grad students go into the free market later anyway so there should be some that fit.

I would expect grad students to have very little experience and you could hire people with similar levels of experience (junior engineers) with normal university wages.

Grad students are paid in prestige, research experience, and other forms of career capital, as well as mission, rather than just $s. Even so, arguably many of them are quite underpaid (when many of the EAs I know who have no intrinsic love of the academic life are considering grad school, they think of it as a sacrifice for future impact).

In comparison, software engineers for academia are only paid in $s, plus mission, plus (substantially less) prestige. So paying junior engineers the equivalent to a grad student is quite a raw deal in comparison.

Exactly. The incentives are not there to invest in becoming a decent developer.

In some places, this would lead to indirect hiring - rather than recruiting individuals, use an agency or contracting firm.  Contract limits are likely much higher than salary limits, at least for grant-funded work.

Do you have a link to the job posting?

Sharing the link would disclose who I was talking to, sorry!

I wonder if using the title research software engineer, posting on RSE job boards, networking in their communities, adhering to their norms, might help with matching. Idle/uninformed speculation; I only have become aware of the self-identified field/title in the last year, and gather it is only about 10 years old.