Staff Software Engineer
Summary
Design and own scalable backend services and cloud-native systems in Scala/Java, using Kafka, Spark, and Kubernetes to power global, data-intensive applications.
Design and deliver robust, production-grade & data-intensive applications that power business-critical use cases around the globe. In this role, you will operate across domains - owning architecture, raising engineering standards, and amplifying the impact of your team and the surrounding teams. Your responsibility spans backend services, cloud-native infrastructure, and data engineering, with a focus on building scalable, reliable, and maintainable systems.
A key success factor in this role is not only technical expertise, but to be able to understand & translate complex business requirements into scalable systems. The expectation is that you identify problems and opportunities, design solutions for them and implement them together with the team.
- Bachelor’s degree in computer science, Computer Engineering, relevant technical field, or equivalent; Master’s degree preferred.
Roles & Responsibility:
- Design and own end-to-end architectures across microservices, event-driven systems, and data platforms.
- Build and deliver high-quality backend services and APIs that are reliable, secure, and scalable.
- Design and operate cloud-native infrastructure on Kubernetes, applying platform engineering best practices.
- Build and maintain data pipelines and products on Spark and Databricks where required.
- Drive event-driven architecture using Kafka and streaming technologies.
- Write clean, testable, and maintainable software — primarily in Scala with Python where appropriate.
- Lead architecture and design reviews; author lightweight design documents for major decisions.
- Define and improve engineering standards across testing, observability, CI/CD, and reliability.
- Coach and mentor engineers at multiple levels through reviews, design sessions, and pairing.
- Build observability into systems from day one (logs, metrics, tracing, alerting, SLOs).
- Deliver through CI/CD with safe release, rollback, and progressive delivery strategies.
Skills
- 8+ years of professional software engineering experience across backend, platform and or data domains.
- Strong programming skills in Scala or Java (Scala preferred); other languages are a plus.
- Proven experience building distributed microservices and event-driven systems ideally in the Scala / JVM ecosystem (we use KStreams, Flink, cats-effect, fs2 & tapir)
- Hands-on experience with Kafka in production at scale.
- Solid experience designing and developing APIs (REST and/or event-driven interfaces).
- Strong knowledge of relational databases (e.g. PostgreSQL), data modeling, and query optimization.
- Experience building distributed data pipelines with Spark and/or Databricks.
- Demonstrated ability to lead technical design and architecture decisions across teams.
- Experience mentoring and growing engineers.
Good To Have:
- Working knowledge of Kubernetes — workloads, networking, Helm, scaling, and operational practices.
- Experience with data governance, lakehouse table formats (Delta, Iceberg), and modern data platforms.
- Experience with platform engineering — building developer platforms, golden paths, or internal tooling.
- Performance profiling and JVM tuning experience.
- Experience with MLOps or data science platform integrations.
Collaboration Scope:
- Partner with domain and platform teams to translate complex requirements into resilient architectures.
- Work with technical & org leadership to shape cross-team technical strategy.
- Drive alignment on engineering standards and practices across engineering chapters or guilds.
- Support incident response, post-mortems, and systemic reliability improvements.
- Contribute to roadmaps that balance business priorities with technical sustainability and platform health.