This job is no longer available.

Node.js Software Developer - Internship (Markham, ON)

Markham, Ontario
Internship, Co-op

Job Description

Change the world at IBM.

There aren't many companies who can say they have been an integral part of the global business landscape for more than a century. While the world has changed considerably over the past 100 years, IBM, our people and our offerings have continuously led the way with business and technology innovation.

Today, we are more than a hardware, software and services provider, yet we remain true to our heritage as a team of collaborative forward-thinkers, focused on making business and society work better. We are part of the fabric of everyday life and stand for world-changing progress.

Join a company where you can make an impact and literally change the world. With so many different opportunities available – the sky is the limit!

*This position resides in Markham, ON and is a 12 or 16 (internship) month work term commencing May 2019. 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.

What IBM Offers You?

  • Work directly on product and services that affect our clients, while having access to cutting edge software technology
  • Work on projects which are challenging, innovative and rewarding
  • A business casual dress code and flexible work hours, to ensure work-life balance
  • Access to the Future Blue Community - IBM's large student community that provides networking opportunities, sporting and social events.

It is a mandatory requirement for students to apply online at

Closing Date: Open Until Filled

The Toronto-based IBM Runtimes Technologies team is hiring self-motivated software developers, with a passion for Node.js and compiler technologies, to join our mission in developing the Node.js open-source runtime on IBM platforms. IBM is an active participant in the Node.js community, being a founding member of the Node Foundation, as well as having a number of core contributors and members of Node's Technical Steering Committee.

The IBM Canada Lab in Markham is the compilation hub within IBM, known for developing high-performance enterprise-grade compilers and runtimes. You will get an opportunity to work alongside technical experts in accelerating JavaScript and Node.js features and performance.

The main responsibilities of the team include:

  • Optimize industry standard open-source runtimes, such as Google's V8 JavaScript Engine and Node.js to IBM server platforms, including Intel, IBM POWER and IBM Z.
  • Develop and deliver code features and improvements to the Node.js community.
  • Collaborate with research, development, performance and functional test teams situated across the globe on a daily basis.
  • Interact with IBM middleware teams to expand IBM's Node.js enterprise solutions.
  • Influence the design of future hardware and OS/Kernel enhancements thorough collaboration with IBM hardware/OS teams.

About the IBM Runtime Technologies team:

The IBM Runtimes team is responsible for the development of innovative compiler and runtime technologies for Java, JavaScript and other dynamic languages. The Toronto-based compiler team (50+ developers) develops Just-In-Time (JIT) compilers for various language runtimes, contributing to industry-leading performance and capabilities. 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 has been contributing to V8 and Node.js open-source communities since 2013, delivering support and capabilities across multiple hardware platforms (e.g. x86, IBM Z and POWER) and operating systems. As part of its mission to deliver enterprise-ready runtimes, IBM has also contributed significant diagnostic tooling, like node-report for failure data capture, and appmetrics for live monitoring of Node.js applications. To spur more rapid innovation for Node.js developers, IBM has contributed to CloudNativeJS (, a community project that provides assets and tools to help all developers to build best-practice Cloud Native Node.js applications and deploy them to cloud platforms.

Required Technical and Professional Expertise

  • Co-op or internship program enrollment is mandatory
  • 1-year experience in programming in C/C++ or JavaScript
  • Basic knowledge in open-source community development processes and tools
  • Demonstrates verbal and written communications skills
  • Fluent English is mandatory

Preferred Tech and Prof Experience

  • Experience in software debugging at system level
  • Experience with computer architecture and operating systems
  • At least 6 months experience developing Node.js applications and npm modules.
  • Basic knowledge in compiler development

EO Statement

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.