Job Description:
DevOps CICD expert
Experience required: 6+ years
Role description:
- Pipeline Development: Design, implement, and maintain large scale CI/CD pipelines which can be tailored for system software and firmware projects written in C and C++.
- Version Control Management: Work with version control tools (e.g., Git , SVN ) to ensure efficient branching strategies and repository management.
- Build and Integration: Automate build and integration workflows for firmware and controller software, including cross-compilation for embedded systems.
- Collaboration with Developers: Collaborate with development teams to ensure seamless integration of new features into the pipelines and provide support for debugging build failures.
- Testing and Validation: Integrate automated testing frameworks, static code analysis, and unit testing tools.
- Deployment: Develop and maintain deployment pipelines for firmware to IoT devices and ensure efficient rollbacks when necessary.
- Monitoring and Optimization: Monitor pipeline performance, troubleshoot issues, and continuously optimize for speed and reliability.
- Documentation and Standards: Establish and maintain documentation for CI/CD pipelines and ensure adherence to DevOps best practices.
- Toolchain Management: Manage build environments and dependencies, including compiler toolchains and libraries for C/C++ projects.
- Security: Implement security practices, including vulnerability scanning and artifact integrity verification, in the pipeline.
Education: Bachelor's or master’s degree in computer science, Software Engineering, or a related field.
Required Skills & Experience:
- 6+ Years of Proven experience in DevOps roles, particularly with CI/CD expertise
- Proficiency in anyone of CI/CD tools like Jenkins, GitLab CI, GitHub, Azure DevOps, or CircleCI.
- Excellent problem-solving and troubleshooting skills.
- Good to have prior experience of Key foundational services in cloud platforms like AWS.
- Good to have hand-on skills in C and C++, with a clear understanding of their building systems (e.g., Makefile, CMake, Bazel).
- Experience with cross-compilation, embedded systems build processes and working with microcontroller architectures.
- Knowledge of containerization tools (e.g., Docker) and container orchestration platforms (e.g., Kubernetes) is a plus.
- Scripting and Automation: Strong scripting skills in Python, Bash, or similar for automation tasks.
- Testing Tools: Familiarity with automated testing frameworks
- Version Control Systems: Advanced knowledge of Git workflows, including branching, merging, and tagging strategies.
- Operating Systems: Experience with Linux environments, particularly for embedded software development.