Software Engineer - Apple Jdk

Apple Apple · Big Tech · London, United Kingdom · Software and Services

Software Engineer role focused on the Java runtime (AppleJDK) within Apple Services, aiming to improve its speed and security. Responsibilities include working across various runtime subsystems (JIT compilers, garbage collectors, FFM interface), enhancing security and stability, driving innovation, and applying best practices at Apple's scale. Requires expertise in systems programming, compilers, and virtual machines, with a strong emphasis on memory safety and secure native interop.

What you'd actually do

  1. work across all areas of the runtime, focusing on improving security and stability
  2. drive innovations in the Java Runtime and tools
  3. ensure the application of current best practices in the Java runtime
  4. work with Services at Apple scale

Skills

Required

  • 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
  • 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

Nice to have

  • 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
  • Strong assembly-level programming skills, preferably with the ARM64 (AArch64) instruction set

What the JD emphasized

  • memory safe way
  • secure services
  • secure native interop