def should_apply_for_CEA(you):
return you.would_want_to_work_at_CEA_if_accepted()
CEA tries pretty hard to make it easy and worthwhile for you to apply to work there:
- No cover letter needed, only your CV and a quick question about your experience in EA (it can be answered in one line)
- They’ll tell you in advance (after looking at your CV) if they think it’s worth your while interviewing, so you won’t waste time on long interviews if not
- You can re-apply any time, you are not burning yourself or your reputation.
- They’ll give you reasonably detailed feedback if you’re rejected at a later stage, so at least you’ll learn something useful
- You won’t waste their time by applying. If they were afraid of having their time wasted, they’d say so, and they ask people to trust them on this rather than making that decision for them.
- It will make Ben happy :)
If you were accepted to CEA, would you want to work there?
If so,
If not,
Please fill in this anonymous form and tell us why. What is the consideration we forgot?
If you’re not sure CEA is a good fit for you, read on:
More about the application process
Consider skipping to what CEA does if you don’t care about the application process.
Please note that this process is specific to engineering. Other roles and teams at CEA have different processes.
What’s the bar for getting invited to an interview?
Ben (CEA’s Head of Online) wants to hire senior people, but he has a nontrivial definition for what that means (for example, you don’t necessarily need “Senior” in your title), and we both think it is preferable to apply and let Ben run his own algorithm. But if you want this algorithm anyway, message one of us and we’ll send it to you.
What’s the interview process?
- A 15 minute call for you to ask questions
- A 2.5 hour Python/javascript task that you do alone. You’ll probably pass if you can do this in 30 minutes.
- A 1.5 hour technical interview:
- Talk about your solution to the task above
- Take a look at a piece of terrible code, and
rant aboutexplain what’s wrong with it
- A 1 hour interview with our People Operations Team
- Talk about your involvement with the EA community and/or how you implement EA ideas in your life.
- Talk to the online team for 30 minutes. Software engineers are often socially awkward, this is fine. CEA aren’t looking for you to be a social butterfly, but they want to be sure they can communicate with you about things like a project you’ve worked on, or a technical trade-off you had to make.
- Possible follow-up interview(s). CEA will tell you if they have open questions and what they’d like to talk about.
- 1-2 day paid work trial: For example, CEA’s recent hire did this.
What feedback will you get if you’re rejected?
It depends on which stage you reach
- Before the interview: categorical feedback, such as “not enough experience” or “not involved enough with EA”.
- After the first trial task: ~90% of rejections are “the test cases (which they sent you) didn’t pass”. ~10% are “your solution functionally worked but the way you implemented the solution was complicated/confusing/not following best practices. If you show your solution to an experienced engineer, they will probably be able to use it for a short mentoring session”.
- At a later stage: if requested, Ben will provide 1-3 paragraphs of feedback.
What products does CEA work on?
Some EAs help people. Some EAs help animals. CEA helps EAs.
CEA does this with:
Also, see their github
Are those products important?
Well, you could make some complicated impact calculation where you give some amount of $ per post written or viewed, but I think it’s more concrete to imagine the impact of specific features:
What if we wouldn’t have a karma system, or forum tags that let people find more on a specific topic, or a newsletter (which currently has 60k subscribers)?
What if we would have a feature that suggests open biosecurity jobs to whoever is reading a biosecurity article? Or a naive “people who read this often also read that” feature? Or a karma system that is more effective in promoting high quality discussions, maybe by splitting up the upvotes into “this is a good argument” and “I agree with the conclusion” (or some better idea that you have)?
And imagine how easy or hard it would be for you to develop one of those features. That’s your expected impact right there.
In case you think all the important features were already written: Jonathan is currently working on something that should get an extra 100 people per month to sign up to the EA virtual programs. This is the importance of the features currently on the table.
What technologies does CEA use?
- EA Forum:
- Node/Typescript
- React
- MongoDB
- Postgres
- EffectiveAltruism.org:
- NextJS (React)
- Contentful
- Plus a few random small projects in NextJS + Postgres (e.g. their auth0 server)
Will CEA help you grow as a developer?
Yes! Check out all these opportunities to interact with others about your work:
Code reviews
All nontrivial pull requests get code review, for example here’s a recent big one and here’s a smaller one.
Comments include user experience improvements, code style best practices, and architectural changes.
Pair programming
- Each of CEA’s engineers pairs with the others about once per week.
- They also pair with LessWrong engineers.
- So you should expect to spend 10-20% of your time pairing with others.
- Note that this is pretty heavily dependent on your own preferences. Two of CEA’s engineers used to pair with each other every single day; others prefer to work more independently.
- This is a natural time for semi-informal mentoring: Ben has learned a bunch of things about JavaScript/React/Visual Studio from pairing with others, and got to experience different styles/approaches to debugging, testing, etc.
Joint debugging
Becoming good at debugging is also useful.
So CEA doesn’t write cutting edge ML?
No, it doesn’t.
The challenges you’ll have at CEA are more like “can you find a creative way to make this product fit the EA community needs while also being stable enough so that we can focus on new features going forwards?”.
See what Ben Kuhn, CTO of Wave, wrote about what is classically branded as a “hard problem”, compared to what hard problems he discovered he enjoys (TL;DR: “finding clever shortcuts”).
Also see the next section about ownership.
What ownership will you have at CEA?
TL;DR: Extreme ownership that can go beyond Software Development into the scope of Product, where you’ve got to figure out how to do something that nobody knows how to.
Example goals owned by Sarah, the most recent engineering hire:
- CEA’s websites generate 30 valuable one-on-one connections per month
- The EA Forum improves event discoverability, measured by “30 event attendees per month say they arrived through the forum”
She creates monthly OKRs towards these goals, here are some of her recent ones:
- Release the new Events page (meanwhile it was released)
- Incorporate Virtual Programs into the Events page
- Usability testing with at least 2 people
- New Events page bounce rate is under 35% (current Community/Events page is 40%)
Some of her tasks are non-programming if she decides that’s what needs to be done. Recent examples:
- Hire a UX designer
- Contact a data entry firm
Ben says: “Our staff owns outcomes, not tasks”.
Sarah says: “I think it's important to highlight that we each own outcomes and are very empowered to do things, more so than at any other job I've had.”
The amount of non-engineering work you’ll have, such as product or hiring, depends on your personal preferences. Jonathan mainly does engineering and design as most front end engineers would do, and if those are the tasks you like, CEA has plenty of them for you. Jonathan’s goal, by the way, is to update effectivealtruism.org in a way that will get 100 people per month to sign up to virtual programs. I don’t know how he plans to do that but I really hope it works!
Will you make money at CEA?
Yes, see here.
CEA especially wants to know if their salaries are off and preventing people from applying, please let us know if that is the case (anonymously if you prefer).
Do people at CEA work remotely? How does their social life look?
CEA is “remote first”, meaning they make an effort to be very friendly and fun for remote workers, which are most of the team. For example:
- If there’s a meeting with several people in the same physical room, each person still calls in separately so that people who connect remotely aren’t left out.
- There’s ~weekly remote social stuff (during business hours) with engineers from GWWC and EA Funds such as this and this.
- Monthly “deserts and demos”
- There’s a fun retreat every 3 months, with some exceptions for certain global pandemics (which CEA is sorry about but is trying to help organizations resolve as soon as possible)
What offices does CEA have?
- Oxford: very nice offices, you can find Lizka and Clifford there
- Bay Area: the Lightcone (LessWrong) team has an office there, which some CEA staff work out of sometimes
- Boston: Sarah and JP are starting an EA coworking space along with some EA/longtermist organizations
Is working at CEA more impactful than earning to give?
Ben estimates that for most people the answer is yes, but if you’re uncertain, you can tell Ben your situation and he’ll tell you what he thinks. For example, “I could either (A) earn to give and donate an extra (upper bound of) $X per month, forcing CEA to take the next-best candidate, or (B) CEA could hire me and not get that money. What would be better for EA?”
I predict the answer is going to be “there is no next best candidate, and we’d prefer you over $5X per month because otherwise there are some impactful (and exciting!) projects that are just not going to get done”, but who knows.
Can’t CEA just use money to attract strong developers?
CEA wants to hire developers from the EA community, so their hiring pool is not as big as most companies.
EA has lots of developers, but for some reason (as you might notice from this post’s “subtext”), many don’t apply. We are trying to solve that, or at least, to find out what’s going on. If you would be interested in working at CEA but there is a blocker (e.g. compensation), they would love for you to tell them that by DM/email/anonymously.
Pictures
Here are some sticky notes and their people:
From left: JP, Ben, Jonathan, Max, Lizka, and Sarah
Here, discussing the hard problem of what to have for lunch today:
From left: Sarah, Yi-Yang, JP
A ninja intruder, dressed entirely in black, was spotted in the CEA offices. So they hired him.
Clifford
I sometimes think about EA orgs as superheroes that have it all under control. Looking at these pictures, it helps me remember that it’s simply a group of people trying to do good. And they need help.
Are you still uncertain about whether to apply?
Please comment or fill in this anonymous form and tell us what we’re missing.
Thanks!
This post was written as a collaboration between Yonatan Cale (Effective Developers) and Ben West (CEA).
Please share it with your favorite EA software developers! For every 10 views this post has, Ben promises to clean up one sticky note from his wall.
We invite you to enjoy CEA’s software by commenting below with your thoughts, and we invite you to help build this software by applying here
Thanks for doing this Yonatan! Note that we are also hiring for other tech roles:
I’m neither a software engineer nor on the job market, but I found myself reading to the end because of how much fun this post is. Well done!
Might also add my totally-completely-absolutely-unbiased opinion that working at CEA/other orgs in the CEA umbrella is amazing.
I would not have applied without this post, and I think it also seriously increased my probability of applying to a variety of AI research roles (which I'd been putting off for years).
Really enjoyed this post and shamelessly plan to steal some of the ideas in hiring I do for Metaculus.
Thanks for keeping us humble, Yonatan :)
Not a senior and my current job is a very good fit for me and my goals, but this post makes me want to apply to CAE. :)
And I love the concept of a 1-2 day paid work trial. It would be incredible if this became more wide spread.
Love this post!
This seems quite a different bar from the "harder than hard Leetcode questions" in this previous comment https://forum.effectivealtruism.org/posts/KajGdDaz6rNQBg6Ke/effective-developers-1-month-update?commentId=2wH4p76ZLySPpyBxw , it would probably be a Leetcode Easy
Did the selection process change recently? If so I would be super curious about the reasoning behind that!
It hasn't changed – my thinking was something like "if you can do this easy problem in 30 minutes then you can do the hard thing in 2.5 hours" which I acknowledge is not the greatest proxy but still seemed useful enough to be worth sharing.
Thanks for the instant answer!
Is this job ad of the 'we're currently trying to fill roles x, y and z' or the 'we're just constantly trying to hire more software developery types and everything we say here will remain relevant indefinitely' variety?
Closer to the latter, though we have limited capacity for onboarding and therefore are not "constantly" trying to hire.
Would you help me with a bit of user research: May I ask where that question comes from?
For example, are you considering applying but only in a year and wondering if the position will still be open?
I've currently got a request in with LTFF so I could end up doing something totally unrelated to software development.
If that doesn't come through I would look at this again, though for the reasons I wrote about in the agencies sequence would want to learn more before rushing into it.
Also for the reasons I wrote about in that sequence I think it's probably better in the abstract for EA developers to work for a dedicated agency like Markus' if that becomes an option, though he's only in the early stages of proving the concept at the moment, so won't be hiring for a few months at least.