Compiler Optimization Developer - Internship

Markham, Ontario
Summer, Internship, Student Jobs

Are you a student of the world?

Are you ready to build your career, not just your résumé?

Do you think the world can work smarter?

IBM is looking for people to work alongside the best and brightest minds in the world to build a smarter planet.

The following student positions are a part of IBM Canada's EPIC (Employment Pathways to Interns & Co-ops) Student Program. These positions are only open to students registered in a Canadian University or College program, who have completed a minimum of 2 years of their degree or diploma program, and who must be returning to full-time study upon the completion of the temporary IBM work term.

This Student Position resides in Markham and is a 12/16 month work term commencing January 2016

Main Responsibilities for Compiler Optimization Developer Internship include:

If you are interested in working on some of the most cutting edge software projects in the industry, consider a 16-month internship with the compiler optimization teams at the IBM Canada Software Lab in Markham.

IBM compiler team develops compilers for various interpreted (Java, JavaScript, etc) and compiled (C/C++, COBOL, Fortran,etc) languages targeting multiple hardware platforms (Intel, ARM, IBM Power and System z) and operating systems (Windows, AIX, z/OS, and Linux on x86/Power/z). The static compilers (C/C++) produce highly optimized binaries, while the driven JIT compilers (Java) produce on-the-fly in-memory machine code for select methods identified through run-time profiling. IBM compiler team also ports and optimizes industry standard open runtimes such as Google V8 and Node.js to IBM server platforms.

IBM Compiler developers collaborate with research, development, performance and functional test teams situated across the globe on a daily basis. They strive to achieve optimal performance on benchmarks, middle-ware, and customer applications running on IBM hardware platforms through identifying and fixing performance bottlenecks. They also influence the design of future generation of hardware and OS/Kernel enhancements thorough collaboration with IBM hardware/OS teams.

You will be working alongside these highly skilled compiler performance experts on implementing small optimization or architecture exploitation features, performance bench-marking and analysis, debugging and fixing performance and functional defects in the optimizers, and some scripting / tooling / automation work.

We strive to expose you to a variety of tasks that help you build your general programming skills as well as experience in working on complex global software projects targeting many OS/hardware platforms. Over the 12/16 months, you will get to experience complete software development life cycle from concept -> development -> integration -> test -> delivery.


  • Experience with C/C++
  • Experience with UNIX, Linux or Windows

Optional Qualification:

  • Experience with scripting/dynamic languages e.g. Shell, PERL, JavaScript, Python, Ruby and Java
  • Experience with computer architecture
  • Study / prior experience in compiler construction and optimization
  • Experience with assembler, debugging, tracing, performance, and additional OS's

What IBM offers you:

1. Work directly on product and services that affect our clients, while having access to cutting edge software technology

2. Work is challenging and rewarding

3. Access to obtain IBM Product Certification during work term

4. A casual dress code and flexible work hours, to ensure work-life balance

5. Future Blue - IBM's large student community that provides networking opportunities, sporting and social events.

Students must apply to in addition to their university job board (if applicable) in order to be considered for the position. It is highly recommended to include your transcript (official or unofficial) to complement your application.

How to Apply