Software Developers at IBM are the backbone of our strategic initiatives to design, code, test, and provide industry-leading solutions that make the world run today - planes and trains take off on time, bank transactions complete in the blink of an eye and the world remains safe because of the work our software developers do. Whether you are working on projects internally or for a client, software development is critical to the success of IBM and our clients worldwide. At IBM, you will use the latest software development tools, techniques and approaches and work with leading minds in the industry to build solutions you can be proud of.
Your Role and Responsibilities
The IBM Compiler team, located at the IBM Canada Lab in Markham Ontario, is looking for software developers with a passion for compiler technologies to join our mission in developing IBM Z systems optimizing compilers. The IBM Canada Lab is the compilation hub within IBM, known for developing world-class compilers and runtimes. If you have C++ coding experience, a demonstrated understanding of algorithms and data structures, an interest in programming language design 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.
Our compiler teams are at the cutting edge of compilation technology, and our developers have helped deliver language standard conformance and industry leading benchmark results. We produce compilers for a range of source languages optimized for IBM POWER and IBM Z systems. Our experienced developers often contribute to the design of future IBM processors, the evolution of programming languages and many have acquired extensive patent portfolios. A number of our developers have gone on to become Directors, Distinguished Engineers, and IBM Fellows.
The main responsibilities of the team include:
-Problem determination, recreation, and providing fixes to IBM Z systems compiler clients
Collaborate with research, development and functional teams situated across the globe
Interact with IBM middleware teams to expand compilera solutions
Influence the design of future generation of hardware and OS enhancements through collaboration with IBM hardware/OS teams
Software developers on the team will participate in all aspects of the software development process, from design to implementation, from testing to product delivery and support. Ideal candidates should feel comfortable working in an agile software development environment.
Required Technical and Professional Expertise
Bachelor's Degree or higher in Computer Science or Engineering
Proficiency and experience programming in C/C++ (at least 1 year)
Experience in advanced data structures and algorithms (at least 1 year)
Experience in debugging and problem determination (at least 1 year)
Good verbal and written communication skills
Fluent English is mandatory
Preferred Technical and Professional Expertise
Basic knowledge in compiler development, hardware architectures and operating systems
Experience in low-level programming (assemble language, embedded development) and problem determination at the system level
Proficiency in compiler optimization techniques
Experience in developing software on IBM Z and Unix systems
Knowledge of COBOL and PL/I programming language is an asset
About Business Unit
IBM Systems helps IT leaders think differently about their infrastructure. IBM servers and storage are no longer inanimate - they can understand, reason, and learn so our clients can innovate while avoiding IT issues. Our systems power the world’s most important industries and our clients are the architects of the future. Join us to help build our leading-edge technology portfolio designed for cognitive business and optimized for cloud computing.
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.
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.
For additional information about location requirements, please discuss with the recruiter following submission of your application.
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.