Job Description
**Introduction** 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. **Your role and responsibilities** 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 technical and professional expertise** 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** 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. 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, sex, gender, gender identity or expression, sexual orientation, national origin, caste, genetics, pregnancy, disability, neurodivergence, age, veteran status, or other characteristics. IBM is also committed to compliance with all fair employment practices regarding citizenship and immigration status.
Get AI-Matched to This Job
Upload your resume and our AI will score how well you match this and thousands of similar roles.