Job Description
As a Software developer, you will design, build and maintain scalable and resilient software environments, lead the evolution of our continuous integration/continuous deployment infrastructure, as well as ensuring daily platform availability and operations that will support our vision towards an automated, self-optimized and self-healed network.
Key Responsibilities:
- Design, code, test and deliver the services and functions with production quality.
- Contribute to implement good software development practices: continuous integration (CI), continuous deployment (CD), static code analysis, test automation (TDD), etc.
- Actively participate to implement DevOps concepts.
- Define requirements and specifications with internal groups in an Agile setting (Epics and User Stories)
Critical Competencies:
- Bachelor's degree in IT, software engineering or equivalent.
- 1-3 years of technical or operation experience in network or IT.
- Extensive experience with Linux administration and tuning (Ubuntu, CentOS, RHEL).
- Proficiency in Shell, Python, and Go is a plus.
- Proficiency in building and running apps within Docker.
- Strong experience delivering and operating large, distributed, and resilient (micro-services) software systems in cloud environments such as Kubernetes.
- Strong experience in automation tools such as Helm, Ansible, Puppet, Salt, and Chef.
- Experience in CI/CD implementations (e.g. Git, Jenkins, GoCD, GitLAB, Nexus, Artifactory) to develop the fully automated CI/CD pipelines.
- Strong interpersonal, oral and written communication skills, with a good sense of humour.
- Team player who always put the interest of the team above all other priorities.
- Strong aptitude to recognize opportunities for improvement in day-to-day work and take appropriate actions.
- Excellent analytical, problem solving and decision making skills with a strong attention to detail.
- Strong time management skills and work ethic (highly motivated) to manage multiple projects/accountabilities.
Additional Competencies:
- Hands-on experience with networking software, protocols and models (ONAP, Opendaylight, Openstack, YANG, TOSCA, HEAT, Netconf/RESTconf, SNMP, CLI, BGP, IPv6).
- Experience with micro-services software architecture (and RESTful APIs) and container environments (Docker, Kubernetes).
- Experience contributing to open source projects.