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
- Minimum 6 years of substantial software development experience in source controlled / change managed software projects (Band 6/7)
- Demonstrated experience in Python, shell scripting, automation, command-line environments.
- Exposure to Agile methodology and DevOps frameworks/concepts
- Demonstrated communication skills in a team environment.
- Strong analytical, debugging and problem-solving skills to triage and resolve issues/defects in build and delivery pipelines.
- Experience with open-source technologies and proficient with GitHub
- Proficiency in general Linux/UNIX command-line operations, understanding of package managers, filesystems, network mounts and troubleshooting concepts.
- Proven ability to learn new technologies quickly and apply those technologies to solve complex problems.
Preferred Technical and Professional Expertise
- Working experience and knowledge in developing and maintaining CI/CD pipelines such as Jenkins (groovy), Buildbot, Ansible and similar
- Working experience with containerization technologies such as Docker, podman, Kubernetes and OpenShift.
- Knowledge or experience of compiler construction/build/development
- Demonstrated experience in C/C++ like languages, perl, Python or Go.
- Contribution or participation in large scale multi-developer software projects and deployment.