Back to Careers

Web services engineer

Behind EAS are web services and infrastructure that serve both developers and their end users. Developers rely on EAS to build their own apps and making our developer-facing website and API server reliable is one of the ways we build developer trust. And we also serve billions of requests per month to end users of apps made with EAS. We're looking for engineers to come work with us on EAS's web services.

Responsibilities

The responsibilities of this role are to design, implement, and operate new developer-facing features as part of these services. You'll also work on internal-facing improvements that make it easier for us to manage our services, optimize speed and costs, and generally make it enjoyable to work at Expo.

You'll need to write software that runs correctly and efficiently and be responsible for its uptime and performance. Each engineer at Expo is responsible for the code they write, including adding tests and monitoring and being part of their team's on-call rotation. We continuously deploy our website and API server. Every commit you merge to the main branch goes out to millions of people the same day.

Skills and experience

The ideal candidate to come work with us on EAS would be comfortable and experienced with writing services. You'll need to evaluate the performance, security, scalability, and cost of possible solutions and choose pragmatic trade-offs. You'll write a lot of TypeScript (Node.js) that serves many millions of requests each day and need to make technical decisions that perform well as our services grow.

You should have experience writing high-traffic web services that are robust, self-healing, and easy to monitor. Generalist knowledge is useful, such as being familiar with how databases like Postgres and caches like Redis work, the details of modern HTTP and networking, and Node.js under the hood. Also important are writing structurally sound code, diagnosing and analyzing bugs, and understanding the abstraction layers above and below the one you're working on to make trade-offs that serve us well for a long time. It is also useful to be at least moderately familiar with managing containers, load balancers, CDNs, and other web infrastructure.

Being familiar with how code review works at the largest web companies is also useful. We have a somewhat similar cadence.

We expect you to have the knowledge you might learn from undergraduate courses on OSes, databases, and distributed systems. We also expect a strong fundamental understanding of programming and that you're comfortable writing lots of code.

Qualities that make you a good fit

You:

  • Can independently make decisions and come up with new, effective ideas on how to improve the process of creating and distributing application software.
  • Have experience writing services that stay healthy, even when you've moved on to another project.
  • Are able to quickly respond to your coworkers in order to make sure Expo can make quick, continuous progress.
  • Are good at getting unstuck and helping others get unstuck.
  • Read the source code of the libraries/runtimes/browsers/compilers you use to learn what the documentation doesn't answer.
  • Understand why well-designed tools and APIs are important, and can build well-designed and well-tested features quickly.
  • Are good at effectively communicating your ideas and code through documentation, GitHub comments, blog posts, and other writing.
  • Understand the problems and aspirations of Expo's users, which are problems you think of on a daily basis.

Why work at Expo

Every day, millions of people use apps made with Expo — from public health apps to food delivery apps to dating apps to bitcoin wallets. Great organizations like Brex, Coinbase, Flexport, RBI, SpaceX, and Sweetgreen trust Expo to help them build top-notch application software in record time. When we make improvements to the Expo libraries and tools, hundreds of thousands of developers benefit and build better software faster for millions of their users.

Everyone on the Expo team works on something important because we have a small team and we do a lot of things. We strive to create an environment where everyone is set up to do their best work. Each person on the team has a lot of flexibility and autonomy to work the way that works the best for them.

Perks and benefits

  • Competitive compensation (salary, equity)
  • Healthcare benefits (U.S. only)
  • 401(k) retirement plan (U.S. only)
  • $6,000 equipment budget for computers, phones, other equipment you need to be most productive
  • Flexible schedule
  • Unlimited vacation (current employees average 17 days excluding holidays per year)
  • 12 week parental leave
  • Continuous learning budget
  • Conference speaking opportunities
  • Regional meetups

Where we can hire

Expo is a distributed team that works mostly during North American hours. We are hiring across the United States (U.S. citizens, permanent residents, and H-1B transfers).

Interview process

  1. Email us

    • Send a message that stands out. Include your resume, any relevant social links, and share with us why you're excited about Expo and how you would make a difference here.
  2. Introduction call

    • You'll learn about our team and we'll learn about you to see where you'd fit in. We'll also discuss your experience and what you're looking for in your next role.
  3. Interview with the team

    • You'll meet with a few members of the team to discuss your experience, technical skills, and how you'd approach the role. Typically this is done over four 45m video calls that occur over a few days.
  4. Offer stage

    • Once we've decided to move forward, we'll make you an offer. We'll discuss the details of the offer and answer any questions you have.

Ready to apply?

If you're excited about this role and think you'd be a good fit, we'd love to hear from you.

Apply Now