Senior Software Engineer (Platform)
Posted Updated
- As an engineering team, we believe strongly that empathy improves our solutions. Seeing how people use the product is a priority and the way we get to the right answer
- Engineers will have the opportunity to work closely with our team onsite to understand the variety of use cases that Peregrine serves
- The Foundations team consists of detail-oriented engineers driving innovation and enhancing performance through technical excellence and a focus on results
- We own the performance and reliability of key pieces of Peregrine’s infrastructure and take on hard technical problems that create new capabilities for the platform
- We value both ownership and collaboration. You will take full responsibility for the features you own and work closely with other engineers to drive them to completion
- We believe that humility and empathy are essential for building the right solutions — you will collaborate directly with our deployment team and users as we iterate to solve their problems. Perseverance and creativity are crucial to executing our vision
- As a member of our Foundations team, you’ll independently own well-scoped, meaningful projects that improve the reliability and performance of Peregrine’s data platform; the systems that ingest, process, and enrich large volumes of customer data from a wide variety of sources, at high scale and low latency
- You’ll work within our datastores, orchestrated data pipelines, and the connection, authorization, and notification layers that keep the entire system efficient and secure — extending existing architectural patterns and proposing new ones where they’re needed
- You’ll take on real technical challenges that meaningfully improve the quality, stability, or velocity of the team. Representative recent work at this level includes:
- Contributing to a rewrite of a core datastore’s underlying storage format and helping roll it out safely across environments
- Upgrading a major framework version within a heavily used service without introducing regressions
- Improving database connection-pooling to reduce outage risk
- Building out a new piece of the platform’s authorization system
- Reducing a data-processing backlog’s latency from hours to under a second
- Helping scale and tune our search infrastructure to keep pace with rapid data growth
- Participating in incident response and root-causing production issues
- Our stack is constantly evolving but based on a backend foundation of Python, Django, Celery, Airflow, and Kafka; a frontend built in React, Redux, and Mapbox; data stores including PostgreSQL and Elasticsearch; and AWS, Pulumi, Terraform, and Kubernetes as our underlying infrastructure
Benefits
- Health insurance: Enjoy top-notch health, dental, and vision insurance. Your health matters
- Unlimited PTO: Assume responsibility for how much time you take off. Trust is everything
- Competitive 401k: Leverage a Peregrine-sponsored 401k plan. And think of your future
- Wellness stipend: Use Peregrine’s wellness stipend to focus your body and mind
- HSA: Set aside money to pay for qualified medical expenses with a HSA
- Parental leave: Because we want to support the Peregrine parents out there
- Professional development: Access a range of professional development courses and resources
- Recreational perks: Enjoy a whole host of travel and leisure discounts, and explore new things
- Passion for crafting and shipping software solutions that delight users
- Desire and drive to own large portions of the application from start to finish
- Thrive on ambiguity and love taking on hard problems
- Excellent technical vision with the ability to synthesize product requests into strong and reliable software components
- Degree in Computer Science or a related field, or equivalent experience
- Located in the San Francisco or New York area and open to working in office
- Experience taking projects from design through production rollout
- Ability to write robust, well-tested, and well-designed code that frequently gets deployed to users
- Comfort navigating and contributing to large, established codebases
- Comfort participating in incident response and helping resolve recurring failure patterns
- Experience shipping and iterating on production-grade software, professionally and/or in the open-source community
- Experience working on distributed systems or data-intensive services (e.g. data pipelines, relational and search datastores, message queues)
- 5+ years of professional software engineering experience
