12

Is the community short of software engineers after all?

It often seems like software engineering is the most over-represented career in the community. On this ground, at 80,000 Hours we've discouraged more people from going into the area, in order to increase the diversity of skills in the community. 

However, recently the following organisations have been trying to hire EA-aligned software engineers:

  • Wave
  • New Incentives (given a seed grant by GiveWell)
  • GiveDirectly
  • 80,000 Hours 
  • CEA

And I don't think any of these groups have found it particularly easy. 

Might this mean we're actually short of software engineers after all? It's a bit hard to tell at this point, but if these positions continue to be unfilled, then it'll look that way.

If we are short of engineers, what's the explanation? Some ideas:

  • Lots of people in the community have entered the path, but few have become skilled enough to take these positions. In our hiring, it seemed like the choice was between an experienced non-EA or an EA with under a year of experience.
  • A large fraction of the community are in the path, but the skill is so useful that we're still short of it.
  • Lots of people are in the path, but they prefer to earn to give, either because they believe it's higher impact, or switching to direct work would involve too much sacrifice.

 

Are you an engineer with over 2yr experience who's involved in effective altruism, and interested in switching to direct work? Get in touch with these organisations.

 

Comments (35)

Comment author: Peter_Hurford  (EA Profile) 24 September 2016 02:08:23AM *  21 points [-]

For those who don't know, I work as a data scientist / software engineer, have more than two years experience, identify as an EA, and donate a considerable portion of my income (right now living on ~$40K and donating ~$50K).

This post resonates with me because I often get annoyed that my earning to give job has little to none direct social impact and takes a lot of time away from my volunteering that I would otherwise like to do. However, when considering these direct work jobs, I usually end up not applying for some of the following reasons, in order from most feared to least feared:

(a) For personal reasons, I need to work in Chicago right now, but none of the other organizations are in Chicago. I would definitely consider remote work, but that sounds like it would make me really lonely as I have few friends outside of work and my girlfriend is long distance. My thought is that someone else who can live in the Bay would be a better fit.

(b) I'm concerned the jobs won't be technically challenging enough. My perception is that these jobs often involve maintaining WordPress sites or chaining Google Sheets together and don't involve making great technology. This motivation of mine exists alongside my EA motivations and is what keeps me interested in my for-profit job, but I'm afraid I'd lose it in a direct work job and I wouldn't be fulfilled from EA drive alone. My thought is that someone else who is less experienced or not motivated by technical challenge would be a better fit. I'd definitely be interested in any EA org that had a strong need for data science though, whether it be in generating predictions, creating product recommendations, classifying objects, etc.

(c) I'm concerned I don't have the relevant skills. These jobs seem very front-end focused or focused on making mobile apps, and my experience is in data science and back-end engineering. I'm not good at designing apps and would think that someone else more skilled at front-end design would be a better fit.

(d) I'm concerned these jobs don't offer sufficient salary. While I definitely identify with EA and want to donate a lot of money, I'm not super into sacrifice and would like to do things that, in Chicago, require $40K or more. I'd also like to save to eventually raise a family, buy a house, send kids to college, etc. My thought is that someone who can take a lower salary would be a better fit.

(e) I think that doing for-profit work will build better career capital that could launch an even more impactful career in the future, perhaps in tech entrepreneurship.

I don't know if (a)-(e) are actually true, but they're fears that keep me from exploring much further. I also think (a)-(e) is also based in the thought that there are many other EA software engineers who could easily be a better fit because of these limitations, but maybe that's not true? I didn't know any EA org other than 80K was struggling to hire software engineers, so that definitely updates me in that direction.

Comment author: Ben_Todd 24 September 2016 11:04:02AM 8 points [-]

These concerns seem similar to other EA engineers we talked to about working at 80k. In particular, lots are more back-end focused rather than front-end, and many were worried about career capital.

