Devops Architect
Description
- Contribute to the elaboration of product/system specification architecture, in collaboration with cross-functional teams
- Define the software requirements specifications
- Define the functional requirements, operational requirements, interfaces requirements and the requirements linked to performance, safety, cybersecurity, RAM constraints
- Ensure that all the requirements can be verified (testability, )
- Ensure the traceability of the software requirements through the development cycle
- Define the software architecture
- Elaborate the functional and structural breakdown into software components
- Allocate the requirements to the software components
- Define the interfaces between the software components
- Define the dynamical behavior of the software
- Validate the feasibility of the solution: model simulation, mock-up
- Take main technical choices for software development
- Select development tools, methodology (ex: UML, ), programming languages, coding strategy and coding rules, strictly following internal process/methods tools recommendations
- Contribute to the selection of the execution environment (processor, operating system, middleware, basic software), together with the product architect, system engineering manager and hardware architect
- Designing and implementing DevOps strategies: This includes creating scalable frameworks (GitLab CI/CD components), integrating tools (compilation, SCA, SATS, etc) and processes, and aligning DevOps practices with business objectives.
- Building and maintaining CI/CD pipelines: Automating the build with powershell, python; automatic deployment processes to enable rapid and reliable software releases.
Managing cloud-based infrastructure: Overseeing the deployment and management of cloud infrastructure using tools like Terraform and Kubernetes.
- Collaborating with other teams: Working with development, operations, and security teams to ensure smooth and secure software delivery.
Monitoring and optimizing system performance: Ensuring the system is running efficiently, is scalable, and is secure.
- Guiding and mentoring junior engineers: Helping to foster a culture of continuous improvement.
Implementing Infrastructure as Code (IaC): Defining and managing infrastructure using code to bring agility and consistency.
- Ensuring security: Implementing security measures, identity management, and compliance controls.
- Arbitrate and validate major software design choices
- Mentor developers and provide technical leadership within the team
- Perform software/software integration, together with the software designers
- Perform hardware/software integration, together with the hardware architect
- Specify, design, prepare and perform tests and verifications of his/her deliverables
- Sustain the software
- Keep informed of the evolution of technologies through techno watch
- Contribute to standardization by reusing existing solutions or by defining reusable solutions, including COTS*
- Apply and ensure application of processes and standards
- Contribute to continuous improvement (RoE: Return of Experience, process)
- Design and implement CI/CD pipelines using GitLab for automated build, test, and deployment.
- Architect and manage containerized environments using Docker and Kubernetes.
- Implement GitOps workflows using ArgoCD for continuous delivery.
- Develop and maintain Infrastructure as Code (IaC) using Terraform and Ansible.
- Set up monitoring and observability solutions using Prometheus and Grafana.
- Ensure high availability, scalability, and security of cloud-native applications.
- Collaborate with development, QA, and operations teams to streamline delivery processes.
- Drive best practices for DevOps, automation, and cloud infrastructure.
All about you
- Bachelor's or Masters degree in Engineering or computer Science, Software Engineering, ( Engineering Dgree)
- 10+ years of experience in software development and architecture, with a strong focus on DevOps and CI/CD practices