Job description

Your Role and Responsibilities

As an IBM Runtimes Open Source Software 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 a developer who will join the Compiler team in Toronto to drive adoption of our Open Source Java Runtime (OpenJ9) into open source Java frameworks critical for the Java community, IBM and its consumers. 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 have interest in building thorough understanding of processor architecture, 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 ( ) 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 ( ) 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 Professional and Technical Expertise

  • Experience with C and C++
  • Experience in scripting languages
  • Linux / UNIX experience
  • Knowledge/understanding of processor architectures
  • 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 ability to collaborate with open source community developers, academic and industry partners

Preferred Professional And Technical Expertise

  • Experience working in an open source, transparent, and agile development team
  • DevOps experience for enabling end-to-end development/delivery pipeline in open source environment
  • Familiarity or development experience in Compilers, Runtimes, Operating Systems, or related areas
How to apply

Click now in the link below 🥳