Open Source Runtime Developer- Internship (Markham, ON)
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 January 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 www.ibm.com/jobs
Closing Date: Open Until Filled
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 Tech and Prof Experience
- Experience with computer architecture and operating systems
- Basic knowledge in compiler development
- Basic knowledge in open-source community development processes and tools
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.