Your Role and Responsibilities- Your Role and Responsibilities: Do you have a passion for learning and applying modern software engineering practices? Are you excited to use these practices to deliver and manage enterprise software products at scale? Are you interested in IBM’s compiler technology strategy, helping drive digital transformation on application optimization on IBM’s cutting edge platforms? Have a knack for DevOps, automation and release engineering? The IBM Compilation Technology team is looking for Software Developers to join our mission to deliver leading-edge compiler offerings. The IBM Compilation Technology team is known for developing world-class compilers and runtimes. 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, contribute to the open source compiler technologies, and proven software development skills. Work with a multitude of development teams to enable continuous integration environments that sustain high productivity levels and emphasizes defect prevention techniques. Design and develop industry impacting services using open source and commercial technologies at scale. Develop, manage and allocate tools, accelerators, frameworks, templates and other assets critical to engineering productivity and quality that enable enterprise product development delivery. Foster an environment that enables teams to do things correctly, quickly, consistently and with less effort and learning. Modernization and implementation using industry standard tooling and concepts within production and development workflows.
Required Technical and Professional Expertise
- Outstanding communication skills
- Outstanding team skills
- 5+ 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, C/C++, PL/X, or HLASM
- Experience in low-level programming (e.g. assembly language, embedded systems development) and low-level debugging
- 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)”