Open Source Compiler Developer - Internship (Markham, ON)

Ongoing
Competitive
Markham, Ontario
Internship

Introduction
At IBM, work is more than a job - it's a calling: To build. To design. To code. To consult. To think along with clients and sell. To make markets. To invent. To collaborate. Not just to do something better, but to attempt things you've never thought possible. Are you ready to lead in this new era of technology and solve some of the world's most challenging problems? If so, lets talk.

Your Role and Responsibilities
This position resides in Markham, ON and is a 12-month work term (internship) commencing January 2020. It is mandatory that all applicants are enrolled in full-time studies at a post-secondary institution and returning to full-time studies upon completion of the work term.

Job Description

If you are interested in working on some of the most cutting-edge software projects in the industry, consider a 12 or 16-month work term with the IBM Runtime Technologies team at IBM Canada Lab near Toronto. The IBM Runtime Technologies team delivers enterprise grade runtimes that enable IBM Cloud, Analytics, and Mobile software solutions to run more efficiently and allow differentiation on System Z and POWER platforms by actively participating in and leading a number of open-source communities and leveraging open-source developer ecosystems.

As an Open Source Runtime Developer intern, 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. They will help you build your own developer identity and influence in a number of programming language and runtime communities. During your work term, you will have the opportunity to learn about and experiment with different programming language implementations and a variety of latest hardware platforms. You will be exposed to tasks that will help you improve your general programming and problem determination skills as well as become comfortable working with complex global software projects. Through collaborations with IBM hardware/OS teams, you may even influence the whole stack optimization efforts at IBM, from hardware design to OS to language runtime to middleware to software-as-a-service.

An ideal candidate should be comfortable in a predominantly C and C++ programming environment. Polyglot skills are an asset, as we work with a number of dynamic languages. We follow Agile practices where work and design are open and collaborative, but also where individuals are expected to operate with a level of autonomy and responsibility.

About the IBM Runtime Technologies 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-based compiler team (50+ developers) develops 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. While Java has been our focus for many years, we have successfully integrated Eclipse OMR technology into other language runtime environments (e.g. Ruby, Swift, Lua, WebAssembly, etc.) through several active collaborative academic research projects with professors and graduate students from a number of Canadian and foreign universities.

This role will involve working with technology that is covered by embargo Export Regulations. If you are a Foreign National from any of the following embargoed 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

  • Co-op or internship program enrollment is mandatory
  • Experience with C/C++
  • Demonstrates verbal and written communications skills
  • Debugging and problem-solving skills required

Preferred Technical and Professional Expertise

  • Experience with computer architecture and operating systems
  • Basic knowledge in compiler development
  • Basic knowledge in open-source community development processes and tools

About Business Unit
Digitization is accelerating the ongoing evolution of business, and clouds - public, private, and hybrid - enable companies to extend their existing infrastructure and integrate across systems. IBM Cloud provides the security, control, and visibility that our clients have come to expect. We are working to provide the right tools and environment to combine all of our client’s data, no matter where it resides, to respond to changing market dynamics.

Your Life @ IBM
What matters to you when you’re looking for your next career challenge?

Maybe you want to get involved in work that really changes the world? What about somewhere with incredible and diverse career and development opportunities – where you can truly discover your passion? Are you looking for a culture of openness, collaboration and trust – where everyone has a voice? What about all of these? If so, then IBM could be your next career challenge. Join us, not to do something better, but to attempt things you never thought possible.

Impact. Inclusion. Infinite Experiences. Do your best work ever.

About IBM
IBM’s greatest invention is the IBMer. We believe that progress is made through progressive thinking, progressive leadership, progressive policy and progressive action. IBMers believe that the application of intelligence, reason and science can improve business, society and the human condition. Restlessly reinventing since 1911, we are the largest technology and consulting employer in the world, with more than 380,000 IBMers serving clients in 170 countries.

Location Statement
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.

Being You @ IBM
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.

Preferred Education:Pre-University QualificationCommissionable:No

How to Apply