The Smiths Digital Forge is a center of excellence for the development of software technologies that will enable the digital transformation of the Smiths business. The Digital Forge is a set of facilities that are located in various geographic locations throughout the world. Each location consists of a software-centric pool of talent, located in a technology/innovation rich area (San Francisco area is the first). The Digital Forge focuses on innovation through reinvention of business models, products and services. Technology employed will largely be conventional (cloud, deep learning and AI, networked devices, high performance compute, commodity sensors, embedded connected devices/IoT), although some effort will be forward looking (e.g. Augmented Reality, etc.).
The Smiths Digital Forge currently has an opportunity for a Build Engineer who will be responsible for increased efficiency and quality of our automated build pipelines and processes. This position is responsible for software builds and releases as well as improving the technology solutions on the team.
Duties and Responsibilites
- Responsible for developing, supporting and maintaining software for various Smiths products.
- Ability to prototype and change technical course at short notice based on feedback.
- Identify suitable build and deployment schedules and initiate packaging and build processes
- Work well with a team of skilled developers and other engineers to maintain and enhance a robust build pipeline
- Work in an open culture where design, code and ideas are open to scrutiny and discussion
- Perform as a technical liaison for Engineering and operations on every aspect associated with final software product release and control baseline issues
- Write effective documentation
- Monitor automation systems, proactively respond to breakages
- Correct build errors by working with development engineers
- Work with an agile developmental approach w.r.t new software and releases.
- Prepare, evaluate and maintain various tools and processes for software product release
- Design, manage and execute tools and scripts to develop different versions of products
- Comply with and ensure department compliance with Company health, safety and environmental policies.
- Comply with all applicable U.S. export control and security regulations.
- Other duties as required.
Required Skills andExperience
- B.S in Computer Science, Information Technology or related fields.
- 2-3years of programming in C#, Java, or related OO programming language
- 2-3years of experience as build/devops engineer.
- A minimum of 3years of professional experience
- Good knowledge and experience with Software Version Control systems - git primarily and Subversion
- Knowledge of CMake and other build systems
- Experience in GitHub workflow and working knowledge with configuration management tools included but not limited to:
- Some knowledge of Build Tools and Languages included: Java, C, C++, Ruby, Python
- Experienceworking with server clusters running on Microsoft Azure, Google Cloud, or Amazon AWS.
- Knowledge of embedded toolchains like yocto and integrating these into automated build suites.
- Experience maintaining automated build systems such as Jenkins/Hudson.
- Experience in writing tools and applications to automate build tasks.
- Comfortable with IaC (infrastructure-as-code) as a philosophy and tools involved in an IaC based approach
- Knowledge of Docker, Ansible, Vagrant is necessary. Salt/puppet/chef is a plus.
- Windows, Mac, and Linux system administration experience: ssh, monitoring, disk management etc.
- Experience implementing Continuous Integration or Continuous Delivery processes in engineering teams
- Experience managing and integrating test automation into various points in a deployment pipeline
- Able to document procedures for building and deploying
- Excellent debugging skills to root cause build and tests failures
- Effective written and verbal communication skills
- Demonstrated analytical and problem-solving skills