Open Source Compiler Developer

Job Description
As an IBM Runtimes open source developer, you will join the hundreds of developers actively contributing to our public GitHub projects, using industry standard tools like git, ZenHub, Jenkins, and Slack. Our development lifecycle and activities, from concept to delivery, happen openly in collaboration with community developers and researchers. This facilitates building your own developer identity and influence in the various programming languages and runtimes communities. As an IBM developer, you still maintain the access to IBM developers and technologies, so you are still able to influence the whole stack optimization efforts in IBM, from hardware design to OS to language runtime to middleware to software-as-a-service.

We are looking to hire an experienced professional developer who will join the POWER JIT Compiler team in Toronto to drive adoption of our Open Source Java Runtime (OpenJ9) into open source Java frameworks critical for the OpenPOWER community and its consumers ( https://openpowerfoundation.org/ ). You will discover and highlight differentiation of OpenJ9 in the scenarios that are relevant to these projects. You will ensure these open source Java frameworks are able to exploit the OpenJDK with OpenJ9 with optimal performance tuning and functional stability that the enterprise customers demand. This will also require collaboration with the community to ease their migration, continuous build and test integration, and support for the open source developers of these communities.

You should be comfortable developing in an environment that is predominantly C and C++ based. Polyglot skills are an asset, as we work in a variety of exhibited scripting languages. You should also have a thorough understanding of processor architecture and strong interest in whole-stack performance analysis and problem determination. Prior experience working on open source projects and demonstrated influence in the open communities, academic research and industry standards will be very desirable. We follow Agile practices where work and design is open and collaborative, but also where individuals are expected to operate with a level of autonomy and responsibility.

About the IBM Runtimes team:
The IBM Runtimes team is responsible for development of innovative compiler and runtime technology primarily for dynamic languages. IBM recently open-sourced 20+ years of runtime innovations through two projects, the Eclipse OMR ( https://github.com/eclipse/omr) project that provides a large toolkit of language-agnostic components for building runtimes (including JIT compiler, garbage collector, diagnostic tooling, and platform abstraction technologies), and the Eclipse OpenJ9 ( https://github.com/eclipse/openj9) project which includes IBM's enterprise-class J9 Java Virtual Machine technology. The AdoptOpenJDK project now hosts JCK compliant OpenJDK builds that include OpenJ9 as an alternative high-performance enterprise grade, made for cloud Java runtime.

The Toronto team (50+ developers) develop Just-In-Time (JIT) compilers for various language runtimes. We also contribute to industry-leading performance and capabilities into these runtimes across multiple hardware platforms (e.g. x86, ARM, IBM z and POWER) and operating systems. We work with open source programming languages and runtimes development communities, academia, and other IBM development, performance and functional test teams across the globe. IBM Compiler developers have the opportunity to influence the design of future generation of hardware and OS/Kernel enhancements through collaboration with IBM z and POWER hardware/OS teams. While Java has been our focus for many years, we have successfully adapted Eclipse OMR technology to other language runtime environments (e.g. Python, Swift, Ruby, Lua, WebAssembly, etc.) through several active collaborative academic research projects with professors and graduate students from a number of Canadian and foreign universities.

Required Technical and Professional Expertise

  • Minimum 5 years experience with C and C++
  • At least 1 year of experience in scripting languages
  • Thorough understanding of processor architectures
  • 5+ years of professional experience in Compilers, Runtimes, Operating Systems, or related areas
  • Strong interest in whole-stack performance analysis and problem determination, quick prototyping and iterative experimentation
  • Experience with Open source development tools and projects
  • Excellent communication skills and proven ability in influencing open source community developers, academic and industry partners


Preferred Tech and Prof Experience

  • Experience with POWER architecture
  • Experience working in an open source, transparent, and agile development team


EO Statement
IBM is committed to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status. IBM is also committed to compliance with all fair employment practices regarding citizenship and immigration status.


Meet Some of IBM's Employees

Peter M.

Leadership Development Solutions Leader

Peter works with a variety of teams within IBM to increase organizational clarity, equip leaders to serve well, and provide opportunities for employees to continually grow and expand their skills.

Rashida H.

Director, IBM Watson Client Delivery

Rashida leads the IBM Watson Delivery Team, which focuses on providing Watson implementation training for clients around the world, helping companies achieve the solutions they seek.


Back to top