Continuous Integration Engineer
Location | Dar es Salaam, Tanzania, United Republic of |
Date Posted | April 14, 2024 |
Category | Engineering IT / Information Technology |
Job Type | Full-time |
Currency | TZS |
Description
Job Overview
We are looking for a Continuous Integration Engineer. Automation of different processes, such as builds, tests, deployments and many others, which helps our engineers to save their time, is an important area of our company. CI team take a lead part in this automation, also known as CI/CD (Continuous Integration/Continuous Delivery). Many processes are automated now and a lot of work lies ahead.
The CI team currently has Jenkins Job Builder, a code base with Bash, Python and Groovy injection, Gitlab repositories for CI team projects with pre-commit testing and review, and CI infrastructure (bare metal hosts) in the data center with kubernetes clusters installed. Our team is compact, consisting of five members plus a lead who also contributes to coding. We offer support for any issues and provide ample opportunities for learning and development.
Responsibilities
- Develop CI/CD for new products (NX private cloud, NxConnect, NxGo, etc)
- Work on performance and improve our Gitlab pipelines
- Work on CI/CD architecture improvements
- Improve our Jenkins jobs usability
- Work with large and constantly growing JIRA backlog of automation requests
- Work on useful and convenient tools for our engineers, which help to save their time
- Support current CI/CD solution: work on issues and bug fixes
- Software development skills in any language (Python, C++, Java, etc)
- Understanding the principles of good architecture
- Jenkins job development experience
- Good git experience
- Linux experience
- General knowledges of computer science (Networks, OS, hardware, etc)
- Bash experience (optional)
- Python experience (optional)
- Groovy experience (optional)
- Jenkins Job Builder experience (optional)
- Windows: Administration, powershell, utils skills (optional)
- Experience in DevOps tools (Ansible) (optional)
- GitLab pipelines experience (optional)
- Kubernetes experience (optional)
Additional Information
Processes that are now automated:
- CI for our products - run gitlab pipeline with builds and tests for our products
- Service deployments, required for development (Gitlab, Artifactory, Vault, Grafana, Graylog) into the Kubernetes cluster (Helm, ansible)
- CI environment deployment (setup hosts, VMs and AWS infrastructure), required for build, tests and deploy our products (Ansible)
- CI/CD for internal CI team projects (jenkins jobs, internal web-services)
- GitLab Bots to automate routine user tasks during the merge requests
- Infrastructure monitoring and metrics collection (Grafana+telegraf, Graylog)