Software Engineer – Backend

POSITION: Software Engineer – Backend
LOCATION: Mbarara, Uganda
EMPLOYMENT TYPE: Full-time
EXPERIENCE: 4+ years
TRAVEL REQUIRED: 10%
REPORTING TO: Senior Software Engineer – Backend

Job Description

The Software Engineer – Backend plays a key role in the design, development, optimization, and maintenance of back  end infrastructure and services for web and mobile applications across RTV’s digital ecosystem. He or she will work closely with Frontend Engineers, UI/UX Engineers, Quality Assurance Engineers, DevOps Engineers, and Product managers to  deliver intuitive, scalable, and secure systems that directly support our mission to end ultra-poverty.

Roles & Responsibilities

Backend Development 

  • Develop and maintain scalable backend services and APIs using PHP Laravel and Node.js.
  • Build and maintain RESTful and GraphQL endpoints for seamless integration across platforms. 
  • Optimize application performance across the stack for speed, scalability, and responsiveness.

 

Architecture & System Design 

  • Collaborate on overall system architecture with a focus on maintainability, modularity, and reusability.
  • Work within a microservices architecture and contribute to service decomposition, containerization, and API driven integration. 
  • Support cloud infrastructure planning and automation (AWS, Terraform, CI/CD).

 

Database Management

  • Design and optimize database schemas, queries, and indexing for efficient data retrieval.
  • Implement database solutions (SQL, NoSQL) that meet application requirements.
  • Ensure data consistency, availability, and reliability.

 

Security and Compliance: 

  • Implement security best practices to protect data and systems. 
  • Ensure compliance with industry standards and regulations related to data privacy and security.

 

Documentation & Team Collaboration 

  • Write clear and maintainable documentation for code, architecture, API endpoints, and workflows.
  • Engage in daily stand-ups, sprint reviews, and product planning cycles. 
  • Provide technical mentorship and peer support where relevant. 

 

User & Technical Support 

  • Provide second-level technical support for issues escalated by users or clients. 
  • Troubleshoot user-reported bugs, performance issues, and integration concerns in collaboration with QA and  DevOps teams. 
  • Support user onboarding, prepare technical documentation, and develop usage guides and training materials.
  • Collect, analyze, and integrate user feedback into the development lifecycle to improve system usability and performance. 

Requirements and Experience

Technical Requirements 

  • Bachelor’s degree in Computer Science or Software Engineering. 
  • 4+ years of backend development experience with a proven portfolio of applications. 
  • Proficiency in:
    • PHP Laravel, Express.js (Node.js) for backend development.
    • Microservices architecture, including containerization with Docker and Kubernetes.
    • RESTful and GraphQL API design and implementation.
    • Cloud platforms, specifically AWS, for deployments and infrastructure management.
    • Database management (SQL and NoSQL) and query optimization.
  • DevOps tools and CI/CD pipelines (e.g., Jenkins, GitHub Actions, GitLab CI/CD).
  • Familiarity with object-oriented programming and asynchronous programming, authentication protocols, and secure coding practices. 

 

Personal Attributes 

  • Strong team collaboration skills.
  • Problem-solving mindset with analytical skills.
  • Passion for delivering high-quality user experiences and backend solutions.
  • Ability to work independently and adapt to a fast-paced environment.
  • Commitment to integrity and innovation.

Application Process

To apply, please submit your application by July 23, 2025.

Raising The Village is an equal-opportunity employer committed to diversity and inclusion. We highly encourage women candidates to apply.

Raising The Village
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.