You are here

Share this page on Twitter

Share this page on Facebook

Share this page on LinkedIn

Share this page by email



 Google +1







Principal Development Operations and Build Engineer

Principal Development Operations and Build Engineer

Overall purpose of job

  • Leading our software development operations team, developing pipelines for our CI / CD systems (Jenkins, etc) and providing a testing framework for others to use
  • Defining the CI / CD roadmap and executing against plan
  • Supporting and maintaining our CI / CD hardware, including our bespoke HW test environment

Major responsibilities and tasks

  • Define, implement and support test infrastructure, continuous integration tools, continuous build processes and other related tools
  • Develop robust record keeping of test results and testing trends
  • Develop a suite of product metrics that allow insight to product performance (memory, processor utilisation, etc.) for the software team to measure and monitor their performance
  • Support and maintain our CI hardware (servers, radios, etc.) working with IT as needed
  • Continue the team’s drive to automate more of the software process
  • Reviewing test cases and occasionally writing tests
  • Work with the rest of the Software team (other software engineers as well as DSP, FPGA, Radio and other specialists) to collaborate on development projects, ensuring the test infrastructure and tests meet the projects requirements
  • Work closely with the System Test team to keep the quality of software high and investigate problems together
  • Follow the processes of the team and company, but be willing to improve them

CBNL currently uses Jenkins 2 (Blue Ocean) with pipelines coupled with Github and Jira to automate the Jira ticket workflow and on each pull request build and test the software. There is integration with SonarQube (more needed) and a bespoke / inhouse test framework (required to work with bespoke HW). Further development is needed for the bespoke test environment, our release processes, improvements to build processes, better integration of Selenium and other tools, etc.

Competencies (technical, managerial, personal skills and relevant experience)

  • A good degree in Computer Science or another applicable subject
  • A background and demonstrable experience in CI / CD tools such as Jenkins, Travis, TeamCity or Buildbot, or others
  • Strong knowledge in Python
  • Good troubleshooting skills and log analysis
  • Experience with git, or at least other version control tools
  • Multi OS experience with a heavy Linux orientation
  • Some knowledge of network protocols, the lower level the better
  • Strong desire to learn new architectures 
  • Demonstrable experience in CI pipelines
  • A desire to learn and grow
  • Linux device drivers, especially network drivers
  • Make and complex build chains built around it
  • Bash, Make, Java, JavaScript, Groovy, Go or similar
  • Docker experience
  • Desire to improve processes and ways of working
  • Radio and/telecommunications product development
  • Work with large, existing code bases rather than fresh-ground development
  • Hardware support experience (e.g. installing server into rack and associated cabling)