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

Markham, Ontario
Internship, Co-op

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

The Toronto-based IBM Runtimes Technologies team is hiring self-motivated software development interns, 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.

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 Professional and Technical 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 Professional and Technical Expertise

  • 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

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.

How to Apply