It might be one of those cases where lots of people think they're not ideally suited to the role for reasons like this, but actually everyone else is reasoning in the same way. In reality, someone who doesn't seem well suited in absolute terms is relatively best positioned to do it. http://www.benkuhn.net/advantage

I think all these roles pay more than $40k, several more like $70, and Wave pays market rates.

I think some of the roles will be technically interesting. 80k isn't "building new technology" and mainly uses wordpress, but there's a lot of design challenges, and, based on our trials, it still seems very challenging to do everything quickly to a high level.

I think the career capital concerns might be overblown as I've written about before. https://80000hours.org/2015/11/working-at-effective-altruist-organisations-good-or-bad-for-career-capital/

Comment author: liquid-snake 25 September 2016 04:13:03PM *  2 points [-]

Additional reason that applies to me and probably other EA engineers: Earning to Give lets your impact be more liquid and therefore better directed.

E2G lets you donate money to whichever organization in whichever cause area you think is best. Signing on to work at CEA means you think (impact at CEA) + (donating ?5-15k to Best Charity) is better than (donating 30-60k to Best Charity).

If you think CEA (or New Incentives, or Wave or whatever) is The Most Optimal Charity, easy decision. But it's not clear why the math would work out if you think X-risk, animal charities, or basic science is the right cause area... or even if you're into global health/poverty but think GiveWell is better at charity evaluation than you are.

Comment author: Giles 10 October 2016 02:28:35PM 1 point [-]

This by the way is what certificates of impact are for, although it's not a practical suggestion right now because it's only been implemented at the toy level.

The idea is to create a system where your comparative advantage, in terms of knowledge and skills, is decoupled from your value system. Two people can be working for whichever org best needs their skills, even though the other best matches their values, and agree to swap impact with each other. (As well as the much more complex versions of that setup that would occur in real life).

Comment author: Ben_Todd 03 October 2016 08:47:54PM 0 points [-]
Comment author: Richard_Batty 24 September 2016 04:55:48PM 2 points [-]

In response to b, I think that's true for the 80k job. I decided not to apply for the 80k job because it was WordPress, which is horrible to work with and bad for career capital as a developer. Other developers I spoke to about it felt similarly.

But this isn't true of all of the jobs.

For example, the GiveDirectly advert says "GiveDirectly is looking for a full-stack developer who is ready to own, develop, and refine a broad portfolio of products, ranging from mobile and web applications to backend data integrations. As GiveDirectly’s only full-time technologist they will be responsible for developing solutions to the organization's most challenging technical problems, and owning the resolution from end to end."

When I unsuccessfully applied to Wave it similarly sounded like a standard backend web development job, not WordPress or tying together google sheets.

Comment author: Ben_Todd 24 September 2016 05:25:25PM 6 points [-]

Just to clarify to future 80k engineers who are reading this - the current site is in WordPress so the job would involve some WordPress work, but we expect much work in the future won't be in Wordpress e.g. our career quiz has an angular JS front-end; if we build our own career tool then it would likely be in ruby on rails on a sub-domain.

Comment author: Peter_Hurford  (EA Profile) 24 September 2016 06:37:55PM 1 point [-]

I suppose (c) is a more valid concern than (b) then.

Comment author: MichaelDickens  (EA Profile) 24 September 2016 04:31:23AM 7 points [-]

You need to consider base rates to be able to claim that there aren't enough EA software developers. Hiring good developers is hard, but hiring good anyone is hard. The question is, is it disproportionately hard relative to hiring for other jobs, or to software engineer hiring for non-EA companies?

Also relevant: I've looked at the job postings for some of the orgs you listed, and they generally want several years of experience. EAs are disproportionately in college or just out of college, which makes it harder to find experienced candidates.

Comment author: [deleted] 24 September 2016 12:03:53AM *  6 points [-]

Would hiring non-EA programmers be better because the counterfactuals are lower? It doesn't seem obvious to me that value-alignment of software engineers is as (or more) important as experience. On the other hand, it could build career capital for the EA developers (but their counterfactual job might be better for career capital, depending on what it is).

