Yonatan Cale

@ Effective Developers
4795 karmaJoined Working (6-15 years)Seeking workTel Aviv-Yafo, Israel

Bio

Anonymous Feedback Form

(click "see more")

I'm happy to help

  • People running EA aligned software projects (about all the normal problems)
  • EA Software engineers (about.. all the normal problems)

Link to my coaching post.

I'd be happy for help from

  • People who think about global EA priorities:
    • Rewriting arxiv.org: Is this a high impact job?
    • Does EA need a really good hiring agency?
  • Funding my work would be nice

My opinions about hiring

A better job board

  • draft 1: 75% of 80k's engineering jobs are unrelated to software development. This board is the other 25%.

Tech community building & outreach

(apparently I'm doing some of this?)

  • Some ideas I'm working on or strongly considering working on
  • Are you talking to someone about working on strange neglected problems? Here's how I'd frame it

My opinions about EA software careers

  • An alternative career guide
  • Improving CVs (beyond what I saw any professional CV editor doing)
  • Getting your first paid software job
  • [more coming]

My personal fit for jobs

  • Owning the tech of a pre-production (helping with things around it, like some Product)
  • I really enjoy coaching, user research, explaining tech concepts and tradeoffs simply to non tech people, unclear if this will fit into some future job

Fun

  • I'm currently reading ProjectLawful and Worth A Candle [26-7-2022]
  • Big hpmor fan
  • I like VR
  • My shirts have cats on them

Contact details

How others can help me

  • Connections to EA aligned orgs that have software problems

How I can help others

  • Running software projects, specifically hiring
  • EA careers

Comments
918

Oh, looking now - my calendar sync is on but none of the Swapcard events appear in my Google Calendar (not meetups, not 1-on-1s) (I synced to Google Calendar before scheduling anything)

Do you have a way to debug it? Otherwise I'll disconnect and re-connect

Updates [Feb 2025] :

 

Two big things seemed to have changed:

  1. Things in the economy make it harder to find jobs (different things in different countries. Perhaps this isn't true for where you live)
  2. AI coding tools are getting pretty good (just wait for March 2022)

 

Also, I've hardly had conversations about this for a few years (maybe 1 per 1-2 months instead of about 5 per week), so I'm less up to date.

 

Also, it seems like nobody really knows what will happen with jobs (and specifically coding jobs) in the age of AI.

If someone can suggest an example task they don't think an AI will be able to do in 2-3 years (in the context of picking a career, ideally in software), I'm interested. (we can elaborate in the comments if you want)

 

Also, it seems like AI coding tools today can mostly do whatever a developer with 1 year of experience could have typically done (without AI tools), and I assume that in another 1 year this will be true for developers with 2 years of experience. This isn't literally true for all developers or all tasks, but I think it is one way to "measure" AI progress in a way that is relevant for picking a career (an imperfect measure, but there seems to be a lot of confusion).

 

Also, companies that are open to online applications seem to be spammed with LLM generated applications. The market will probably adjust to this somehow, but the current situation seems unusual.

 

With all that uncertainty, I find it hard to give career advice.

I'm tempted to say "I don't know".

But I also think that there are uncertain suggestions that are definitely worse than others, and it is really hard to find reasonable directions to get in to software alone, so here are some of my opinions, and others can happily comment if they disagree.

  1. The bar for getting a first job seems to have gone up, not down.
    1. The bar used to be (vaguely) 2-3 good side projects, or perhaps some impressive STEMy thing (which is common but there are so many special cases that I'm not sure how to summarize them).
    2. If your CV doesn't get replies and you don't have side projects, that is still where I'd start.
    3. I'm not sure if side projects have a different weight now that AI coding tools can help, but my guess is
      1. The same reasons that side projects were valuable still apply
      2. Perhaps if making side projects is easier then the expectation is to have more of them, or better ones
  2. Knowing how to use AI tools matters
    1. AI tools aren't a magic bullet, they still require skill, and hiring someone who knows how to use them - seems to me relevant to the person's expected productivity
    2. Not all companies moved to using AI tools (or perhaps they are using out-of-date tools), which seems crazy to me, especially given that often after I sit with someone and show them what exists - they change their mind. This might be a too-hot take, but I think companies that don't use AI tools will stay behind (if their tech velocity matters).
  3. Knowing how stuff works still matters
    1. My recommendation (for this stage of your career) is still "learn the stuff you need for your side project" which is very different from "learn anything that could be called basics". But still, there are things to understand.
  4. Working on stuff you're excited about still matters
  5. How much to use AI tools when learning?
    1. I'm not sure
    2. If the AI is producing code that you don't understand and also doesn't work and you don't know how to fix then this is probably pretty extreme into the "using too much AI" direction
      1. Remember that the reason for your bug might not be the last prompt you sent but rather something earlier in how the AI set up your project
    3. Using the AI to automate things that you know how to do, that you fully review and understand and often correct small mistakes - seems like definitely not too much (and perhaps ideal).
    4. Asking the AI what is the best way to do X, or trusting that it picked a direction that makes sense - is probably a mistake (as of Feb 2025). Official docs and tutorials are still much more reliable.
    5. When you don't yet know how to program anything (e.g before you made your first program, probably assisted by an online course), I probably recommend not using AI at all (unless you feel like you can actually review it reasonably, which seems hard to me)
  6. Skills that AIs don't currently have
    1. Currently an AI can't be "a responsible employee"
      1. Soft skills like "have a TODO list so you won't forget tasks that your manager asked for" or "tell your manager if something is taking longer than planned instead of hiding it and pretending everything is ok" seem still important
    2. Currently AIs aren't good at architecture
    3. More generally, I think a nice property of doing a side project is that it "forces" you to learn whatever skills the AI doesn't have in order to accomplish the goal of building something that works
  7. If you like leetcode...
    1. It seems like some companies are dealing with the flood-of-CVs by sending leetcode questions. I'm not sure if this will last (since people can cheat by using AIs), but maybe if you're able to blast through leetcode questions, that will distinguish you.
    2. I don't recommend this as a default path, but if you're excited about leetcode then excitement matters

 

I'm interested in more comments/opinions. I might comment more here myself

My new default backend recommendation, assuming you are mainly excited about building a website/webapp that does interesting things (as most people I speak to are), and assuming you're happy to put in somewhat more effort but learn things that are (imo) closer to best practices, is Supabase.

 

Supabase mostly handles the backend for you (similarly to Firebase). 

It mostly asks you to configure the DB, e.g "there is a table of students where each row is a student", "there is a table of schools where each row is a school", "the student table has a column called school_id".

It can also handle login and permissions just like Firebase.

 

I think learning to use an SQL database (like Supabase which uses Postgres behind the scenes) is somewhat harder than a no-SQL database (like Firebase), but SQL databases teach more relevant skills.

(FYI this is an opinionated take and some might disagree)

Updates from Berkeley 2025:

Google Calendar sync

I can't believe they finally added this feature!

See here: https://app.swapcard.com/settings

Don't forget you can manage your availability

Every time Zvi posts something, it covers everything (or almost everything) important I've seen until then

https://thezvi.substack.com/

Also in audio:

https://open.spotify.com/show/4lG9lA11ycJqMWCD6QrRO9?si=a2a321e254b64ee9

I don't know your own bar for how much time/focus you want to spend on this, but Zvi covers some bar

 

The main thing I'm missing is a way to learn what the good AI coding tools are. For example, I enjoyed this post:

https://www.lesswrong.com/posts/CYYBW8QCMK722GDpz/how-much-i-m-paying-for-ai-productivity-software-and-the

Backend recommendations:

I'm much less confident about this.

  1. If you want a working backend with minimal effort, because actually the React part was the fun thing
    1. Firebase (Firestore) :
      1. This gives you, sort of, an autogenerated backend, if only you describe the structure of your database. I'd mainly recommend this if you're not interested in writing a backend but you still want things to work as if you built an amazing backend.
      2. The main disadvantage is it will be different from what many databases look like.
        1. You could skip the "subscribe for changes" feature and only use the "read" feature and it will be a bit more realistic, but I don't actually recommend that.
  2. If you want to write backend in a way that will push you towards best practices, using a technology that is very popular (and specifically documented well for beginners)
    1. Django
    2. A big disadvantage is you'd need to learn some pyhton, and you might be reading this because you already built a fun React project and you want to get it done without learning lots of new tech
    3. DB:
      1. Postgres is the default normal DB for most use cases. SQLite might be easier for local development (on your laptop), and is missing some features that you'll almost surely not notice, so please don't care about them until a concrete problem comes up.

Things that automatically override this advice:

  1. If you're picking technologies for your startup or something then remember this wasn't written for you.
  2. If you have a senior developer who will mentor you if you work on some different technology that they know well, then probably go with them.

Tech stack recommendations:

Many people who want to build a side project want to build a website that does something, or an "app" that does something (and could just be a website that can be opened on a smartphone).

So I want to add recommendations to save some searching:

  1. React. You can learn react from their official tutorial, or from an online course. Don't forget to also learn any prerequisites they mention (but you don't need to invent your own prerequisites)
    1. If you want a React competitor, like Vue, that's also ok (assuming you're more excited about it).
      1. Choices I don't think are legit: JQuery, vanilla javascript.
        1. I can elaborate.
        2. (If someone sent you to "learn the basics" then I probably disagree with them. Yes it has value, but it's not the most effective path to a first job with mentorship nor to getting far in 5 years. There are other times to learn these things which are not "before your first job")
  2. For graphics (making your website nice)
    1. If you don't care about graphics, you can skip all that (including css)
    2. If you don't want to put effort into graphics but you want your website to look nice anyway, you can use Material UI or Bootstrap. They have ready components like a pretty button or a pretty checkbox, you just import them and only do minimal customization like "hey checkbox, you're disabled by default".
    3. If you think making a pretty website is really cool and is obviously the exciting thing to do: you can learn css, and perhaps Tailwind. This isn't a path I took myself and I don't know it well. Just remember - it's a higher priority to get a first project done even if bad and ugly. But as part of "looking for things that excite you to learn more", graphics might be one of them
  3. Deploying (having a url that you can send to your friends, or put on your CV)
    1. Firebase Hosting
      1. There are many fun ways to deploy websites, including React, I'm specifically recommending Firebase because you might want to use it to solve other problems too (which I might write about).
  4. Backend
    1. If you mainly wanted to make a website-that-does-something, I'd start with that before getting into backend. Once you reach this point on a real project, check if you actually want to continue here. The main important thing is that you work on something that excites you, so you have my official permission to leave your project "not perfect", without a backend (even if it needs one), if you think that part will be less fun.
    2. Main things a backend will give you (written here so you can check if this seems exciting or meh)
      1. User login
      2. Communication between users (for example if it's anything like a chat)
      3. Saving information that will still exist if you open the website in a new browser (for example, if you have a TODO list, you probably want to see the list both in your phone and in your computer)
    3. ((I might continue in a sub-comment))

My frank opinion is that the solution to not advancing capabilities is keeping the results private, and especially not sharing them with frontier labs.

 

((

making sure I'm not missing our crux completely: Do you agree:

  1. AI has a non negligable chance of being an existential problem
  2. Labs advancing capabilities are the main thing causing that

))

I also think that a lot of work that is branded as safety (for example, that is developed in a team called the safety-team or alignment-team) could reasonably be considered to be advancing "capabilities" (as the topic is often divided).

My main point is that I recommend checking the specific project you'd work on, and not only what it's branded as, if you think advancing AI capabilities could be dangerous (which I do think).

Load more