Compiler Optimization Developer

Markham, Ontario
Entry Level

The IBM Compiler Group is looking for talented software developers to join our world class compiler optimizer team. Our compilers are at the cutting edge of compilation technology, and our developers have helped deliver industry leading benchmark results on IBM and third-party CPUs. We produce compilers for a range of source languages optimized for IBM POWER systems, Blue Gene supercomputers, and zSeries mainframes. We also produce a high performance Just In Time (JIT) compiler that powers the IBM J9 Java Virtual Machine (JVM) running on x86, POWER, zSeries and other processors. Our developers often contribute to the design of future IBM processors and many have acquired extensive patent portfolios. A number of our developers have gone on to become Directors, Distinguished Engineers, and IBM Fellows.

If you have C++ coding experience, a demonstrated understanding of algorithms and data structures, and a passion for developing innovative algorithms that make software run as fast as possible, this is the team for you. This position offers you a rare opportunity to influence the performance of hardware and software that are used by millions of people every second. The work is challenging and complex, involves collaboration with many of IBM's top technical experts, and gives you the opportunity to acquire and use advanced technical skills in a highly specialized area of computer engineering.

The job is located at the IBM Canada Software Lab in Markham Ontario, one of the largest Research and Development (R&D) facilities in Canada and anticipated start in the first half of 2015.

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, Syria) on a work permit you are not eligible for employment in this position.

  • Bachelor's Degree
  • At least 6 months experience in coding on at least one major software project in C++
  • At least 6 months experience in advanced data structures and algorithms
  • At least 6 months experience in debugging and problem determination
  • English: Fluent
  • Master's Degree in Information Technology
  • At least 6 months experience in academic or professional work in compilers or compiler optimization
  • At least 6 months experience in benchmarking or application performance analysis
  • At least 6 months experience in low-level programming (e.g. assembly language, VHDL/FPGA) and low-level debugging
  • At least 6 months experience in multithreaded programming issues, parallelism, numerical computation, etc.
  • Basic knowledge in one or more computer architectures, and of hardware/software interactions
How to Apply