Comment author: Ben_Todd 03 October 2016 08:54:43PM 3 points [-]

Value-alignment of the team is super important, so non-EA team members are risky, less motivated, and usually don't work out.

Also EA engineers are going to stick around in the movement, so if you train them up and get to know them the community will benefit in the future, whereas non-EAs will go elsewhere.

Finally, because you have to pay the non-EAs more, I think much of the benefits get used up.

Consider: Option 1: Hire a non-EA at $100k per year, who generates $200k of value -> surplus of $100k. If they hadn't worked for you, they would have donated $0.

OR

Option 2: Hire an EA at $50k per year, who generates $200k of value -> surplus of $150k. But, if they hadn't worked for you, they would have earned $100k and donated $50k. So the net surplus is $150k - $50k = $100k.

The surplus is the same in both cases.

Comment author: John_Maxwell_IV 04 October 2016 05:16:04AM 2 points [-]

Value-alignment of the team is super important, so non-EA team members are risky, less motivated, and usually don't work out.

I thought this comment on Michael's post was interesting. If it really is best practice for nonprofits to ignore how committed potential employees are and just hire on competence, it seems like we should take that pretty seriously.

BTW, it might be a mistake to conflate "value-aligned" with "currently thinks of themselves as an EA". For example, if you advertise an EA job on a regular old job board, and make it clear that you want to hire someone who's passionate about your cause area and you're offering a below-market salary, it seems like anyone you found through that process would have at least some degree of value alignment (assuming that they could be making substantially more money working for a less altruistic employer).

Also EA engineers are going to stick around in the movement, so if you train them up and get to know them the community will benefit in the future, whereas non-EAs will go elsewhere.

I'd think that the opposite logic applies--EA engineers are likely to stick around in the movement regardless of whether you hire them, whereas non-EA engineers might choose to become more involved through their experience working for you.

