Senior Software Engineer - Apple JDK

Apple Inc.
Charing Cross, United Kingdom
3 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Charing Cross, United Kingdom

Tech stack

C
Java
C++
Compilers
Computer Programming
Software Debugging
Fuzz Testing
Java Development Kit
Java Virtual Machine (JVM)
Java Security
Java Native Interface
Open Source Technology
System Programming
Virtual Machines
Perf (Linux)
Information Technology
Programming Languages

Job description

In this role, you have the opportunity to help secure the Java virtual machine. The AppleJDK team at Apple is looking for system programmers with experience in programming languages, compilers, and virtual machines. You will be working to deliver secure services for all Apple Java services both proactively, by ensuring new features are implemented securely, and reactively, by responding to and addressing Java security work across Services. This is a high-impact, high-autonomy role at the intersection of systems programming, language runtimes, and performance engineering. Join us!

Requirements

Do you have experience in Mentoring?, Do you have a Bachelor's degree?, Track record of contributions to OpenJDK or other open-source runtime/compiler projects Experience with memory-safety techniques, fuzzing, or security hardening of native runtimes Familiarity with performance profiling and optimization at scale (e.g., perf, async-profiler, JFR) Experience designing or reviewing secure native interop (JNI, FFM / Project Panama) Background in mentoring engineers or leading technical working groups, BS in Computer Science or a related field, or equivalent practical experience Extensive professional experience in C, C++, and Java Deep expertise in one or more of the following: Static or JIT compilation, garbage collection, memory allocators, or language runtimes Strong assembly-level programming skills, preferably with the ARM64 (AArch64) instruction set Hands-on experience developing or contributing to virtual machines such as: HotSpot, GraalVM, V8, JSC, or similar. Excellent debugging, analytical reasoning, and written/verbal communication skills Demonstrated ability to drive technical initiatives across teams and influence without authority

About the company

The AppleJDK team in Services is responsible for the Java runtime, and our mission is to make Java Services both fast and secure. The Java runtime is complex, with many subsystems: JIT compilers, language runtime, multiple garbage collectors, and FFM interface for native apps. The interactions with native code must do so in a memory safe way. In this role, you will work across all areas of the runtime, focusing on improving security and stability. You will drive innovations in the Java Runtime and tools. You will also ensure the application of current best practices in the Java runtime, and work with Services at Apple scale.

Apply for this position