About the Team:
The Compiler & Toolchain team on IBM Z focuses on enabling and optimizing modern programming languages and runtime ecosystems for enterprise workloads on IBM Z systems. The team works on compiler enablement, toolchain validation, performance optimization, benchmarking, and upstream open-source contributions for technologies such as Golang, OpenJDK, .NET and Node.js on Linux for IBM Z.
Golang Compiler & Toolchain Development:
* Develop and maintain Golang compiler and toolchain features for IBM Z platform.
* Support debugging and fixing issues in the Go compiler, assembler, runtime, and standard libraries on IBM Z platform.
* Run and analyze compiler validation, benchmark, and regression tests to identify performance characteristics and functional issues.
* Assist in optimizing Golang applications and runtime behavior for IBM Z architecture.
* Learn and contribute to automation of Go compiler/toolchain validation and benchmarking workflows.
* Work with upstream Go open-source communities and contribute fixes/enhancements where applicable.
Optimization and Performance:
* Assist in profiling Go applications and compiler-generated code to identify performance bottlenecks.
* Support implementation and validation of compiler and runtime performance improvements under guidance from senior team members.
* Learn performance tuning techniques specific to IBM Z architecture.
* Participate in benchmarking and comparative analysis across Go releases and toolchain versions.
Collaboration and Communication:
* Work closely with team members and mentors to understand compiler internals and development workflows.
* Collaborate with development, testing, and performance teams to troubleshoot and resolve issues.
* Participate in technical discussions within the compiler and toolchain ecosystem.
* Communicate progress, findings, and technical challenges clearly within the team.
Required Professional and Technical Expertise:
* Bachelor’s or Master’s degree in Computer Science, Electronics, Information Technology, or related field.
* Strong C/C++ programming skills and data structures with 1-2 years of project development experience.
* Good understanding of System programming, Linux Operating systems and Linux internals.
* Basic understanding of compiler concepts and compilation stages/process.
* Familiarity with debugging concepts.
* Exposure to Linux development environments and shell scripting.
* Understanding of software build systems, testing, and debugging tools.
* Strong analytical and problem-solving skills.
* Good communication and teamwork abilities.
Preferred Technical and Professional Experience:
* Exposure to compiler development projects, compiler technologies, toolchains, or systems programming projects.
* Familiarity with assembly language concepts and computer architecture.
* Knowledge of Golang programming language.
* Knowledge of Git, CI/CD workflows, and open-source development practices.
* Exposure to performance analysis and benchmarking tools.
* Understanding of IBM Z architecture, Linux on IBM Z platform, or enterprise systems is an added advantage.
2 - 5
