Runtimes Compiler 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, Ontario and is a 12 or 16 (internship) month work term commencing May, 2018. It ismandatory 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 atwww.ibm.com/jobs including a (1) cover letter, (2) resume, and (3) official or unofficial transcripts.
Closing Date: Open Until Filled
IBM Runtime Technologies is looking to hire self-motivated compiler developers to work on our JIT compiler optimization and code generation teams. The IBM Runtimes organization delivers world-leading high-performance runtime and compiler technology that power IBM’s offerings including supercomputers, large-scale cloud deployments and Watson analytics. The Toronto-based JIT compiler teams primarily develop JIT compiler technology for the IBM J9 Java Virtual Machine, but also collaborate with the broader open source runtimes community through contribution to the Eclipse OMR project (https://www.eclipse.org/omr).
As a Runtimes compiler developer, you will be working alongside a highly skilled team of performance analysts, optimization developers, and code generation experts to study key workloads to find opportunities for performance enhancement, prototype solutions to exploit the opportunities found, productize solutions for deployment in the IBM Java Virtual Machine and debug issues found in testing and production environments. The projects you will be involved in are open sourced, meaning this is a great opportunity to expand your open source contribution portfolio. Previous compiler development experience is not required, but experience with any of the aspects of development outlined above would be an advantage. A demonstrated enthusiasm for compilation technology and/or performance optimization will be viewed favorably.
The main responsibilities of the team include:
- Develop and deliver code features and improvements to IBM Java compilers.
- Collaborate with research, development, performance and functional test teams situated across the globe on a daily basis.
- Influence the design of future generation of hardware and OS/Kernel enhancements thorough collaboration with IBM hardware/OS teams.
Required Technical and Professional Expertise
- Co-op or internship program enrollment is mandatory
- 1-year experience in programming in C/C++
- 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/assembly level
- Experience with post-mortem core file analysis
- Experience with performance analysis and software profiling tools (e.g. jprof, perf)
- Experience with data structure selection and algorithm complexity analysis
- Experience with computer architecture and operating systems
- Basic knowledge in compiler development
- 1 year experience in programming in Java
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.