Senior Software Engineer (Backend)
Your work as a senior backend engineer will empower thousands of Appcues customers to improve their SaaS products with unique in-app experiences such as onboarding guides, checklists, and surveys, without writing any code. Our customers (think Toast, OpenTable, ProfitWell, IBM and other amazing companies) depend on our backend services to deliver these in-app experiences to 100s of millions of users.
About the role:
- On a typical day, you may help a customer with an issue, build a feature, plan a technology migration, add a 3rd party integration, or mentor another engineer.
- On any given project, you will develop or refactor distributed data services and APIs written in Elixir or Node and provision, tune, and manage data in DynamoDB, PostgreSQL, or whatever is needed.
- You’ll collaborate with engineers on your team to maintain and improve our service and storage strategies and tech stack. Together you will also instrument, monitor, and ensure the performance and availability of the Appcues platform.
- Our engineers are involved in all stages of development, including conception, design, and user-testing, with an eye toward rapid, agile iteration.
- Our engineering teams are co-located and work in one or two-week iterations, managing their work via Github, Clubhouse, and Slack. When you are ready, you’ll create and send a pull request with tests and tag your team for review. We use CI to deploy to production and are investing in our pipelines and staging environments to make them more robust.
- You’ll collaborate across the organization with design, customer success, technical support, and sales to translate customer needs into high-quality code.
You might be a fit if:
- You have designed and built modular backend services to support the growth of distributed applications.
- You possess a solid understanding of data storage and processing technologies.
- You have led the delivery of multiple backend projects.
- You are comfortable working with Linux, AWS or other public clouds and believe in a DevOps mindset.
- You are an excellent communicator who can write and speak with empathy for our customers. You can clearly describe the user and business impact of your technical decisions. Your code is not only a pleasure for customers to use, but for other engineers to read.
- You have experience with functional programming, or a desire to learn. We can teach you Elixir.
- You are comfortable debugging distributed systems and are relentless getting to the root cause. You are also not shy about reaching out to others for advice or pairing when stuck or impeded.
- You are energized working in a highly collaborative environment at a customer-driven startup.