Sr. Java Compiler Engineer

Company: Apple
Job Location: Santa Clara Valley


The Mac OS X Java Virtual Machine is a state-of-the-art compiler and runtime that powers Java using sophisticated garbage collection, interpretation, and dynamic JIT compilation, including Apple innovations like Class Data Sharing between multiple applications.

Mac OS X Java is based on the HotSpot Virtual Machine, and includes multiple Java 2 releases that provide a complete execution environment for Java bytecode clients. It is very much like an Operating System in that it provides machine level synchronization primitives, thread mapping and priority mapping to the underlying Mach Operating System, a precise garbage collecting memory management subsystem, and mappings to the underlying file and network primitives. It also implements a security model much like an operating system, but does not have to deal with pesky OS implementation constraints such as real hardware, ref counted data structures, or the intricacies of interrupt handling and latencies. If you have OS experience, yet are tired of the OS development environments, consider applying your expertise to the Java Virtual Machine. We deal with MP issues, the best ways to utilize memory, cache, and cpu architectures, and push the underlying OS to its limits. Performance is our primary objective and if you have a knack for tracking down and improving low level operations this could easily be the job for you!

Our goal is to improve our JVM technology. We are interested in an energetic developer who can not only master the implementation (PowerPC/IA32 assembly, C++), but help drive us towards greater performance by way of improved compilation, better garbage collection, better memory use, and/or better native language integration.

You will join a small team of senior engineers that are successfully innovating in the hottest language environment known!


Required Experience:
* MS or Ph.D. in Computer Science or related field required
* Coursework and/or experience in programming language or operating system implementation
* Excellent debugging skills
* Strong communication and negotiation skills are required as new ideas are promoted and adopted throughout the broader organization.

The following skills are desirable:
* Experience in dynamic runtime systems (Java, Smalltalk, LISP, Oberon, ...).
* Extensive knowledge of the Java Virtual Machine specification and JDK APIs
* Experience with compiler implementation, compiler optimization, SSA representations
* Direct exposure to the Hotspot Client or Server compilers
* CLR experience
* Experience in 64bit assembly code generation (PowerPC, Sparc64, AMD64, IA64)
* 2 years experience shipping products

Note: we will consider all levels or experience from Jr on up!

Contact info
To pursue, please email your resume to