Web Services Engineer
Date Posted
08 Jun, 2023
Work Location
Salary Offered
$100000 — $200000 yearly
Job Type
Intro
Expo's mission is to make the ultimate way everyone writes application software and delivers it to users. There are two main parts to what we work on: the Expo framework, which is free and open-source and lets developers write universal native apps, and Expo Application Services (EAS), our paid, managed cloud services for building and testing apps, sending updates, and other tasks developers need to do to operate apps.
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 don't require a CS degree but 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.
Benefits
- Competitive compensation (salary, equity)
- Healthcare benefits
- Flexible schedule and location
- $6,000 equipment budget for computers, phones, other equipment you need to be most productive
About Expo
![Expo Logo](https://bookface-images.s3.amazonaws.com/small_logos/3628951a3d0760d9fcc3099d4360ec712d6f72b3.png)