Backend Engineer
For millions of teams working in dozens of industries, day-to-day business gets done on the phone. So why — despite the huge leaps we've taken in design and usability — does most business phone software still look, feel, and act like it was born in the 90s? OpenPhone is changing that.
We’re a new type of business phone with a mission to help people communicate better and be more productive.
We’re backed by Y Combinator and some of the best venture firms around including Tiger Global, Craft Ventures, Slow Ventures, and others. We take pride in providing an exceptional customer experience and a product people love, which is why we’re excited that our customers have rated us the #1 VoIP Provider on G2.
OpenPhone is the modern, sophisticated answer to the clunky, outdated phone systems that have been slowing down businesses for years. With thousands happy customers and several rounds of funding in just five years, it's safe to say we're onto something big.
As a Backend Engineer at OpenPhone, you will spend most of your time building moderate components in a team environment.
About the Role:
- The engineering team comprises five engineering squads with frontend and backend engineers, a product manager, a designer, and QA.
- Our engineering teams work in two-week cycles, communicate mainly via Slack, and are committed to remote, agile development. When ready, you’ll create and send a pull request with tests and tag your team for review. We have invested heavily in local Docker development and cloud-based continuous integration and delivery so you can get set up fast. Your development branch can be easily tested on environments that closely match production.
- You’ll work autonomously for the most part, and we trust you to get work done when/where you can be productive.
- You’ll work with other engineers to maintain and improve standards and best practices.
Technical Stack and Tools:
- Our backend is built on Node using Typescript.
- We use Kubernetes on AWS to orchestrate our infrastructure setup and deployment.
- The overall architecture is event-driven microservices with RabbitMQ at the center of it.
- We use a variety of databases for different purposes: Postgres, Mongo, Elastic, and Redis.
- Communication Tools: Linear and Slack
About you:
- You likely have 3+ years of experience and are looking for a position where you can make a large impact.
- Experience with object-oriented languages like Java or C# and Typescript/Node.
- You take ownership of your work and understand the importance of communication.
- Attention to detail is essential to you, and you take pride in your work.
- You are intentional about how your work impacts customers, the community, and each other. You practice empathy and generosity.
- You are curious. You support your teammates and customers through the continuous pursuit of knowledge. You’re a lifelong learner.
- Your code is a pleasure for your teammates to read and understand. When working in the codebase, you leave things better than you found.
- Experience with relational databases and non-relational databases.
- Passionate about writing tests.
- Bonus experience:
- System architecture design
- Messaging systems such as RabbitMQ
- Elastic
Engineering Team Culture:
Our team is curious, ambitious, and dedicated to their crafts. We're a high-trust team with a strong bias for action.
We follow a two week sprint agile process. Our stand-ups are done asynchronously over Slack, minimal synced sprint check-ins, and weekly Engineering Demos. Linear is also used for tracking projects, tickets, and to assign tasks.
Engineers are expected to have testing coverage for every piece of code you write in the form of integration tests, unit tests, and we bake this into the CI/CD process.
If you're looking for a place to do your life's work, get in touch. We'd love to hear from you!
We are committed to creating an inclusive workplace that values diversity. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.
As a fully remote company, we thrive asynchronously as a team. We are curious, ambitious, and dedicated to our work. We value trust above all else, and have a strong bias for action. If you're looking for a place to do your life's work, please get in touch. We'd love to hear from you.
And remember, there's no such thing as a 'perfect' candidate. We're looking for optimists with grit and determination, who are excited to face the challenges of a growing startup. OpenPhone is the type of company where you can grow, and we encourage you to apply for this role even if you don't think you meet all the requirements.
We are committed to creating an inclusive and diverse work environment. It is important that you are able to bring your authentic self to work every day. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.