Cellulant is a leading Pan African payments company that provides locally relevant and alternative payment methods for global, regional and local merchants. We provide a single API payments platform - Tingg - that enables businesses to collect payments online and offline while allowing anyone to pay from their mobile money, local and international cards, or directly from their bank.
Founded in 2003, Cellulant has more than 18 years of experience in providing locally relevant payment solutions for businesses and their consumers.
Our evolution over the years, from a digital content business to mobile banking and now to payments has allowed us to build strong relationships and partnerships. We’ve taken our years of experience and assets acquired over the years to provide a payments platform in the continent that focuses on driving merchant business and digital payments for local, regional, and global merchants in the continent, and digitizing both online and offline payments.
Since 2003, the Cellulant team has learned, adapted and leveraged their experiences to pivot the business to become the leading payments provider in the continent.
You can read more about us and our Group leaders and Country Champions.
Senior Engineer: Release Engineering (CI/CD).
This role is location agnostic; however, a candidate’s home time zone will be relevant to success in the role (GMT –1 to +3 preferred).
The Release Engineer is responsible for the automation of all manual tasks for the building & deployment of both software & data to enable continuous integration & continuous deployment delivery workflows. You will work with other team members on best practices for developing & maintaining best-in-class business CI/CD pipelines built with industry-leading technology.
Key Relationships: Cloud Engineering Team, AppSec Team, Quality Assurance Team & Software Engineering Teams.
- Provide detailed specifications for proposed solutions including materials, manpower, and time necessary.
- Analyze current technology utilized within the company and develop steps and processes to improve and expand upon them.
- Assist other department engineers in creating practical demonstrations of proposed solutions and demonstrating them to other members of the team
- Researches new use cases, bugs, issues, platform architecture, and stack changes in various industry segments.
- Monitors and analyzes product performance, converts data into meaningful business insights, and make recommendations to stakeholders for improvisation.
- Work closely with the engineering teams to design, schedule, and deliver in an agile environment.
- Provide clear goals for all areas of a project and develop steps to oversee their timely execution.
QUALIFICATIONS & EXPERIENCE:
Must have experience:
- High school degree or equivalent; bachelor’s degree in CS, engineering, software engineering, or related field.
- 6+ years of professional experience as a Software Engineer or DevOps Engineer or Site Reliability Engineer (SRE).
- Experience and working knowledge of programming languages Java, Go, or Python.
- Current understanding of best practices regarding software design and system security measures.
- Experience working together with teams from several departments to facilitate the orderly execution of a proposed project plan.
- Professional experience and a high-level understanding of working with various operating systems and their implications.
- Comfortable with command-line tools (Bash, Powershell).
- Familiar with agile software development lifecycles.
- Knowledge of best practices and IT operations for always-up, always-available services.
Experience that will count in your favor:
- Docker/container cluster management (AWS ECS, Kubernetes, Vagrant, OpenShift, Apache Mesos, Deis, Mesosphere DCOS,).
- Docker/Microservice release orchestration including Blue-Green Deployments and Canary Releases.
- Continuous Integration/Continuous Delivery software release management and automation.
- Managing infrastructure on Amazon AWS.
Nice to have experience:
- Ability to work under pressure in a fast-paced and ever-changing environment to meet deadlines.
- Proven ability to manage projects.
- Knowledge of software development lifecycle stages, DevOps practices, and methodologies.
- Self-starter and should have the ability to understand and work within the team dynamics.
- Ability to handle multiple assignments, tasks, and responsibilities.
- You pride yourself on being patient, a problem solver, ambitious, proactive/assertive, and dependable to follow through.
- Accuracy and detail-oriented
- Interpersonal and oral communication skills.
- Ability to conduct independent research and convert data into meaningful developer insights.
- Release Management: As a senior release engineer, you must have a thorough understanding of the release management process, including planning, scheduling, coordinating, and communicating releases. This includes managing dependencies, risks, and issues, and ensuring that releases are delivered on time and within scope.
- Configuration Management: Configuration management is the process of tracking and managing changes to software, hardware, and other systems. As a senior release engineer, you should have a strong understanding of configuration management tools and processes, including version control, change management, and release automation.
- Quality Assurance: As a senior release engineer, you must ensure that releases are thoroughly tested and meet the organization's quality standards. This includes developing and implementing test plans, conducting functional and regression testing, and identifying and addressing defects.
- Continuous Integration and Deployment: Continuous integration and deployment (CI/CD) is the process of automating the build, test, and deployment of software. As a senior release engineer, you must have a strong understanding of CI/CD tools and processes, including source control, build automation, and deployment automation.
- Infrastructure as Code: Infrastructure as Code (IaC) is the process of managing and provisioning infrastructure using code and automation tools. As a senior release engineer, you must have experience with IaC tools and processes, including creating and maintaining infrastructure templates, managing configuration drift, and monitoring infrastructure changes.
- Attention to detail: The release process can be complex, and it's essential that a release engineer pays close attention to detail to ensure that all steps are followed correctly. This includes reviewing release documentation, identifying potential risks or issues, and ensuring that all stakeholders are informed of the release status.
- Strong communication skills: A senior release engineer must have strong communication skills to effectively communicate with stakeholders, including developers, project managers, and product owners. This includes providing status updates on releases, managing expectations, and facilitating cross-functional communication.
- Problem-solving skills: When issues arise during the release process, a senior release engineer must be able to quickly identify and resolve them. This requires strong problem-solving skills, including the ability to analyze data, identify potential solutions, and implement changes to the release process as needed.
- Ability to work under pressure: The release process can be high-pressure, with tight deadlines and the potential for critical issues to arise. A senior release engineer must be able to work well under pressure, maintaining focus and staying calm in stressful situations. This includes being able to prioritize tasks, manage time effectively, and make decisions quickly when needed.