About this role
Netflix is one of the world's leading entertainment services, with over 300 million paid memberships in over 190 countries enjoying TV series, films and games across a wide variety of genres and languages. Members can play, pause and resume watching as much as they want, anytime, anywhere, and can change their plans at any time.
The Mission
The Java Platform Team is moving from "best effort" support to a fully managed, curated "Paved Road" (our recommended, supported standard path) for Java at Netflix. Our Spring Boot based application framework is the most ergonomic choice for most Java development and remains at the center of that path. Some workloads, such as sidecars, and lightweight containers, batch/stream processing jobs, have tight limits on memory and startup time, and they still need the same Netflix platform capabilities.
We make Spring Boot work well in a sidecar or lightweight container, with a leaner footprint and faster startup. We also create standalone, constructible Java libraries that give any Java process access to Netflix platform primitives such as configuration, observability, discovery, and networking. The same libraries work inside our Spring Boot framework and outside it, so there is one source of truth and updates reach every consumer.
The Role
As a Staff Engineer you set technical direction for this area of the Java Platform Team. You own the architecture of the library set, decide what belongs in it and what does not, and raise the bar for the engineers around you. You are hands-on in code and design, and you make the hard calls on API shape, compatibility, and scope.
You will:
- Define the architecture of our lightweight library set. Design builder and constructor based APIs for core platform primitives. Decide how each component runs standalone, inside Spring Boot applications, and in a sidecar or light container, without duplicating logic across those modes.
- Fully support sidecars and light containers. Make Spring Boot applications run well in these environments, for example through minimal starters and trimmed runtimes. Set and defend footprint and startup budgets (small memory, fast startup, small disk footprint). Build benchmarking and regression checks that maintain those budgets across releases. Design the integration and regression testing that lets library changes reach consumers with high confidence and minimal disruption.
- Own interface stability. We commit to long-term support for anything we ship to GA. You set the versioning, compatibility, and side-by-side version strategy, and own the migration cost of any breaking change.
- Work closely with the wider Java Platform Team and partner teams. Make sure our lightweight libraries and the Spring Boot framework share the same underlying components, and help that framework become a better fit for more use cases, for example through minimal starters. Align with Compute, Service Mesh, and other platform teams on gRPC, metrics, and configuration standards for the polyglot Netflix ecosystem.
- Guide customers to the right path with focus on developer experience. Work with engineering teams and product managers to understand their needs, decide whether the answer is the Spring Boot framework, the lightweight libraries, or better guidance, and help them adopt it. Look for underserved use cases and work with customers to understand them.
- Lead through others. Mentor engineers, review designs, and write the memos and decision records that set direction. Help build the Warsaw hub into a team that owns its area independently.
Who You Are
- Staff-level experience designing and owning shared libraries or platform components used by many teams, including managing the long-term impact of API decisions. Demonstrated experience in Java and distributed systems, with emphasis on scope, complexity, and impact.
- A technical leader without needing authority. You have led multi-team technical efforts, resolved disagreement between strong engineers, and made hard-to-reverse decisions with incomplete information. You write things down so others can challenge them.
- An end-to-end owner. You take a problem from discovery through design, rollout, telemetry, and iteration, and you measure whether it worked.
- User focused. You learn what teams need before deciding what to build.
- An invested mentor and coach. You support the growth of other engineers through mentoring, knowledge sharing, and feedback.
Core Competencies
- Modern Java expertise (Java 17 and 21 or later). Standard library, concurrency, and especially API design for long-lived public interfaces.
- JVM internals and performance. Memory model, garbage collection tuning, class loading, startup time, and footprint in constrained environments. You profile before you optimize.
- Library and dependency design. Minimal dependency trees, classpath isolation, binary compatibility, and how to ship a library that works across different runtimes and containers.
- Distributed systems fundamentals. gRPC, HTTP, service mesh, metrics and configuration systems, and their failure modes.
- Automation mindset. You build developer tooling (testing frameworks, compatibility checks, linters, CLIs) that removes toil for other engineers.
- Empathy and inclusivity. You value candor, seek out different perspectives, and build tools that work for every engineer, not just experts.
Nice to Have
- Familiarity with Spring internals, enough to integrate cleanly with Spring Boot applications.
- Experience with JVM startup and footprint techniques (for example class data sharing, jlink, or ahead-of-time compilation) and knowing when they are worth their cost.
- Experience building or operating sidecars, agents, or containerized Java services with tight resource limits.
- Experience with Gradle plugin development or build tooling.
A Typical Challenge
"How do we give a sidecar, a batch job, and a Spring service the same configuration and metrics library, keep its interface stable for years, and stay within a tight memory budget?"
You Might Be a Good Fit If
- You want to define the interface that hundreds of engineers build on, rather than build a single product feature.
- You build concise, versatile, and scalable libraries that solve real customer problems, and you can explain your design choices.
- You can make, explain, and revise architectural decisions in writing.
- You care about footprint and startup time as much as features.
Not Ticking Every Box?
At Netflix, we value talent, passion, and the ability to learn over a perfect checklist. If you can see yourself contributing to a stable, minimal, and fast Java paved path that works with Spring and beyond it, we want to hear from you.
Inclusion is a Netflix value and we strive to host a meaningful interview experience for all candidates. If you want an accommodation/adjustment for a disability or any other reason during the hiring process, please send a request to your recruiting partner.
We are an equal-opportunity employer and celebrate diversity, recognizing that diversity builds stronger teams. We approach diversity and inclusion seriously and thoughtfully. We do not discriminate on the basis of race, religion, color, ancestry, national origin, caste, sex, sexual orientation, gender, gender identity or expression, age, disability, medical condition, pregnancy, genetic makeup, marital status, or military service.