Hi, we’re JP and Sam, we work as software engineers at the Centre for Effective Altruism (CEA). We’re answering questions about our work on some of the projects many EAs use every day (including this Forum, Giving What We Can, EA Funds, and a bunch of other behind the scenes stuff).
Also, CEA and GWWC are both hiring software engineers, so it’s a good opportunity to ask questions about what it’s like to work here before you apply!
We’ll be answering questions on Tuesday, March 16th.
CEA and GWWC are both hiring software engineers. We build and maintain the tech that any new engineers will be working with (including this Forum), and we know what it’s like to work here. AMA!
JP previously worked at an aerospace startup detecting methane emissions with spectrometers on airplanes. He’s interested in table tennis, plants and economics.
Sam started at GWWC back in 2015, then built EA Funds from the ground up over the course of a few months while CEA was in Y Combinator. He has a past life in party politics.
Ask us about:
Working on a small team
Non-profit vs startups
Our tech stacks
NB: EA Funds is now largely an independent org, so Sam will generally be talking about what it was like working at CEA until very recently. However we still work closely together because we make a good team and are working on very related projects.
Are there any plans to improve the effectivealtruism.org website's design and content within 2021? I think it could be significantly improved to be more visually appealing, have better information architecture, and look and feel more ethnically and geographically diverse. I guess this ties in to the UI/UX design question I asked, since I think you might need someone with good UI/UX design skills to do the website redesign.
Thanks for this question! As the person who oversees content for that site, here are my thoughts:
EA.org has been a fairly low priority compared to various other CEA content projects, but that might change soon.
(For context, my role has been tied up in active community engagement work more than web content for a while, so I haven't been able to give the site as much attention as I'd like.)
I've made some small changes over the last year (removing and editing material in the introduction, updating the Resources page), but I predict that I’ll make bigger changes over the next six months, once we've published EA Fellowship material on the Forum and fully launched the wiki.
I'm not making any concrete commitments here — our priorities over that time period aren’t yet set in stone — but here are things I'd like to do, in case anyone has responses to these initial plans:
Change up the introductory material a lot. The current "Introduction to EA" essay seems good to me, but it's been a long time since we overhauled the rest of the intro content. Now that we have a centralized EA Fellowship, I'd want to encourage people interested in EA to read that material, and we may cross-post some of it to EA.org so that people don't have to leave the site to read further.
These changes will also lead to the Resources page changing quite a bit — right now, that page is centered on the EA.org intro material, but there are other org resource pages that have been updated more recently (like GWWC's), and I expect to draw heavily from those.
Change the "Get Involved" section — there are a lot of updates we could make here, but rather than having to make continuous edits to keep this up to date as part of a single website, we'd like there to be a dedicated resource where people can share concrete opportunities to get involved on a day-to-day basis. Some groups have created their own resources of this type (sometimes with a focus on local opportunities), so we're likely to draw from that in creating ours.
This project won't necessarily be owned by CEA; there's a chance that one group's resource list will develop into something we want to link everyone to, or it could be a better fit for the EA Hub.
My best guess is that this won't be hosted on the Forum: the "Get Involved [? · GW]" tag is nice, but doesn't allow much visibility into what an opportunity looks like, isn't very sortable, etc. Something like a big Airtable or other database seems better to me.
This list covers nearly all the content people read on the website — there are some old transcripts and blog posts archived there, which we'll gradually be cross-posting to the Forum as part of a general "cross-post everything to the Forum" project that will stretch across the year.
Overall, we're looking to de-emphasize EA.org and use the Forum as a portal to a wider range of EA content/opportunities, though that site's great URL and SEO mean we'll still want it to be a good landing page.
I’m glad there are some changes planned to the introductory materials and resources page. As you update this material, what reference class will you be using? Do you want effectivealtruism.org to reflect the views of the EA community? Engaged EAs? CEA? EA “leaders”?
I’m also curious if/how that reference class will be communicated on the site, as I think that’s been a problem in the past. For the past few years (until the modest changes you made recently) the resources page has been virtually identical to the EA Handbook 2.0, which (for better or worse) “emphasized [CEA’s] longtermist view of cause prioritization, contained little information about why many EAs prioritize global health and animal advocacy, and focused on risks from AI to a much greater extent than any other cause.” If it was a problem that the handbook “ostensibly represented EA thinking as a whole, but actually represented the views of some of CEA’s staff”, I'd think that problem is magnified immensely when that content is on ea.org.
2. Change the "Get Involved" section… This project won't necessarily be owned by CEA
Would CEA ever consider temporarily or permanently transferring the broader ownership of effectivealtruism.org to another person/organization? It seems like the site could easily be a full time job for one or more people. Beyond updating the content, someone could be A/B testing different types of content and sharing those lessons with the community, optimizing conversions, running marketing tests, doing SEO, publishing regular updates on traffic and engagement, etc.
CEA hasn’t really prioritized ea.org over the last couple of years and doesn’t want to commit to prioritizing it going forward (and I commend you for trying to give realistic expectations about your future priorities). But it really feels like a missed opportunity that the landing page for people who google “effective altruism” has been deprioritized for so long. With so many EAs looking for jobs and/or volunteer opportunities and $1.8 million in the EA Infrastructure Fund (which is now considering active grantmaking), it seems like CEA might be able to delegate this work to someone who could make substantial progress (even if CEA wants to "use the Forum as a portal to a wider range of EA content/opportunities" in parallel.)
(And ironically, effectivealtruism.org is down at time of writing. Just submitted a ticket via the EA funds page…)
In the future, I’d like CEA to take a more agnostic approach to cause prioritisation, trying to construct non-gameable mechanisms for making decisions about how much we talk about different causes. An example of how this might work is that we might pay for an independent contractor to try to figure out who has spent more than two years full time thinking about cause prioritization, and then surveying those people. Obviously that project would be complicated - it’s hard to figure out exactly what “cause prio” means, it would be important to reach out through diverse networks to make sure there aren’t network biases etc.
Although we haven’t yet commissioned that research, that’s still the spirit I want us to have as we create content. We are consulting with non-longtermists as we develop the content. I agree that it’s a shame that the EA.org resources are still quite similar to the handbook content. We’re working on a replacement which should be more up to date, but I’m not sure when we’ll make the relevant changes.
Would CEA ever consider temporarily or permanently transferring the broader ownership of effectivealtruism.org to another person/organization?
We’d consider offers (contact us), but I think we’re more likely to aim to develop the capacity to do this in-house rather than finding someone external to take this on (though I don’t want to make specific commitments).
1. I’m torn. On one hand (as I mentioned to Aaron) I appreciate that CEA is making efforts to offer realistic estimates instead of overpromising or telling people what they want to hear. If CEA is going to prioritize the EA Wiki and would rather not outsource management of EA.org, I’m legitimately grateful that you’re just coming out and saying that. I may not agree with these prioritization decisions (I see it as continuing a problematic pattern of taking on new responsibilities before fulfilling existing ones), but at the end of the day those decisions are yours to make and not mine.
Global Health is currently a glaring omission since it is the most popular cause in the EA community [EA · GW] and it is highly accessible to an introductory audience. And I think nearly everyone (near-or-long-termist) would agree that “Crucial Considerations” (currently second on the reading list after a brief introduction to EA) is quite obviously not meant for an introductory audience. It assumes a working understanding of x-risk (in general and specific x-risks), has numerous slides with complex equations, and uses highly technical language that will be inscrutable to most people who have only read a brief intro to EA (e.g. “we should oppose extra funding for nanotechnology even though superintelligence and ubiquitous surveillance might be very dangerous on their own, including posing existential risk, given certain background assumptions about the technological completion conjecture.”
You’ve written (in the same comment you quoted): “I think that CEA has a history of pushing longtermism in somewhat underhand ways… given this background of pushing longtermism, I think it’s reasonable to be skeptical of CEA’s approach on this sort of thing.” You don’t need to hire a contractor or prioritize an overhaul of the ea.org site to address my skepticism. But it would go a long way if Aaron were to spend a day looking for low hanging fruit like my suggested change, or even if you just took the tiny step of adding Global Health to the list of (mostly longtermist) causes on the homepage. I assume the omission of Global Health was an oversight. But now that it’s been called to your attention, if you still don’t think Global Health should be added to the homepage I doubt there’s anything you can say or do to resolve my skepticism.
2. Running EffectiveAltruism.org is just one example of work that CEA undertakes on behalf of the broader community (EAG, groups work, and community health are other examples). Generally speaking, how (if at all) do you think CEA should be accountable to the broader community when conducting this work? To use an absurd example, if CEA announced that the theme for EAG 2022 is going to be “Factory farmed beef… it’s what’s for dinner”, what would you see as the ideal process for resolving the inevitable objections?
Now may not be the right time for you to explain how you think about this, and this comment thread almost certainly isn’t the right place. But I think it’s important for you to address these issues at some point in the not too distant future. And before you make up your mind, I hope you’ll gather input from as broad a cross section of the community as possible.
Edit: The screenshots below no longer reflect the exact look of the site, since I went ahead and did some of the reshuffling of the "Key Ideas" series that I mentioned. But the only change to the content of that series was the removal of "Crucial Considerations and Wise Philanthropy, which I'd been meaning to get to for a while. Thanks for the prompt!
Though I'm a bit confused by this comment (see below), I'm really glad you've been keeping up the conversation! At any given time, there are many things I could be working on, and it's quite plausible that I've invested too little time in EA.org relative to other things with less readership. I'm glad to be poked and prodded into rethinking that approach.
I think it would be perfectly reasonable to have more than one article on this topic (as we will once the Fellowship content becomes our main set of intro resources). And I do plan to reshuffle the article list a bit this week to move the Global Health and Animal Welfare articles towards the top (I agree they should be more prominent). But I wanted to make sure we didn't have some other part of the site where this article isn't showing up.
As for future variants on our intro content:
You can see the EA Fellowship curriculum here. That set of articles is almost identical to what will show up on the Forum soon (I have several sequences published in "hidden" mode, and will publicize them once my project partner signs off).
To briefly summarize, there are eight separate "sequences" in the Fellowship:
Two on general EA principles + cost-effectiveness calculation (mostly explained through examples from global health)
One on moral circle expansion (mostly animal welfare)
One on longtermism, generally
One on existential risk, generally
One on biorisk + AI risk
One on epistemics and forecasting
One on "putting it into practice" (careers + donations + research ideas)
Once we've adapted EA.org to refer to this content as our default introduction, I anticipate we'll remove most of our current intro articles from prominent places on the site (though I'm not certain of which will remain).
I've already shared this list of articles with a lot of people in the categories "focuses on non-longtermist causes" and/or "has written good critiques of EA things", to get feedback on what they think of the topic balance/exact articles chosen. I'd also welcome feedback from anyone seeing this — and of course, once we actually publish the Forum version, I'll be hoping to get lots of suggestions from the hundreds of people who will see it soon afterward.
Thank you for making these changes Aaron, and for your openness to this discussion and feedback!
You’re correct, I was referring to the reading list on the homepage. The changes you made there, to the key ideas series, and to the resources page (especially when you complete the planned reordering) all seem like substantial improvements. I really appreciate that you've updated the site!
I took a quick look at the Fellowship content, and it generally looks like you’ve chosen good content and done a reasonable job of providing a balanced overview of EA (thanks for getting input from the perspectives you mentioned). Ironically, my main quibble with the content (and it’s note a huge one) is that it’s too EA-centric. For example, if I was trying to convince someone that pandemics are important I’d show them Bill Gates’ TED Talk on pandemics rather than an EA podcast as the former approach leverages Gates’ and TED’s credibility.
While I generally think the Fellowship content appears good (at least after a brief review), I still think it’d be a very big mistake to “adapt EA.org to refer to this content as our default introduction.” The Fellowship is for people who opt into participating in an 8 week program with an estimated 2-3 hours of preparation for each weekly session. EA.org is for people who google “effective altruism”. There’s an enormous difference between those two audiences, and the content they see should reflect that difference.
As an example, the first piece of core content in the Fellowship is a 30 minute intro to EA video, whereas I’d imagine EA.org should try to communicate key ideas in just a few minutes and then quickly try to get people to e.g. sign up for the EA Newsletter. That said, we shouldn’t have to guess what content works best on the EA.org homepage, we should be able to figure it out experimentally through A/B testing.
It generally looks like you’ve chosen good content and done a reasonable job of providing a balanced overview of EA.
Credit goes to James Aung, Will Payne, and others (I don't know the full list) who created the curriculum! I was one of many people asked to provide feedback, but I'm responsible for maybe 2% of the final content, if that.
Ironically, my main quibble with the content (and it’s note a huge one) is that it’s too EA-centric. For example, if I was trying to convince someone that pandemics are important I’d show them Bill Gates’ TED Talk on pandemics rather than an EA podcast as the former approach leverages Gates’ and TED’s credibility.
I think this is a very reasonable quibble. In the context of "this person already signed up for a fellowship", the additional credibility may be less important, but this is definitely a consideration that could apply to "random people finding the content online".
The Fellowship is for people who opt into participating in an 8 week program with an estimated 2-3 hours of preparation for each weekly session. EA.org is for people who google “effective altruism”. There’s an enormous difference between those two audiences, and the content they see should reflect that difference.
I wholly agree, and I certainly wouldn't subject our random Googlers to eight weeks' worth of material! To clarify, by "this content" I mean "some of this content, probably a similar amount to the amount of content we now feature on EA.org", rather than "all ~80 articles".
The current introduction to EA [? · GW], which links people to the newsletter and some other basic resources, will continue to be the first piece of content we show people. Some of the other articles are likely to be replaced by articles or sequences from the Fellowship — but with an emphasis on relatively brief and approachable content.
I certainly wouldn't subject our random Googlers to eight weeks' worth of material! To clarify, by "this content" I mean "some of this content, probably a similar amount to the amount of content we now feature on EA.org", rather than "all ~80 articles".
Ah, thanks for clarifying :) The devil is always in the details, but "brief and approachable content" following the same rough structure as the fellowship sounds very promising. I look forward to seeing the new site!
Aha! I now believe you were referring to this list:
That's a very good thing to have noticed — we did not, in fact, have the Global Health and Development article in that list, only at the "Read More" link (which goes to the Resources page). I've added it. Thank you for pointing this out.
For a bit of context that doesn't excuse the oversight: Of ~2500 visitors to EA.org in the last week, more than 1000 clicked through to the "Key Ideas" series (which has always included the article) or the "Resources" page (ditto). Fewer than 100 clicked any of the articles in that list, which is why it didn't come to mind — but I'll be happy to see the occasional click for "Crucial Considerations" go to global dev instead.
Part of my plan for EA.org has been some refactoring on the back end. Looks like this should include "make sure the same reading materials appear in each place, rather than having multiple distinct lists".
On the last point: our hosting provider Netlify had an outage affecting a subset of their customers that happened to include us. We were down for about 2 hours, which is the longest outage I can remember in the last 3 years.
As a good faith question, can you elaborate on your UX interests or concerns about the website or forum, if any?
It seems your background gives you both strong knowledge and you have repeated a similar question.
Basically, what can the UX do better? What does your ideal UX, or UX improvements look like? On another level, what are the goals it would achieve over the current design?
I use a variety of websites across a number of industries. I think there are drawbacks to slick and trendy websites. To make a point of it, sometimes websites that look old but "just work", can be great. They signal confidence and longevity. EA is far from a brutalist style or something, but the design seems like good "packaging" for the resulting EA experience (which frankly is a lot of reading).
It seems to work, be approachable and it's not clear to me why it's not "basically optimal".
I'll only comment on the effectivealtruism.org website, since this got 9 upvotes, and I have a few ideas on how the UI or UX could be improved. Ideally I would validate these problems and solutions more with surveys, user interviews, or usability testing, but since I don't have the time for that, I'll just come in with my assumptions. Here are a few problems I see, with a potential solution to each of them:
It would take a while for someone new to EA to know that they can (and probably should) try to find an EA group near them. They might never know that an EA group exists near them too from simply browsing the website. More broadly, EA being a community and not just a philosophy is something not highlighted on the homepage and in most pages.
More rationale: There is no mention of EA groups in the homepage, even if there are 250 of them around the world. A user would mainly find out about the existence of EA groups on the website if they happen to scroll and read #3 on the take action page. However, I think EA groups are one of the best ways people get more engaged and connected in EA, so I think it's important these are highlighted more.
Solution: A prominent header or section dedicated to saying there are 250 EA groups across x no. of countries around the world, and a prominent button or link to https://eahub.org/groups/ would be something I'd recommend.
Someone new to EA scrolling through the website will not see that the movement isn't just for people in the West, or for white people.
Solution: This is related to #1, but having some sort of world map, where people can see how EA groups exist all over the world, will make it seem that this isn't just a movement for the West, or white people. Maybe something like the one below that I've screenshotted and edited a bit from the EA Hub groups page.
Another solution: There should also be a few photos or testimonials where people of different ethnicities are shown. I think CEA's website and GWWC's website both do a good job of this.
3. I'm uncertain here, but I don't think the average new user would find a lot of value from browsing the EA concepts page.
Solution: Make the EA concepts link a lot less prominent.
4. Lastly, I'm also uncertain here, but if we want to make EA more broadly appealing, especially to design-minded / visual-minded people, I think they will value and find it more appealing if the website had slightly better visual design. And I think the community needs more design-minded people than we currently have, and I think it's fine to make the EA website more broadly appealing, at least based on its visual design. Overall I think the visual design of CEA and GWWC's current websites are better than the EA website. I think CEA's is really good currently, mainly because of their use of nice photos, especially of people.
There's some comments below. They verge on debate, but I am not trying to be contentious.
Comments on #1-3:
I think your points #1-#3 are more like along the lines of a specific "business choice". Importantly, choices have drawbacks. Promoting one aspect or feature in a limited space is a choice to use a limited resource.
Based on what you said, it seems like #1 and #2 are important and valuable. If one of EA's core activities are its communities, that should be emphasized and adding it would be an huge improvement. If EA's contributors are substantially from non-white people, this can't be neglected in photos.
Now, I personally like the idea of promoting communities and genuinely reflecting on the population. However, it also verges into what I might call "politics" or at least non-UX improvements.
Comments on #4:
Overall I think the visual design of CEA and GWWC's current websites are better than the EA website. I think CEA's is really good currently, mainly because of their use of nice photos, especially of people.
Below are the top of these pages and maybe what you are referring to:
The pages are excellent, but also are not what I would call "UX design" as I imagined.
They use visual principles that I see commonly on many websites made in the last 5 years.
To try to emphasize this, for a side project, someone I know created a similar page (similar, I think, in every sense, performance, design, and high quality photos) in a few hours and it took off. I might be brutalizing/offending UX designers here.
Also, the main difference in design is simplicity of the elements, in particular CEA design is an extremely simple and effective "landing page". Also, simple, GWWC, presents a strong narrative in a top down scroll. (I might be messing up terms of art.)
The current EA website is busier, having a few more elements, does not really use scrolling, and has more words. Again, as in my previous comment, it's not clear this is a bad thing and I might prefer it.
The theme of this comment is that your reply is different than what expected. I might have expected to learn of a "UX improvement" as some strictly better design choice ("stop using garish colors"), or a better mode of use in some sense ("swiping right on Tinder").
I agree that design (e.g. "minimalism" or something) might help EA and I wanted to learn what this is.
But my bias is to avoid technological solutions unless it's clearly needed.
Also, if you have a distinct goal, "we need more non-white people in photos as it better reflects and welcomes the actual community", I prefer to just state it instead of risking conflating a distinct objective.
Also, really going off topic here, I would like to know more about your experiences with your ethnicity if you have them (note that technically I might have the same ethnicity as you).
You seem to have a lot of thoughtful content and this would be an interesting perspective.
I don't have the energy to fully engage with these, but maybe we just misunderstand each other in terms of what we define as UI/UX design. To me, and many other UI/UX designers, the UI/UX design is the end-to-end experience of using a website, product, or service, so I think everything I pointed out still falls into the realm of UI/UX design. It's not just about better interactions. And I think content choices / tradeoffs still can be considered part of the UI/UX design.
Regarding my ethnicity, I have lived in the Philippines for pretty much all of my life, but I am of Chinese descent. I lead community building work for EA Philippines, and have heard a few times from Filipinos that the EA and 80K websites look very Western or White and not as applicable to them. Having non-white photos doesn't fully solve that problem, but we can take steps towards solving it.
I don't have the energy to fully engage with these, but maybe we just misunderstand each other in terms of what we define as UI/UX design. To me, and many other UI/UX designers, the UI/UX design is the end-to-end experience of using a website, product, or service, so I think everything I pointed out still falls into the realm of UI/UX design. It's not just about better interactions. And I think content choices / tradeoffs still can be considered part of the UI/UX design.
The control or selection of specific content, especially the choices you illustrated, being under the purview of UX seems improbable.
It unworkably expands into decisions that are basically always controlled by other parts of the organization (e.g. exec).
To see this another way with examples: we would not accept exec blaming their UX designers for racist or inappropriate content. Similarly, a board would find it ridiculous if a CEO said their "community groups" initiative failed because their UX designer decided it did not belong on the front page.
I know someone who worked adjacent to this space (e.g. hiring and working with the people who hire UX designers).
Someone presenting a UX design that then comprised of the choices in your upper level comment would risk being perceived to be advancing an agenda.
Also, yes Execs can blame whoever wrote the racist or inappropriate content (if it was released without anyone else approving it), which in a big company would be a copywriter or content designer, but in smaller companies could be a UI/UX designer writing that content.
Oh and I don't think it's ridiculous to think that an initiative is failing because a designer decided to not make it prominent enough on the website. Making it more prominent could help, and that is something the designer has a say on.
I guess something I'll agree on here is that CEA contracting a UI/UX designer who isn't that familiar with CEA's goals and the EA movement might totally miss out on the need for EA being a community to be highlighted more in the website.
But that doesn't mean a UI/UX designer doesn't have to try and surface what the most important things to include in a webpage are. A lot of designers create the designs of entire websites, based on talking to users and understanding the organization's goals. Each section's copywriting and layout is an important design choice.
Yes, the executives in an organization have a say in the website's content and design, but that doesn't mean the UI/UX designer can't have a say in that.
A related field to UI/UX design is Content Design and Copywriting. Some UI/UX designers do both content design and copywriting too. Wouldn't you at least say that those choices of what content to include in a website is a content designer or copywriter's job? (Yes, other people have a say in it, but that doesn't mean the ideas can't come from a content designer too.)
For content, we have been making adjustments, but you’ll want to talk to Aaron about anything more. For the tech design, the site suits its current purpose. It’s fast, so it ranks well on SEO, and it points to a good collection of resources for people who want to learn more, so I think it’s not a current priority for us to invest a lot of time in making big changes; other projects (e.g. changes to the Forum) are a higher priority.
That said, we do have plans to rework it eventually. We do want to pick some low hanging fruit in broad outreach, and a site that people will visit anyway with the question, “what’s this about” seems low hanging to me.
Who works on the UI/UX design of your platforms (i.e. the Forum, EA Funds, Giving What We Can)?
Has CEA ever considered hiring a UI/UX designer (even just for a short period of time) to improve the interface and user experience of any of your platforms?
How open would you be to hiring one within the next year? Why or why not?
I'm not saying that the UI/UX design of any of the platforms are bad - they're pretty alright in my view. But I could imagine that a UI/UX designer, even a contractual one, can do good user research and testing to uncover more pain points or opportunities, and figure out how best to solve them, or help design useful, usable, and delightful future features/platforms that the engineers would build.
So I wonder if CEA might benefit from a contractual one, especially if you're building new features/platforms. I have UI/UX design experience, although I'm not currently available to apply for a UI/UX design position at CEA, but others might be interested to apply!
First: definitely, yes we’ve considered contracting with a designer. But before I say more about what situations it works for, first a word about specialization. There’s currently one developer working on the EA Forum (not counting LW) and one developer for all of GWWC and EA Funds. With such a small team, everyone’s very generalist. Just like there’s no one specialized in DevOps, there’s no one specialized in design either. Hiring for such a role without capacity to build support for their work would be a mistake. See thesesurveys (epistemic status: quick google search) for some evidence that few places have a 1:2 designer:engineer ratio. So you end up with developers doing design. Both Sam and I have spent a lot of time on skilling up our design, learning tools like Figma, and stealing from people who are better than us.
All of the above about specialization doesn’t really address the point about contractors, hence why we’re more open to that. Also note that this is JP writing his personal opinion, but hiring strategy is set by Ben West and CEA broadly.
Yup it makes sense that CEA is mainly considering contracting a UI/UX designer rather than hiring one. I'm glad to hear that you and Sam have spent a lot of time skilling up your design and learning tools like Figma!
For GWWC I'm very interested in speaking to people with UX experience and capacity who have a deep understanding of what we're trying to do. At this stage it isn't in our budget for a full time role but likely something we could find for a contract role (and would love any input from UX people who don't have capacity for contract role or full time work).
For EA Funds this is something that we’re planning to do very soon. It’s something that’s always on the backburner (as shipping features always tends to take priority), but now that there’s a new website that has much better global control of component styling, this is something where I think we can get some easy wins.
I agree with Sam that most of the difference between working at a typical tech company and CEA is the size. Even most startup employees probably work at startups 10-100x the size of CEA. Unlike Sam I have worked in the tech industry, but I when I was hired at Kairos, I was employee #6, which I think is unusually early. Relative to Kairos, I think my experience at CEA has differed in the following ways:
I bring more of myself to work. CEA really wants to know what I really think the best thing to do is, and I get to be really open about what I think that is, and all the reasoning I have. I can speak my native EA-language here (nobody blinks an eye when I talk about expect value).
I'm more in charge of my own projects here. Kairos gave me a lot of autonomy, but CEA gives me even more.
The converse of that is that Kairos had more mentorship from people more experienced than me. I think Sam and I have gotten pretty good at this, but Kairos had one incredibly impressive software engineer in particular who I learned a lot from.
It depends on which tech company, but I know a lot of people working for companies that they think are fine, but not so great that their jobs are doing much good directly. This is definitely the best perk of the job, which now that I'm writing it sounds trite, but is my honest feeling.
I’ll first caveat by saying that I haven’t worked at either a typical startup or big tech company.
I think that there’s probably not a huge difference between CEA and a very early stage startup. I think that the most relevant dimension is just scale – currently we’re two devs working on a bunch of different projects, which means a high degree of autonomy and ownership over the code in a way that I expect is similar to a lot of small startups. We’re obviously a more mature org though, so we do have a lot of processes in place (CI, a dedicated Operations team etc) that you wouldn’t find at a really new startup. So, in some sense it’s the freedom and ownership of an early stage startup combined with the security and flexibility of an established org. It also means that there’s a lot of time spent on interacting with users (as opposed to just being siloed in your text editor), which I really like, partly because this is a great community and it’s really nice to talk to EAs who use your software, and partly because it helps you to get better at thinking about product development and making things that serve the needs of your constituency really well.
Another thing that’s a bit strange about CEA as a non-profit, and as an EA org, is that the approach to scaling is a bit different. In a for-profit startup, your aim is to grow as fast as humanly possible (at least, when you hit product-market fit). We’ve deliberately avoided that strategy (at least for now), in large part because it doesn’t seem prudent to scale something like the EA community as fast as possible, because scaling fast trades off pretty hard against the fidelity of your message and the existing culture of the community. This could obviously change in future, but historically it’s been part of our approach. This in turn means that the challenges are a lot about understanding how to build solid products that work for EAs, rather than how to run huge k8s deployments etc.
Have any of you heard of EA Forum users reporting that they think they spend too much time on the forum, and want to find ways to cut back on their time spent here?
Personally speaking, there was a period of 1-2 months recently where I must have spent an average of 30 minutes per day or 3.5 hours per week on the EA Forum, and I felt this was a lot of time, possibly more than I wanted to. It's nice to be able to get up to speed on the latest EA content and writing, but sometimes it cuts into my working time, and sometimes I wonder if it's better I just pick up an EA-relevant book or paper that has stood the test of time more.
I wonder if others feel the same, and whether EAs need to be wary of how much time they spend on the EA Forum too, and find ways to cut back.
The Forum is definitely not designed like facebook. It tries to respect your attention, and doesn’t have little red badges constantly popping up. It’s geared towards long-form content instead of hits of novelty. I can see who comments on the Forum, and have occasionally noticed people who I thought could probably take more breaks. However I think more common are people who drift away from the Forum because it’s probably less engaging than ideal. I do think the Forum is much better for you than the obvious alternatives, and don’t want to force people to use more conscious effort to stay on the Forum.
Makes sense! I agree that it's probably more common for people to drift away from using the forum rather than people using it too much, and therefore it is likely good to find ways to get people to come back for good long-form content here.
I don’t think I can give most of my thoughts about the future of EA discussion without a post-length treatment. That said, when I look out at the rest the world, and I look at the EA Forum and other EA discussion spaces, I’m really happy with how we compare. The future will be determined by the delicate balance between keeping our epistemics much better than the surrounding world, while also not growing stagnant and insular.
I definitely want the Forum to expand its reach beyond the post-comment-vote system we’re currently using. I view Question posts as a step in this direction. Stack overflow seems very meaningfully different from Reddit, despite them both being text-based. That said, I’m somewhat conservative in how much I think we should be trying to reinvent online discussion. LW is definitely trying to do this, and we do use their experiments (cf our interesting tag-relevance system), but I think there’s more potential for already-proven features that we haven’t added yet, like reactions perhaps.
I think the biggest challenges we face are related to capacity rather than specific skills. So, a really productive fullstack dev could have a huge impact just by virtue of helping us to ship things faster, and cover more surface area.
That said, a few things that I think would be great to have more of:
Experience with analytics/measurement/telemetry and using the insights to drive development of new features or content
Exceptional UX/UI chops, to give sites a visual lift and ensure that user flows through our sites are really good
A dedicated product management skillset, conducting user research and using that to inform subsequent iterations of each product
The Forum is Mongo, Node, React app written in Typescript. We started off on Meteor, which informs a lot of the design patterns, but have recently finished the process of removing it, which has greatly sped up build times. The project was initially build on top of the Vulcan framework, which was a relatively immature framework attempting to provide an even more full-service bootstrapping experience than Meteor. We got off of it several years ago, but it still informs our pattern which you might call UI-inclusive schemas.
We use GraphQL as our API layer, which you can explore here [? · GW].
Material UI provides the styling framework. (This is the framework, not the material design philosophy, which we differ quite a lot from.)
Our Editor is a customized CKEditor 5 editor
I'd highlight two pain points that I feel:
Our testing story is pretty poor. So much of what we do is hard to separate from the state of the app that it's hard to make good, non-trivial unit tests. I think this is funged against by good type checking with TypeScript, but my inner Gary Bernhardt is disappointed.
Deploying to AWS takes way too long. I believe this will be fixed soon.
 "We" here being inclusive of the LW team, with whom we keep up to date.
TL;DR; – For Funds/GWWC, the frontends are React (via NextJS) running on Vercel (previously a React SPA running on Netlify). The backend is a bunch of Node.js microservices running on Heroku, connected to a Postgres DB (running on RDS), and wired together with RabbitMQ. We’ve migrated most things to TypeScript, but a lot of the backend is still JS. A lot of business logic is written in SQL/plpgSQL.
EA Funds and GWWC have been on the same platform since 2017, and share the same backend.
Down the React rabbithole a bit: We connect to the backend using Apollo to manage GraphQL queries, we use Immer for immutable state management as needed (though we don’t use Redux or any other global state management). UI components are provided with Material-UI.
I used to use Netlify to host the EA Funds/GWWC frontend, but we’ve moved to Vercel for their first-class NextJS support.
The backend is a collection of quasi-microservices running on Heroku, all written as Node.js apps:
An Express web server that handles our GraphQL endpoint, as well as webhooks/callbacks for various integrations (e.g. Stripe payments).
The GraphQL endpoint is provided by Postgraphile, which is essentially a way of generating a GraphQL schema by reflecting over our Postgres DB. This means that we get to leverage the data structure, foreign key relationships, and type safety of the existing database for free in GraphQL. This approach means that a lot of business logic (especially around user-facing CRUD and reporting) are written directly in SQL, implemented as views and functions.
The services are connected by a RabbitMQ message bus. Database events (e.g. “db.payment.updated”) and webhook calls (e.g. from payment processors) are pushed onto the RabbitMQ bus , so that other services can react to these events. So, if a user inserts a new payment, the Payments service can communicate with the appropriate payment processor, and when the payment status is updated as succeeded, the Emails service can send out a receipt.
The Postgres DB is hosted on Amazon RDS.
In addition to EA Funds/GWWC, I’ve also helped set up a bunch of other sites used by CEA (e.g. EffectiveAltruism.org, EAGlobal.org, CentreForEffectiveAltruism.org, the GivingWhatWeCan.org homepage). Most of these are currently using the Metalsmith static site generator, which generates static HTML files that are served via Netlify. This setup has been fantastic for performance and reliability, but eventually these sites will be ported over to the NextJS monorepo for better maintainability.
In terms of pain points, it’s generally been a pretty solid system. The biggest challenges have been maintenance. E.g. we’ve migrated to NextJS, partly for the improved performance and DX, but also because the previous SPA was running an outdated version of React, and because of the way the boilerplate I used was architected, upgrading to a more modern version (which many packages now require) was more trouble than it was worth. Similarly, all the static sites have historically been hosted in their own repositories, which has meant that they all have slightly different ways of doing things, and improvements made to one don’t propagate to the others. Hence, the move to a monorepo, where we can share components/logic between sites. Also, the more I use TypeScript, the more I hate using vanilla JS, so I guess that’s something of a pain point in the parts of the backend that haven’t been migrated yet!
We run a pretty lightweight version of Agile. We’ve tried doing more or less of the ‘canonical’ Agile/Scrum methodologies at various points, and settled on what we have because it works for us. Basically, JP and I have a weekly meeting where we set sprint goals, broken down by number of story points (where one story point = ~ half a day of productive dev work). These tasks are added to a kanban board that we update throughout the week as things progress. We do daily check-ins with each other, and with our respective managers, to discuss progress/challenges etc. We also do a couple of pair programming sessions each week.
Tasks are triaged based on discussion with our respective managers, taking into account what seems most important to do next (itself a combination of user feedback, outstanding bugs and feature improvements, org strategy, events in the world etc). We have a loose product roadmap that informs where we expect to be going over the next quarter and year, but we don’t make concrete plans for more than a quarter away.
We’ve iterated a lot on this over the past few years, and I think that we’ve found something that works well. I like that the system is lightweight, and strikes a good balance between giving sufficient direction for what to work on, while allowing for a lot of flexibility and not getting mired in process. It also forces us to make reasonable time estimates about what we’re doing, and these are sanity-checked by another dev, which helps avoid scope creep, or underspecified tasks. Regular check-ins make it easier to stay on track – I find it very motivating to be able to show someone else the cool thing I’ve been working on and get feedback.
I think that as we grow we’ll probably need to systematise things more. At the moment, it relies on JP and I having worked together for a long time and being very comfortable with each others’ working styles. I could imagine that as we take on additional developers, or that as the projects we’re working on diverge more significantly (as I’m now focusing almost exclusively on EA Funds) that we’d need to make some changes, probably in the direction of more concrete progress reports through the week.
For EA Funds (and the pledge management parts of GWWC), that’s me. For the Forum it’s JP. We’re both devs first and foremost though, so we get a lot of input from other people (Aaron who manages the content side of the Forum, Luke Freeman who runs GWWC, Jonas who runs EA Funds, Ben West who manages the Forum team and who is a former tech startup CEO etc)
Have any of you ever used Personas or the Jobs-to-Be-Done framework to help clarify who you are targeting with a feature, or what pain point you are trying to solve? If yes, how were your experiences in using those?
The CEA events team uses a combination (or variant) of these frameworks to design a "canvas" for each event. I personally use both here and at prior jobs. I'm a strong advocate for knowing your users in general, but am less opinionated about those specific frameworks.
Some thoughts on each:
Personas can end up becoming an end in themselves. You can get sidetracked into creating these elaborate back stories and forget that you're really just trying to figure out if the widget should be blue or green. It can also be tempting to use multiple personas as a justification for complexity (e.g. because you create one feature per persona instead of one feature for everyone). But there are definitely circumstances in which you are serving a genuinely diverse audience, and it makes sense to segment the audience. I also like them as a way of encouraging focus on the most important things – you can ask how (persona) would want you to prioritize. I usually see them more as an adjunct to some other process. E.g. if you are mapping out your marketing channels, you might create one set of channels per persona.
Jobs to be done generally seem more helpful to me because it keeps your focus on what the user thinks is most important. Sometimes talking about the users pain's makes more sense, e.g. I hire an accountant to reduce audit risk, rather than the "job" of filling out tax forms. I tend to think about pains when first developing a product (because if you aren't solving some huge pain point probably no one will use your product) but jobs later in the product lifecycle (because people are already using your product so it's worth thinking about minor improvements).
Not really (we’ve sporadically used Personas in the past, but not very systematically), but I’ve actually just been doing more reading on this. I expect that (at least for EA Funds) Jobs-to-Be-Done will be a big part of our user research project going forward.
Yeah I think Jobs-to-Be-Done has been getting more popular recently, and is the more useful one of the two frameworks. It's possible to mix the two too so you have one or more personas and you list their jobs-to-be-done.
(My personal opinion, not trying to speak for Sam or JP.)
People have scraped public Forum data before [EA(p) · GW(p)], and the results have been interesting and informative to readers. As long as the scraping only pulls information someone could find by other means, I find it hard to imagine a scenario where it would be problematic.