Hello! I'm a fourth-year undergrad in the United States majoring in computer science and I'm graduating after next semester. I'm also a group organizer for an EA university group which I started this semester. I've been surprised by how straightforward it was for us to start an EA group and, through advertising and running an introductory EA fellowship, help dozens of students this semester learn about EA and become convinced of the core ideas. I'm excited about the idea of starting additional EA university groups and I think that would be pretty valuable (and apparently someone at Open Philanthropy thinks high-quality community-building would be better than donating a whole lot of money). It seems that other sorts of community-building could be pretty high-impact as well, although I'm not that familiar with them.
My current job plans are: do software engineering for two years (I currently have a new grad software engineering offer with a unicorn, which I'm pretty keen on), and then transition into EA community-building (or maybe AI safety engineering or something, depending on what seems higher-impact). This post isn't under my real name in case said company is browsing the EA Forum and recognizes my name (would be cool if they were browsing the EA Forum, but I'm not gonna risk it).
Another option is to jump straight into EA community-building after graduation. It sounds like the Centre for Effective Altruism will shortly have a lot of roles open for university campus community-building (honestly sounds like they're desperately trying to find people so that sounds like some nice counterfactual impact), and there are also opportunities from Redwood Research and Lightcone Infrastructure.
Some reasons to do software engineering, at least for a while:
Build career capital that is legible outside the EA community, at a company that's reasonably prestigious (at least within tech). I think this increases the options that I have available and also makes my later work doing random things like EA community-building look more reputable.
Build career capital relevant for things like software engineering or machine learning engineering for AI safety.
Take advantage of new grad opportunities. A lot of non–new grad software engineering opportunities require a year or two of industry, non-internship experience, and new grad opportunities are generally limited to people who graduated in the past year. Although I don't think it would be impossible for me to get a decent software engineering job later on with just internship options, I think my options would be significantly limited.
Not raise a ton of eyebrows from my family.
Reasons to jump straight into community-building:
Get in some more person-hours of EA community-building time in before transformative AI comes(?). I think this is actually a pretty important consideration—I don't mean to meme it too hard.
Work hours would probably be pretty flexible and I do like to take naps in the middle of the day
I'd like to choose whichever option is higher-impact. What are your thoughts? In terms of what impact means to me, I think my cause prioritization and values are about the same as 80,000 Hours and the Centre for Effective Altruism. I'll also be applying for advising from 80,000 Hours but I wanted to hear some thoughts from the broader EA community.
Maybe you're already thinking this, but specifically for community building / meta-EA career paths, my impression is doing 2 years of meta-EA would be much better (in terms of both career capital and direct impact) than 2 years of software engineering at a startup. Intuitions behind this include:
Community building experience seems to be highly valued by meta-EA employers / grantmakers / cofounders, because of its clear relevance
Maybe the impacts of community building are cumulative, which makes additional work early on especially valuable
I'd guess recent graduates tend to have a much easier time becoming friends with university students than older people (and anecdotally, these friendships seem super important for community builders' impact)
Getting more meta-EA experience soon would help prepare you to take on management/mentorship roles or otherwise more ambitious projects in meta-EA sooner. More generally, if impact per year grows as one gets more relevant experience, then starting earlier lets you have more time at the heights of your ability to have impact.
(I guess the exception would be if you want to do meta-EA through software engineering.)
My questions would be: do you want to do community building an EAR projects in 5-10 years, and do you really have great community-building opportunities now (good org, good strategy for impact, some mentorship)?
If yes for both, then doing community-building looks good. It aids your trajectory moreso than software. It won't sacrifice much career/financial security, since software is not that credential-based; you can return to it later. And going into community building now won't raise any more eyebros than doing it in two years would.
If no for one or both questions, e.g. if you see yourself as suited to AIS engineering, then software might be better.
I don't feel more than 50% confident that I want to do a community-building or meta-EA career path. Community-building might be over-represented in the career plan I sketched out above, as until a few days ago, I hadn't seriously considered the idea that software engineering or machine learning engineering for AI safety were things that I could be qualified to contribute to.
(Previously, I thought that AI safety ML engineering positions were exceedingly competitive, and I didn't know that software engineering for AI safety was much of a thing. My update was from browsing the Anthropic job board and noticing the lack of hard requirements for many of these positions, and from people on the EA Corner Discord thinking it was doable to get an AI safety position. I also re-read "AI Safety Needs Great Engineers [EA · GW]" with a fresh perspective. The first time I read it, I was thinking, "wow, I have no idea how to write a substantial pull request to a major machine learning library; therefore, I can't work in AI safety". The second time I read it, I paid more attention to the sentence "Based on the people working here already, 'great software engineer' and 'easy to get on with' are hard requirements, but the things in the list above are very much nice-to-haves, with several folks having just one or none of them.")
OK, then it sounds like a tricky judgment call. I guess you could ask: compared to most technically-minded EA students, do you have a comparative advantage in social skills vs coding, or the reverse? And are your community-related job offers more selective and impressive than the software ones, or the reverse?
If you can get a job at Anthropic, Redwood, maybe OpenAI or Deepmind or other AI companies, those might be better than most software startups.
The first 1-2 years of software engineering work can be amazing for the experience. It really can depend on what team you work with though. Some have great standards and help train junior engineers. Others don't, and won't teach decent practices. My intuition is that the startup you're considering is likely good (startups with lots of respect in tech circles, like Stripe, can be great), but I suggest asking some people who work there.
Many of the EA tech groups are much smaller or very early, so won't be able to provide the same experience. (and, if you join them anyway after, you'll get the experience they do provide then, anyway). Just chat to people in them and see what mentorship they can provide.
2 years seems like a bit much to me. If you join the software engineering role (and it's not directly EA), I'd suggest being really intense about it if you can. Try to learn as much as possible, as quickly as possible. Then, after 12 months, gauge how much you're learning (and maybe, how quickly the stock options are rising in value) and decide things from then.
For me, I found that my first real "junior developer job" was incredibly interesting and useful, but the work got pretty boring after around 6 months. I left around 14 months in, and in retrospect, sort of wish I left ~2 months sooner.
One other thing to note: try to learn full-stack skills, not narrow domain skills. Spending 1-2 years on a company-specific database solution is bad, doing it with similar tools to what a tiny startup would use is good (for many EA sorts of things)
Personally, I'm excited about more strong generalist EAs having 1-2 years of strong software engineering experience. Software engineering comes up all over the place. It's a highly general-purpose skill. It would give you a bunch of options later on.
Build career capital relevant for things like software engineering or machine learning engineering for AI safety.
Random, but a piece of advice that I've heard is that career capital for these things is only useful for getting your foot in the door (e.g. getting a coding test) and then your actually performance (rather than your resume) is what ends up getting you/not getting you the job. If you think you can succeed at this, I think it would almost certainly be better to just directly optimize for getting to a performance level that's good enough for the AI safety job you want, rather than spending a few years software engineering (which might still be useful, but would be a less optimal way to spend your time, probably). I recommend reaching out to any AI safety orgs you hope to work at to confirm whether this is the case, in case you can get a few additional years of impact.
ETA: That said, ignoring personal fit, probably: AI safety paths where you skip the SWE ~= community building path >> software engineering at a start-up
Also, if you want to chat about Lightcone and/or Redwood, I'm doing work trials for both of their generalist roles (currently at Redwood, switching to Lightcone soon)--feel free to DM me for my Calendly :)
but a piece of advice that I've heard is that career capital for these things is only useful for getting your foot in the door (e.g. getting a coding test) and then your actually performance (rather than your resume) is what ends up getting you/not getting you the job.
In my experience, most orgs are much more excited about bringing on "senior engineers" than "junior engineers", and often the only way to get the performance to be a "senior engineer" is to work in a company to build those skills. It doesn't have to take long though.
your actually performance (rather than your resume) is what ends up getting you/not getting you the job.
There are many roles of engineer and I think for senior people in the interview process, experience, and "gravitas" or something helps.
I know someone who told their FAANG recruiter that they didn't like LeetCode. The recruiter, who they didn't know, then gave their personal number and texted out problems. Later, when the person didn't pass, the recruiter then gave them a mulligan to do the test again. This person's role was not an SWE, they were sort of meta to a "canonical" software engineer.
(Technically, the role was "Machine Learning Engineer" but this might give the wrong message because probably means something different at a FAANG versus Anthropic or Ought).
career capital for these things is only useful for getting your foot in the door (e.g. getting a coding test)
Career capital also determines what your "level" is, and there are huge differences between levels in compensation and productivity. An entry engineer versus a strong, generalist lead engineer (that can carry a team or a startup) is a hugely different role. It seems hard to gain this experience/ability from the outside.
If you think you can succeed at this, I think it would almost certainly be better to just directly optimize for getting to a performance level that's good enough for the AI safety job you want,
rather than spending a few years software engineering (which might still be useful, but would be a less optimal way to spend your time, probably)
I think the two text blocks above might be basically saying the same thing, at least for the OP.
Someone I know spoke to Anthropic, and there is a strong demand for senior, strong engineering talent (e.g. systems design, carrying a whole project). This is the same talent that everyone wants.
I'm mostly writing content for onlookers. Please correct me if I'm wrong.
Would you tell us more about where you think you'd have better personal fit / what you'd wake up enthusiastic to do?
Maybe there's some creative solution where the other student communities still come up even if you don't run them? (Perhaps you could delegate this and only mentor the community leaders, or something like that?)
Another opinion: I think direct AI research kind of <exaggeration> can't be measured in money </exaggeration>.
Those people are missing, and AFAIK the AI safety orgs really want to hire people that are also aligned in their values, which is hard to find, and offering a high salary isn't enough to find more of those people.
Please note that even if you 100% agree with me, I do not (!) think this a good enough reason on its own to make a decision. Questions like personal fit which I asked above are also really important, and I don't think I know enough about you to actually recommend something specific yet
FYI, it's not impossible to take naps at some tech companies. This is me around 2014 working in an American corporation, I'd take a nap every second day more or less. I think the situation since then has become even more relaxed (no pun intended) : In my last job, I also took naps, and the bean bag was supplied directly by the Operations department.
I'm in a pretty similar situation (I'm a CS senior in the US and took a SWE job offer from a unicorn). If I had the choice, I would go into direct work. Ben Todd said [EA · GW] the following earlier this year:
I’d typically prefer someone in [non-leadership] roles to an additional person donating $400,000–$4 million per year (again, with huge variance depending on fit).
To me, those numbers sound high enough to swamp the downsides of working on community building that you mentioned, if you'd like to choose whichever option is higher-impact.
(I'm posting this as a comment because it's not as well-thought-out as the answers others have given.)