IBM Compiler Developer in MARKHAM, Ontario
Who We Are
We're hiring compiler developers to build a Just-In-Time (JIT) compiler for a full system binary translator using the open source Eclipse OMR runtime toolkit (https://www.eclipse.org/omr/). If you're intrigued by the opportunity to use the latest compiler technologies and research to build an enterprise grade trace-based instruction level translator, this job may be the one for you!
The project you will join is making an exciting expansion for the IBM Z Development and Test Environment (https://www.ibm.com/ca-en/marketplace/z-systems-development-test-environment) to enable any z/OS software to run on an x86 server or a cloud instance through full system emulation of the IBM Z instruction set.
You'll be joining a vibrant community of open source compiler developers actively contributing to our public GitHub projects, using tools like git, ZenHub, Jenkins, and Slack. Our team works directly in open source projects, from concept to delivery, actively collaborating with community developers and researchers. This facilitates building your own developer identity and influence in the various language and runtimes communities. As an IBM developer, you have access to thousands of other IBM developers and technologies, giving you the opportunity to influence the whole stack optimization efforts in IBM.
You should be comfortable developing in an environment that is predominantly C and C++ based. You should have interest in building a thorough understanding of processor architecture, whole-stack performance analysis, and problem determination. Prior experience working on open source projects 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 JIT Compiler team:
Our team (50+ developers in Toronto) develop Just-In-Time (JIT) compilers for various language runtimes. We also contribute 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.
This role will involve working with technology that is covered by Export Regulations sanctions. If you are a Foreign National from any of the following US sanctioned countries (Cuba, Iran, North Korea, Sudan, and Syria) on a work permit, you are not eligible for employment in this position.
Required Technical and Professional Expertise
· 2 years experience with C and C++ programming
· Significant software design and engineering experience
· Development and debugging experience on Linux / UNIX
· Experience with Open source development tools and projects
Preferred Tech and Prof Experience
· Experience working in an open source, transparent, and agile development team
· Thorough understanding and experience with multiple processor architectures
· Academic or professional experience in Compilers, Run-times, Operating Systems, or related areas
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.