Build Engineer role at IBM in Durham

IBM in Durham is hiring a Build Engineer

This job might already be filled.

Software Developers at IBM are the backbone of our strategic initiatives to design, code, test, and provide industry-leading solutions that make the world run today – planes and trains take off on time, bank transactions complete in the blink of an eye and the world remains safe because of the work our software developers do. Whether you are working on projects internally or for a client, software development is critical to the success of IBM and our clients worldwide. At IBM, you will use the latest software development tools, techniques and approaches and work with leading minds in the industry to build solutions you can be proud of.

Your Role and ResponsibilitiesAt IBM Watson orders, work is more than a job – it’s a calling: To build. To design. To code. To consult. To think along with clients and sell. To make markets. To invent. To collaborate. Not just to do something better, but to attempt things you’ve never thought possible. Are you ready to lead in this new era of technology and solve some of the world’s most challenging problems? If so, let’s talk.Your Role and Responsibilities
This role is looking for a talented engineer to help own, manage, and develop the common runtime and build tooling for the IBM Watson Orders offering. The core responsibilities of an engineer in this space are:

  • Own the core build tooling for our Python monorepo built with pants.
  • Develop and maintain internal build tool plugins and development environment tooling.
  • Own and develop the integration of our python tooling stacks: python3.8, pytest, flake8, pylint, mypy, 150+ pypi libs
  • Provide integration support for IDEs in our build and test environment (VSCode, IntelliJ)
  • Develop and maintain engineer-facing build, test, profile, static analysis, and release tooling
  • Serve as an owner in the continuous process of maintaining the canon of “Best Practices” including the policy judgement made around code style, documentation conventions, calling patterns, and library use including identifying and migrating to common third-party libraries, where appropriate.
  • Educate the engineering teams on best practices, and where possible, automate enforcement and migrate existing code to ensure compliance
  • Define and maintain the environment defined by a “correct” checkout of the dev environment, the associated automated tooling, as well as the “correct” integration with various IDEs and profiling tooling
  • Provide technical support and training to engineers on the use of the development environment

Required Technical and Professional Expertise

  • 5+ years of professional experience in Python
  • Quick learner and ability to quickly add value to the team
  • 3+ years of experience in Linux environments
  • 3+ years of professional experience in Bash Shell Scripting

Preferred Technical and Professional Expertise

  • Strong knowledge of python language, runtime, and ecosystem
  • Experience with tooling in monorepos
  • Bazel / Pants or similar core build system
  • BS degree in Computer Science, similar technical field, or equivalent experience