Jobgurus Job advert

Senior Engineer, Release Engineering Job at Cellulant

Cellulant is Africa’s no.1 company in the payments & transfers category - FIntech Awards 2016. We are a PPISP (Payment Platform Infrastructure Service Provider) regulated by the Central Bank of Nigeria (CBN) and insured by Nigerian Deposit Insurance Corporation (NDIC).

We are recruiting to fill the position below:

Job Position: Senior Engineer, Release Engineering

Job Location: Lagos
Employment type: Full time

Job Description


  • 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.

Core Responsibilities

  • 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
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 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).
  • Experience and working knowledge of programming languages Java, Go, or Python.
  • Current understanding of best practices regarding software design and system security measures.
  • 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.
  • 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.
  • 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.
  • Ability to conduct independent research and convert data into meaningful developer insights.

Skills:

  • 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.

Personal attributes:

  • 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.