ShortlistFox
← Back to fa-emqf-saasfaprod1.fa.ocs|cx_1004 jobs

Senior Software Engineer

fa-emqf-saasfaprod1.fa.ocs|cx_1004

Togo

  • Full Time
Apply

About the role

Job Title: Senior Software Engineer (Bilingue Anglais/Français)
Organisation/Department: eProcess International SA/Ecobank Software Centre
Head of Unit/Department: Senior Software Engineering Manager
Reports To: Lead, Software Engineering
 

JOB PURPOSE

The Senior Software Engineer is a critical role responsible for leading the design, development, and maintenance of complex software systems. The role requires deep technical expertise, leadership abilities, and a proven track record in delivering high-quality software solutions across business units and 34 affiliates. The Senior Software Engineer is also expected to mentor both associate and software engineers, contribute to architectural decisions, and play a key role in strategic planning for technical initiatives.

KEY RESPONSIBILITIES

1.    Software Design and Development:

•    Lead the design, development, and implementation of scalable, secure, and high-performance software solutions.
•    Collaborate with stakeholders to translate business requirements into technical specifications.
•    Write, review, and optimize code to ensure reliability, maintainability, and performance.

2.    Technical Leadership:

•    Provide technical direction to the team and ensure adherence to coding standards and best practices.
•    Mentor and guide associate and software engineers, fostering a culture of continuous learning and improvement.
•    Conduct code reviews to ensure quality and share knowledge with the team.

3.    System Architecture and Design:

•    Contribute to architectural decisions, ensuring alignment with long-term goals and scalability.
•    Design and implement microservices, APIs, and distributed systems using modern software development paradigms.
•    Evaluate and recommend new technologies, frameworks, and tools to enhance productivity and system performance.

4.    Collaboration and Communication:

•    Work closely with product managers, designers, QA engineers, and other stakeholders to deliver high-quality software on schedule.
•    Participate in sprint planning, retrospectives, and daily stand-ups, contributing to Agile team dynamics.

5.    Problem Solving and Debugging:

•    Troubleshoot complex technical issues and provide timely resolutions.
•    Identify bottlenecks in the development process and propose solutions to improve efficiency.

6.    Continuous Improvement:

•    Stay updated on emerging technologies, tools, and industry trends.
•    Advocate for and implement improvements in the development process, including automation and testing strategies.
•    Contribute to the creation of technical roadmaps and strategic plans for system enhancements.

Key Performance Indicators 

•    Timely delivery of software features and projects.
•    Code quality and adherence to architectural guidelines.
•    Successful implementation of scalable and reliable software systems.
•    Effective mentorship and knowledge sharing within the team.
•    Contribution to technical innovation and continuous improvement initiatives.

Education & Experience

•    Education:
o    Bachelor’s Computer Science, Software Engineering, or a related field.
o    Master’s degree in related field will be an added advantage.

•    Experience:
o    5–8+ years of hands-on experience in software development, with a strong portfolio of completed projects.
o    Experience in a senior or technical leadership role is preferred.

•    Technical Skills:
o    Programming Languages: Proficiency in Java, Python, C#, JavaScript, or other modern languages.
o    Frameworks & Tools: Extensive experience with frameworks such as Spring Boot, Django, .NET, Angular, React, Kotlin or Vue.js.
o    System Design: Expertise in microservices architecture, RESTful APIs, and distributed systems.
o    Databases: Advanced knowledge of relational (e.g., Oracle, PostgreSQL, MySQL) and NoSQL databases (e.g., Redis, MongoDB, Cassandra).
o    Messaging: Proficiency messaging like JMS Queue, Kafka, Rabbit MQ
o    DevOps Practices: Experience with CI/CD pipelines, containerization (Docker), and orchestration tools (Kubernetes).
o    Cloud Platforms: Proficiency in cloud environments such as AWS, Azure, GCP or OCI.
o    Testing & Debugging: Strong skills in automated testing frameworks and debugging tools.

•    Soft Skills:
o    Strong problem-solving and analytical abilities.
o    Excellent communication and interpersonal skills.
o    Leadership and mentorship capabilities.
o    Ability to work independently and take ownership of projects.
o    Strong organizational and time management skills.