My client is an exciting start-up company with ground-breaking technology that makes the internet a far safer place for work and play. As a dev-ops engineer, you will focus on developing, maintaining, and running the continuous integration and testing infrastructure, including bespoke and third-party solutions.
You will be adept at scripting, designing automated tests, and have a track record of picking up and working with different technologies.
Duties and responsibilities of the DevOps Engineer
Your primary focus with be on the continuous integration and testing infrastructure, but you will contribute to all aspects of product engineering within the team and take the lead on developing CI and test software components.
Your responsibilities will include:
Continuous integration / deployment
- Developing new software and firmware (FPGA) build and integration pipelines and re-engineering existing ones to streamline continuous integration and deployment
- Creating and maintaining scripts to automate routine development activities, such as appliance configuration and system releases
- Coordinating with all teams to effectively understand (and then eliminate) limitations in engineering build, deploy and test workflows
Test toolbox capability development
- Developing the system-level test framework and reusable test components for end-to-end testing of the solution and individual solution components
- Enabling all engineers to effectively test new features by providing software tools and interfaces and providing support in their test development
- Expanding coverage of automated tests and reducing reliance on manual testing
- Enhancing CI and test infrastructure, including helping with some limited IT administration and network maintenance in direct support of the engineering team
- Researching and integrating third-party solutions to dev-ops needs.
- Investigating new technologies and performing rapid prototyping under the direction of the Head of Engineering or the CTO to support technical de-risking and discover new opportunities for design improvements
- Promoting a "dev-ops mindset" across the engineering team and accelerating the adoption of new tools and workflows across new and existing projects
In addition to the specific software engineering responsibilities above, you are encouraged to get involved in the wider business where possible, such as getting involved with customer trials, helping to write customer-facing documentation or building and setting up demonstrations to support marketing events.
Your technical background should include:
- A degree in a relevant STEM subject or equivalent professional experience
- Development experience with Python (ideally; or other scripting language e.g. Perl, Ruby, Bash, Shell) and the .NET framework (ideally in C#)
- Knowledge of other languages (C++, Java)
- Broad understanding of development tools and technology, including source control, continuous integration, container concepts etc
- Passion for improving engineering workflows and quality, working across teams to embed automation and rapid feedback into engineering practices
- Experience developing and running automated tests
- Working in a product engineering environment
We are delighted to have team members who show the following qualities:
- You are self-motivated, enjoy technical challenges and delivering results
- You are flexible and adaptable and can cope when thrown in at the deep end
- You recognise the importance of planning, prioritisation and getting work done on schedule
- You can communicate well, both verbally and in writing
- You collaborate with team members and have excellent interpersonal skills