Software Engineer Job at Termii

Termii is a communications platform that allows African businesses to send messages to anyone across SMS, email, voice, and instant messaging channels. With Termii businesses can verify customer identity & transactions, send product notifications to customers and generate personality and engagement insights from customer transactions.

We are recruiting to fill the position below:

Job Position: Software Engineer

Job Location: Lagos
Job type: Full-time

Role Description


  • As a Software Engineer at Termii, you will play a key role in designing, developing, scaling and maintaining our communication platform.
  • You will work closely with cross-functional teams to deliver high-quality software solutions that meet our business objectives and exceed customer expectations.

Responsibilities

  • Design, develop, and maintain high-quality software solutions using Java Spring Boot.
  • Architect and implement microservice-based architectures to support the scalability and resilience of our systems.
  • Optimize application performance and scalability to handle growing user demands.
  • Collaborate with product managers, designers, and other engineers to define and prioritize features and requirements.
  • Perform code reviews, testing, and debugging to ensure the reliability and performance of our software systems.
  • Develop and optimize database schemas and queries in MySQL and NoSQL for efficient data storage and retrieval.
  • Deploy and manage containerized applications on Kubernetes for seamless scalability and resource management.
  • Integrate Kafka for real-time data streaming and event-driven architecture.
  • Mentor and coach junior engineers, providing technical guidance and support as needed.
  • Stay updated on emerging technologies and industry trends, recommending and implementing improvements to our technology stack.
  • Contribute to architectural discussions and decisions, advocating for scalable and maintainable solutions.
  • Participate in Agile development processes, including sprint planning, daily stand-ups, and retrospectives.

Role Requirements

  • Bachelor's Degree in Computer Science, Engineering, or related field.
  • 5+ years of experience as a software engineer.
  • Proficiency in Java Spring Boot framework for building and deploying enterprise-grade applications.
  • Previous experience scaling high-throughput applications
  • Strong understanding of microservice architecture principles and best practices.
  • Experience working with MySQL and NoSQL databases, including schema design, optimization, and query performance tuning.
  • Effective communication and collaboration abilities within cross-functional teams.
  • Hands-on experience with containerisation and orchestration tools such as Kubernetes.
  • Familiarity with event-driven architecture and messaging systems like Kafka.
  • Excellent problem-solving skills and attention to detail.
  • Proven track record of delivering high-quality software solutions on time and within budget.
  • Experience with continuous integration and continuous deployment (CI/CD) pipelines.
  • Knowledge of cloud computing platforms such as AWS, Azure, or Google Cloud Platform.

Benefits and Perks

  • In addition to national and state-observed holidays, team members get 20 days of paid time off.
  • Paid study leave days of up to 10 days per year
  • Paid sick days of up to 10 days per year
  • Health Insurance covering Gym Membership and Spa services.
  • Daily Light refreshments at the office
  • 13th-month pay
  • Flexible Work Structure
  • Paid parental leave days for new parents (i.e Maternity/Paternity leave)
  • Celebration benefits (Birthday, Wedding, Childbirth)
  • Monetary Support (in the event of the loss of a loved one)
  • Learning and Development opportunities.