Tools we use
- The engineering team currently has about 20 people across four small teams. We are looking to hire a Senior platform engineer for our platform team, which today has three engineers, and a product manager.
- Our platform team is responsible for crafting scalable services that handle millions of requests from our customer’s SaaS products. They also manage RESTful APIs that process requests from our customer-facing React applications for personalization, segmentation, and targeting. The team collaborates to instrument and monitor the performance and availability of the Appcues platform.
- On a typical day, you may build a feature, tune a data pipeline, plan a technology migration, add a 3rd party integration, help diagnose a customer issue, drive consensus on a new practice, or collaborate with another engineer.
- On any given project, you will develop or refactor distributed Elixir or Node services and provision, tune, and manage data in DynamoDB, PostgreSQL, or whatever is needed. You may wear the hat of an engineer, technical lead, or mentor as required.
- Our Platform engineering team follows a Kanban flow, communicates via Github, Slack, and Zoom, and is committed to remote, agile development. 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 continuously invest in our pipelines and staging environments to make them more robust.
- Our engineers are involved in all development stages, including conception, design, and user-testing, with an eye toward rapid, agile iteration. You’ll collaborate with engineers across teams to develop new capabilities in our platform.
- You’ll collaborate across the organization with design, customer success, technical support, and sales to translate customer needs into high-quality code.
- You can comfortably work 9-5 Eastern Time. While we are a 100% remote-1st company and you can connect from anywhere, we require 8 hours overlap to collaborate effectively with the rest of our team members who work these hours.
- You have contributed to the delivery of large backend projects. For example, systems that ingest and process data at a significant scale, manage elastic workloads using queue/worker/streaming architectures, or migrate to more current technologies while maintaining high availability.
- You are comfortable working with AWS and Linux and believe in a DevOps mindset.
- You have experience with functional programming or a desire to learn. We can teach you Elixir, which is the foundation of most of our Platform services.
- You have sound judgment across back-end frameworks and are familiar with various databases and data processing technologies. You are pragmatic, not dogmatic, and are aware of the strengths & weaknesses of your tools.
- You enjoy breaking down complex problems into small tasks and PRs to deliver value safely and incrementally.
- You have a growth mindset that applies to yourself and your team. You are excited to learn and show how to improve team standards, practices, and tools.
- You have debugged production distributed systems in scenarios where local reproduction may not be possible. You enjoy tracking down issues until resolved but aren’t afraid to ask for help, especially when stuck.
- You consider testing, monitoring, and observability first-order priorities. Until your code runs in production and returns the results and metrics you expect, you know your work isn’t complete.
- You possess excellent communication skills. You are comfortable notifying your team of blockers and risks and can manage and deliver on your commitments.
- You are energized by working in a highly collaborative environment at a customer-driven startup. You see software engineering as a team sport and like collaborating with fellow engineers, product managers, and others to deliver customer value.
- You believe remote teams are the future of work or are at least excited about the idea.