Compiler Backend Developer
Bengaluru (Bangalore Urban) IT development
Job description
Introduction
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
At IBM we have an amazing opportunity to transform the world with cognitive technology. By using the vast amounts of information available today to identify new patterns and make new discoveries, we are helping cities become smarter, hospitals transform patient care, financial institutions minimize risk, and pharmaceuticals find cures for rare diseases. Join the forward-thinking teams at IBM solving some of the world’s most complex problems – there is no better place to grow your career!
The IBM Compiler Group (India Lab branch) is looking for software developers to join our world class Compiler Team. IBM compilers are at the cutting edge of compilation technology targeting a variety of hardware and software; including z/OS on IBM Z Systems as well as AIX & Linux on IBM Power. We produce compilers for a range of source languages (C, C++, COBOL, Fortran, Go, Java, PL/I, PL/X, Python, Node.js and HLASM) optimized for IBM Z Systems and IBM Power. Our squads are autonomous, multi-disciplinary teams, consisting of talented software developers with knowledge in new and up and coming language standards, hardware design, compiler optimization expertise, open source language development, and proven software development skills.
This position offers you a rare opportunity to influence the technology that is the backbone of Fortune 500 companies. The work 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 science to solve challenging and complex problems. Candidates for this role should have an interest in learning and writing code in a variety of programming languages (especially low-level ones), possess an innovative mindset, and passion to push limits on finding new and inventive ways to work. Curiosity is a must!
Required Technical and Professional Expertise
· Outstanding communication skills
· Outstanding team skills
· 3+ years of professional software development experience
· Experience in coding on at least one significant software project in C++
· Experience in debugging and problem determination
· Familiarity with low level programming (e.g. projects involving assembler or embedded systems, taken courses such as computer architecture, operating systems, microprocessor systems...)
Preferred Technical and Professional Expertise
· Experience in compiler development (compiler construction or compiler optimization)
· Programming skills in any of: PL/I, COBOL, C/C++, PL/X, or HLASM
· Experience in low-level programming (e.g. assembly language, embedded systems development) and low-level debugging
· Experience in benchmarking or application performance analysis
· Experience working in open-source projects
· Basic knowledge in one or more computer architectures, and of hardware/software interactions
· Experience working on System Z (especially z/OS)