Staff Software Engineer
Position Overview
The Staff Software Engineer will be responsible for leading and implementing the technical direction of a Platform Engineering team and collaborating with peers to set direction and drive technology choices across the Platform. This is a hands-on, individual contributor role that will require working on a cross-functional team and skill-focused team. Software Engineering is responsible for the development, maintenance, performance and monitoring of secure, highly available platform applications and services. Software Engineers design, implement and maintain technology used by Product and Platform Engineering teams to develop reliable, resilient, and performant software through the use of shared Platform applications. Reporting to the Software Engineering leadership, the role requires deep expertise in the design, implementation, and continuous improvement of software applications.
Position Responsibilities
- Expertise with full stack development and distributed systems.
- Sufficient experience to teach others about 12-factor applications and modern development practices.
- Expertise using languages like Python, Go, Typescript, and React.
- Able to make system design trade-offs based on real-world experience with the CAP Theorem.
- Comfortable with complexity and learning in wicked environments.
- Deeply understand logging, monitoring, automated provisioning, and continuous deployment.
- Familiar with Incident Command System for managing outages and security incidents.
- Know how to use configuration management and infrastructure as code tools like Terraform.
- Experience with container orchestration using tools like Docker Swarm or Kubernetes.
- Significant knowledge of and experience with relational databases (e.g. Postgres) and non-relational data stores (e.g. Redis, ElasticSearch, OpenSearch).
- Able to build successful generations of software to manage and deploy highly available, reliable, and performant cloud infrastructure, platform, and product at scale.
Knowledge, Skills and Abilities
- 7+ years’ experience in full-stack or backend Software Engineering.
- Writes loosely coupled code with excellent test coverage; using automation for tests, builds and deployment; implementing monitoring and logging proactively.
- Design and build applications and services reading from and writing to Kafka or Kinesis event streams.
- Comfortable in architecting solution with a full stack approach, from front end to back end.
- Build systems used to automate performance monitoring, troubleshooting and capacity planning.
- Collaborate with the Product and Platform team to craft technical solutions that meet internal and external customer needs.
- Work with Infrastructure Engineering teams to adapt standard infrastructure platform components to release code with increasing volume and velocity in a self-service fashion.
- Forecast application utilization and identify potential bottlenecks or optimization opportunities.
- Support critical applications in a fast-paced environment.
- Research and intervene to quickly and efficiently pinpoint and resolve problematic system issues.
- Review and improve teammate output, providing detailed and thoughtful feedback.
- Define and extend code management processes to improve development team efficiency.
- Ability to communicate with product and stakeholders on requirements; able to mentor more inexperienced engineers effectively.
- Provide 24x7 on-call support on a rotating basis.
Otros detalles
- Grupo de puestos TECH, PRODUCT, AND DATA
- Tipo de pago Salario
- Estados Unidos
- Virtual