About this role
About the Role
Join SecretSaucePartners as a Software Engineer focused on building and evolving our backend microservices. Our backend consists of independent services written in Java and Python, communicating asynchronously via Kafka, with Avro schemas and a Schema Registry to enforce interfaces. All our services are packaged using Docker and deployed to AWS using Kubernetes. Our infrastructure is immutable, we build AMIs with Packer and roll them out with Terraform. We don't have a dedicated DevOps or Ops team; running services in a cloud environment is part of the software engineering role. The services we provide to our retail partners are integrated into their existing websites; we provide a single JavaScript library that they can use to unlock all of our products. Analytics, AB testing, error reporting, and real-user monitoring are built-in and available to Fit Predictor, Style Finder, and our future services. The services themselves are built using modern JavaScript, React, and Svelte. Our data team loves Spark and uses it to process large datasets that we receive from our partners and that we produce ourselves. We don't run a persistent cluster; we process and move data between different data stores: S3, Kafka, PostgreSQL, and Snowflake are all part of the equation and are used where they make the most sense. We rely on Databricks to manage our Spark clusters and use Apache Airflow to orchestrate tasks and to monitor, schedule, and retry jobs. We started out as a small development team using Ruby and Rails, but we ended up with our current architecture and tech stack not because we use technology for technology's sake, but because we believe they are the right choices for our expertise, needs, and size.
"
What You'll Do
- Design, implement, and maintain backend services in Java and Python.
- Build and consume asynchronous messaging with Kafka; use Avro schemas and Schema Registry for compatibility.
- Containerize services with Docker and deploy to AWS using Kubernetes; help manage immutable infrastructure with Terraform and Packer.
- Collaborate with the data team on Spark-based processing in Databricks; orchestrate tasks with Apache Airflow.
- Work across the stack from data ingestion to serving APIs and integrating with our JavaScript libraries used by partner sites.
- Improve observability, reliability, and performance of production services.
What We're Looking For - Strong hands-on experience with backend development in Java and Python.
- Experience building and consuming asynchronous services via Kafka; familiarity with Avro and Schema Registry.
- Proficiency with Docker, AWS, Kubernetes; experience with Terraform and Packer.
- Data processing experience with Spark; familiarity with Databricks and Apache Airflow for orchestration.
- Comfortable operating without a dedicated DevOps/Ops team; ability to own cloud operations as part of software engineering.
- Collaborative mindset and ability to ship high-quality, scalable services.
Nice to Have - Ruby on Rails experience.
- Exposure to front-end JS stacks (React, Svelte) or integration with the partner JS library.\