The DevOps Engineer will be part of the Software Engineering team and contribute to the goal of developing a product that can be deployed in a controlled and automated form while being a safe and effective product in operation.
The primary duties of this position will include development and maintenance of product operating system platforms and tools, and an effective build, release and deployment process that meets the needs of multiple projects and deployment platforms. The position will also build and support the various software tools that empower a best-in-class software engineering organization. The DevOps Engineer will help us improve our build infrastructure and processes, identify and fine-tune our DevOps tool chain, improve our deployment methodology, and other tasks to improve effectiveness and efficiency across the software engineering organization. This position will be a bridge between product development and its operational concerns and will also play a key role in transitioning the software release to the NPI organization.
Besides a strong interest and expertise in tools and infrastructure and the dedication to producing automation solutions for continuous integration, this position requires good familiarity with web technology, information management, and software engineering concepts. He or she will engage on any and every issue necessary to ship products to customers of the highest quality and reliability.
- Build and maintain custom Linux and QNX operating systems
- Development and support current build infrastructure, deployment and DevOps processes
- Oversee and actively participate in the automation of software build and deployments
- Development of the software installation tools, processes and packages
- Support software engineering tooling and initiatives related to data processing, data gathering, deployments and performance testing
- Collaborate continuously with other team members to ensure consistent processes across all development teams
- Support all required tool validation processes
- Execute static and dynamic code analysis tools for C++ language and help team to fix the same.
- Bachelor’s degree in Computer Science or related field or commensurate industry experience
- 2-5 years working in a Linux environment.
- Good understanding of build and release process, including Continuous Integration and Continuous Deployment
- Experience with CMake, Make and C++ build environment
- Experience setting up and executing static and dynamic code analysis tools
- Experience in Unix OS and Administration
- Experience managing Ubuntu Desktop and Server configurations
- Experience with a common scripting language like Shell, Python
- Knowledge of Git version control system is a plus
- Knowledge of Docker containers is a plus
- Any experience with MongoDB, Ansible is a plus
- Excellent communication skills across all levels of the organization
- A passion for creating robust and reliable products