Staff Engineer (JIT Compilers & Performance), VM Team

  • Full-time

Company Description

Twitter is what’s happening and what people are talking about right now. For us, life's not about a job, it's about purpose. We believe real change starts with conversation. Here, your voice matters. Come as you are and together we'll do what's right (not what's easy) to serve the public conversation.

Job Description

Who We Are

The VM team at Twitter is responsible for the language runtime for hundreds of thousands of microservice instances making up the Twitter experience. The overwhelming majority of these services are written in Scala and Java, and run on the JVM. Twitter's JDK and related tools are built, released, and supported by our team.

We tackle novel performance problems, and optimize the JVM across a range of services, workloads, hardware, and ambient conditions. We help our customers with performance tuning, troubleshooting, debugging, and resolving their issues at scale. In our day-to-day work, we partner closely with service owners, site reliability engineering, performance engineering, and hardware engineering teams at Twitter. 

We strive to adopt the latest updates in stable JVM/JIT technologies. We continue looking for opportunities to further improve the performance of the JVM runtime, its garbage collectors, and its compilers in the context of Twitter’s services. We care about JVM performance on both current and emerging hardware platforms and processors. Our team includes a number of OpenJDK committers and reviewers. We work closely with the OpenJDK and Graal open-source communities to develop and upstream many of our improvements.

You enjoy working deep in the internals of a mature language runtime, and solving unfamiliar performance problems with highly multi-threaded software on large, multi-tenanted, multiprocessing hardware, in close interaction with internal customers running complex workloads. You are comfortable with low-level performance profiling using hardware performance counters and tools such as e.g. perf, VTune, or μProf.

You have a deep understanding of just-in-time (JIT) compilation, processor microarchitecture, and JVM performance. You are an expert in code generation and optimization for modern hardware processors, with both RISC and CISC ISAs, with relaxed memory models, and with JVM internals. You are familiar with at least some of the techniques that JIT compilers may use for dynamic optimization, such as profiling-based optimizations, code specialization, on-stack-replacement, compilation using snippets, tiered compilation, as well as ahead-of-time compilation. 

You are very comfortable in C, C++, and Java, and have some familiarity with Linux APIs and its virtual memory system. Familiarity with another JVM language, such as Scala or Kotlin, and experience working with a large and diverse open-source community is highly desirable. Familiarity with the application of machine-learning techniques for compilation heuristics or other performance optimizations would be an added advantage.

Qualifications

Required

  • B.S., M.S., or Ph.D. in Computer Science, Electrical, or Computer Engineering, or an allied engineering or STEM field, or equivalent experience.

  • A growth approach, and a strong desire to learn, collaborate, guide, and mentor.

Additional Information:

A few things we value as a company:

- Challenge - We solve some of the industry’s hardest problems. Come to be challenged, learn, and thrive as an engineer.

- Diversity - Diversity makes us a better organization and team. We value diverse backgrounds, ideas, and experiences. We strive to include everyone in our work and in our decision-making.

- Work-Life Balance - We work hard, but we believe that with hard work should come balance.

- Collaboration - There’s that saying, “If you want to go fast, go alone. If you want to go far, go together.” We want to go far.

- Variety - We encourage team rotations that allow you to work with and learn from other teams at Twitter.

- Continuous Learning - Our technology and our environment are constantly changing, and so are we; we are lifelong learners at Twitter.

Additional Information

We are committed to an inclusive and diverse Twitter. Twitter is an equal opportunity employer. We do not discriminate based on race, ethnicity, color, ancestry, national origin, religion, sex, sexual orientation, gender identity, age, disability, veteran, genetic information, marital status or any other legally protected status.

San Francisco applicants: Pursuant to the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records.

All your information will be kept confidential according to EEO guidelines.

Privacy Policy