Your Role and Responsibilities
- In this Role You are required to focus on development of the Golang compiler with a high focus on enhancing performance.
- Your responsibilities will comprise of design and specifications for new enhancements, coding (including test automation), problem determination and bug fixing, performance analysis, and solving client problems.
- You will get opportunity to attend Open Source community meetings and will support client facing activities (e.g. client support, providing lectures at conferences).
- You will closely interact with the respective Open Source communities (“”upstream integration”” of your code) and our distribution partners (Red Hat, SUSE, Canonical).
- In this job offering, we are specifically looking for a new team member to grow our toolchain
- development squad (e.g. GCC, LLVM, Performance Tooling, Binutils, Valgrind, GDB, math & AI libraries).
- Our toolchain team provides a wide range of different opportunities to work on low-level core Linux components. You will get the opportunity to look “under the hood” and build your skill working closely together with experienced IBM Z experts and Open Source maintainers.”
Required Technical and Professional Expertise
- At least 5+ years of experience working with the Go programming language/ Golang development.
- Knowledge of various Go frameworks and tools. Experience in Golang and micro-services architecture
- Understanding of Go Routine and Channel patterns
- Experience in low-level programming (e.g. C, C++, Assembler)
- Source code repository systems (e.g. git), scripting languages (e.g. Python) and test automation skills (e.g. Jenkins)
- Highly motivated individual to work on Enablement and Development of new features.
- Strong analytical and problem-solving skills, go beyond own assets for end-to-end analysis at eco-system.
- Strong written and communication skills with proven fluency in English
Preferred Technical and Professional Expertise
- Experience with Stringer, Go’s code generation tools
- Passionate about learning new tools, languages, philosophies, and workflows
- Experience with monitoring tools for identifying root cause
- Prior contributions to Open Source projects or current Open Source maintainer status
- History of code reviews (e.g. on mailing lists)
- 2 years of experience with toolchain or Go libraries, tools, project around performance
- Experience with packaging for Linux distributions
- Skills in IBM Z architecture (“”Principles of Operations””) Z assembler and I/O concepts
- Understanding of Endianness