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.
I think I agree with Jack on the AI side.
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.