It seems like the value of information is really high here. Feels like at least one of the 5 organizations you mention should experiment with hiring non-EA engineers, if the talent crunch really is as bad as you say. Unfortunately I'm not that excited about working for any of the 5 organizations you mention, but I'd be happy to help them interview engineers to get an idea of how competent they are. (I've got some experience doing this.)

Comment author: lincolnq 09 October 2016 11:37:27AM *  4 points [-]

(I'm one of the founders of Wave.) Thanks for mentioning us!

We have indeed found it tricky to hire engineers. Our EA pedigree makes it easier though, since lots of people want to make an impact with their career; as does being a full distributed team so we can hire people from anywhere in the world. We're exclusively hiring via our networks right now and the EA community has been quite helpful for us. Most of the engineers we've hired had heard of EA before joining, although I think not all. I don't think many of them identify as explicitly EA (though a few do, myself included).

When we've rejected engineering candidates from the EA community, it's been mainly for technical reasons (not enough experience or velocity doing the things we do), followed by cultural homogeneity risk. To expand on the latter risk: we often reject people who seem "too EA" because we are afraid of importing too much cultural baggage from an existing community - it would feel outgroupish if you didn't know much about EA but there were all these EA memes flying around the slack channel. So far we've mostly avoided that.

That said, I don't think anyone should self-exclude from our hiring process for being too EA; we can decide that for ourselves. Get in touch if you might be interested.

Comment author: Telofy  (EA Profile) 23 September 2016 01:40:48PM *  3 points [-]

I can’t seem to find CEA’s job posting. Does someone have a link?

(I’m mostly ETGing as software engineer at the moment because EAF is currently more more funding constrained, so I can better support it that way. I’ll be geographically bound to Berlin for a while longer.)

Edit: Oh, and a six years experience in software development, in case someone is keeping track of the numbers.

Comment author: Ben_Todd 23 September 2016 09:25:27PM 1 point [-]

It's not formally advertised yet - it's the least pressing of those roles.

Comment author: oge 28 September 2016 09:02:51AM 2 points [-]

FYI I applied to New Incentives with ~10 yrs experience on the 1st of September. Haven't heard back.

Comment author: Ben_Todd 03 October 2016 08:56:36PM 3 points [-]

Startups value fit with the team very highly, so it's always very hard to predict who they'll be interested in. Programming skill / experience is only one component.

Comment author: Gregory_Lewis 23 September 2016 08:47:14PM 2 points [-]

What %age of market rate are these jobs offering? I think 'people who are willing to sacrifice (e.g.) 30% of their potential salary are pretty rare independent of field.

Comment author: lincolnq 09 October 2016 11:45:15AM 3 points [-]

At Wave, we offer market-ish for a startup ($90-180k for engineers depending on experience, plus equity). That said, several of the engineers we've hired took a substantial pay cut in nominal terms (usually from Google) to join us. Hopefully the equity will equalize or exceed the cut over time, but that's always a risk. That said, I'm skeptical of anyone who says that an engineer "needs" a 150k salary to be happy; the marginal value of each extra $10k seems to drop dramatically around $70k and maybe more like around $100-120k if you have a family.

Comment author: Ben_Todd 23 September 2016 09:24:40PM 0 points [-]

25-75% I think, though bear in mind the work is probably more intrinsically motivating day-to-day, which is worth a lot of salary.

Comment author: Gregory_Lewis 24 September 2016 04:25:43AM 9 points [-]

But not, I suggest, that much salary. Moral saints aside, most people want to earn more than 'graduate first job' level salaries as a medium term plan.

My general worry is EA orgs keep offering junior roles which have middling career capital, no obvious path for career progression, and significantly below-par pay, and then (despite the 'economicsy' bent of many EA groups) are surprised that they have issues with recruitment and retention.

Comment author: Ben_Todd 24 September 2016 10:52:27AM *  0 points [-]

Hey Greg,

I think that's a fair concern but it's not quite as bad as you worry.

Wave is a for-profit, and pays market salaries. The other orgs pay typical non-profit salaries.

They're all growing very fast, so I think the career progression is good. You also get a great network from these roles. (Exactly what you'll do in the future is unclear though, so the career progression feels bad due to ambiguity aversion.) Salaries are also increasing at a decent rate.

I also think the career capital is strong - many of these are elite organisations, mostly YC-backed etc. I think most people would learn a lot from working at them.

In our own hiring, we haven't often found salary to be a deciding factor (though we could be wrong). Interestingly it seems to be more of an issue with engineers than others. I'm not sure exactly why that is - maybe just because the counterfactual is so obvious (even though engineers don't actually earn as much as law and finance, which non-engineers working at these firms could pursue otherwise).

We're pretty attentive to the importance of salary in hiring, and I plan to raise salaries if they do turn into a bottleneck (insofar as we're able to raise funding). We increased salaries significantly in Dec 2014 for this reason.

These are also not junior roles for the most part. New Incentives and GiveDirectly and 80k are looking for a senior engineer, who would ideally lead the engineering team in the future.

Of course, much of this is predicated on future growth actually happening, but that's the same at a for-profit startup.

Comment author: Gregory_Lewis 24 September 2016 02:27:27PM 4 points [-]

Respectfully, given the challenges in hiring, worries about 'churn', and the general assertion EA is 'human capital constrained', the market seems to disagree with you about how good jobs like these are. I won't belabour which side the outside view would be on.

Of the available factors that may attract applicants most aren't easily modifiable: how quickly they will grow, the likelihood of them gaining leadership responsibility, network quality and career capital, etc.. Salary is the exception to this, so I'm surprised it is not the first port of call.

Comment author: Ben_Todd 24 September 2016 05:35:22PM 3 points [-]

Basically agree, but just an extra addition: Raising salary is not as helpful as it first looks for attracting talent, because the marginal people who get attracted by higher salaries are less EA aligned, which makes them less suitable for the role.

Comment author: AGB 24 September 2016 12:15:25PM *  4 points [-]

"In our own hiring, we haven't often found salary to be a deciding factor (though we could be wrong)."

If your hiring structured in such a way that you would notice if it was?

By which I mean, if there are 40 people who would be a good fit for a role you are hiring for, and 90% of them aren't willing to earn less than $60k, do you have any way you would expect to find out about that fact? I'd sort of expect them to just not apply in the first place because they know they won't get paid that much (ironically, due to the commendable transparency and openness of most EA organisations). And so you only hear from the other 4, where salary might be a concern but it's not the primary concern.

That's a deliberately extreme set of numbers but hopefully demonstrates the point I'm trying to make.

Comment author: Ben_Todd 24 September 2016 05:32:08PM 1 point [-]

It's definitely a worry. The main way I'm judging this is how important salary seems in our final negotiations with the short-list of candidates.

Of course, if all the filtering occurs at an earlier stage, then we'll never find out, but I don't think that's the case. I don't think people use salary as a "yes or no" filter (rather it's one of many criteria that have a role at each stage of the process); we often advertise the roles without stating the salaries; when I talk to people about the roles early on they often aren't aware of what the salaries are.

Another worry is that people care about salary much more than they're willing to let on. It would be hard to pick this up.

One reason why salary is less important than you might first think is that "not caring about salary" is well correlated with "EA-ness" and that's a trait we value very highly when hiring. So, usually the candidates who care a great deal about salary aren't the ones we're most excited to hire.

Comment author: AGB 24 September 2016 09:12:35PM 2 points [-]

The point I was making about openness/transparency is that I suspect most people who have been around EA for a while have an ok idea of what (say) CEA employees earn because you can get a very rough idea of that very quickly from scanning any of the budgets. As you correctly pointed out, they're also just fairly typical for the wider non-profit sector. Any for many engineers those impressions will amount to a 50%-ish pay cut.

Once they have that impression, I'm surprised you don't think people use salary as a 'yes or no' filter. I definitely think people have an internal 'minimum number' or 'maximum pay cut' and then for everything after that number it becomes one of many considerations. My main concern is that large chunks of the EA meta space might be falling below that threshold for large chunks of dedicated EAs. But I don't know of any way to settle that theory more definitively, so having stated my impression I'll leave it at that.

Comment author: Ben_Todd 25 September 2016 12:02:11AM 0 points [-]

In my experience, some people definitely use it as a yes/no filter, but many don't.

Also if you're considering a group of people, you'd expect everyone to have their minimum threshold at different points, which will create a continuum salary vs. talent tradeoff, so you'll still be able to get a sense of how bad the tradeoff is.

Comment author: MichaelDickens  (EA Profile) 24 September 2016 03:59:07PM 0 points [-]

(ironically, due to the commendable transparency and openness of most EA organisations)

It's much better (for both prospective employees and the organization) for people not to apply then to apply, spend tons of time interviewing, and then realize the salary is lower than they're willing to take. So (with some caveats I won't get into), transparency benefits everyone here.

Comment author: AGB 24 September 2016 09:03:53PM *  1 point [-]

Short run I agree, but long run it's not an obvious win if it means 80k, and other similar orgs, never even find out salary is the largest concern (in a hypothetical world that I'm not at all sure exists, but certainly could exist).

As was in fact the issue under discussion.

Comment author: MichaelDickens  (EA Profile) 24 September 2016 04:09:09PM 2 points [-]

I also think the career capital is strong - many of these are elite organisations, mostly YC-backed etc. I think most people would learn a lot from working at them.

Again, you have to consider counterfactuals here. If I could work at either Google or 80K, will I learn as much from working at 80K as I would learn from Google? Probably not. Or if I prefer the sort of learning you get at a smaller company, I would do better to work at a good startup than at 80K.

Like what Gregory said, if you're claiming that your job is great for software developers, but the actual software developers in this thread disagree with you, maybe you are mistaken about what developers find attractive.

In our own hiring, we haven't often found salary to be a deciding factor (though we could be wrong). Interestingly it seems to be more of an issue with engineers than others.

What jobs are you hiring people for where they would otherwise work in finance? I presume they have nothing to do with finance and probably tie into your core mission. Whereas you're hiring software developers to do software development. So finance people take jobs at 80K to work on developing career strategy, whereas programmers just do programming, which they could do anywhere.

Comment author: Richard_Batty 24 September 2016 04:59:40PM 1 point [-]

Apart from 80k, do you know if the other organisations have had few applicants to these jobs or lots of applicants but no-one good enough?

Comment author: Ben_Todd 24 September 2016 05:33:04PM 0 points [-]

I'm not sure - I just know they're all actively looking, and several have said they find it difficult.

Comment author: Sindy_Li 01 April 2017 02:55:47PM *  0 points [-]

Ben, to recap a bit what people have said: working as a software engineer at an EA organization

  • may not be the most technically challenging/engaging job
  • may not be great for future career development
  • may not pay much

This probably applies more to EA organizations like CEA and 80,000 Hours. Give Directly may be different since you probably work with Mpesa, similar to Wave; and maybe New Incentives too since they do conditional cash transfers.

And Wave is basically like a regular tech company in the above aspects (and probably better because it's a startup hence work could be more challenging and interesting than say at Google). They pay less than Google. So it's a good example that when you have to make sacrifices in 1 dimension, out of the 3 I mentioned above, you can still find really good EA-type software engineers to join.

But for EA organizations like CEA and 80,000 Hours, you need to make sacrifices in all 3 dimensions (and pay is probably less than Wave) -- no wonder it's harder.

That being said, there's no reason it can't work. Just think about people doing similar jobs to the IT positions you want to hire for at CEA/80k -- there are plenty of people doing them at other companies or organizations. In this sense, the EA organizations may pay less than the alternative but offers the opportunity to work for an EA organization, so the EA-types among these people would be attracted to such jobs, like EA-type Google engineers would be attracted to Wave.

If the job isn't the most technically challenging/engaging, you probably shouldn't be looking for people who value these too much, since they already need to take a pay cut which is a sacrifice even for EA-types, and asking people to make sacrifices on more than one dimension makes it harder to attract them. Look for people who are EA-types working in similar jobs in non-EA places, or people who would be at least indifferent between working these jobs at a non-EA org with lower pay and working these jobs at another place with higher pay.

(But maybe the jobs ARE technically challenging/engaging and great for future career prospect.. I don't know, you should probably ask actual engineers for their views on these!)

Comment author: Ben_Harack 03 May 2018 05:27:43PM 0 points [-]

Following up on this more than a year later, I can vouch for some but not all of these conclusions based on my experience at the high-impact organization I work for, the Human Diagnosis Project (www.humandx.org).

We've found it very difficult to recruit high-quality value-aligned engineers despite the fact that none of the above items really apply to us. * Our software engineering team performs very challenging work all over the stack - including infrastructure, backend, and mobile. * Working here is probably great for career development (in part because we're on the bleeding edge of numerous technologies and give our engineers exposure to many technologies). * We pay similar salaries to other early-stage startups in Silicon Valley (and New York).

On problem I can identify right now is that I've attempted to recruit from the EA community a few times with very limited success. Perhaps I've gone about this via the wrong fora or have made other mistakes, but I've found that generally any candidates I did find were not good fits for the roles that we have to offer.

This problem continues to this day. Given that we don't have the issues identified above (to my knowledge), my best hypothesis right now is that we're simply unable to reach the right people in the right way - and I'm not sure how to fix that. If anyone has any particular ideas on this front, I'd love to hear them.

That said, if anyone wants to help us out, we're still actively recruiting for a host of roles, including a lot of engineering positions. To learn more, take a look at https://www.humandx.org/team