Backend Software Developer
Location | Kampala, Uganda |
Date Posted | October 24, 2024 |
Category |
IT / Information Technology
Software Development |
Job Type |
Full-time
|
Currency | UGX |
Description
JOB DETAILS:
YOYA Technologies Limited is a leading software entity in Uganda, dedicated to developing innovative approaches in revenue collection, accountability, and digital transformation.
Our core values — Continuous Improvement, Integrity, Responsibility, and Respect — drive everything we do. We are committed to fostering a customer-centric culture that collaborates with partners to position our customers for competitive advantage and enhanced business experiences.
Job Summary
The Back-End Software Engineer will develop, maintain, and optimize server-side applications and services. This role requires collaboration with front-end developers, product managers, and stakeholders to deliver high-quality, scalable, and efficient software solutions.
Key Responsibilities
• Design & Development: Design and build robust APIs using micro services architecture with languages such as Java and Python, while collaborating with the development team to define and implement effective architecture and design patterns.
• Database Management: Implement, maintain and optimize database systems such as Microsoft SQL database systems, ensuring data integrity, security, and query performance for scalability.
• Testing & Deployment: Develop unit and integration tests to ensure software quality, while actively participating in CI/CD processes for seamless automated deployment.
• Performance Monitoring: Monitor application performance, troubleshoot issues, and implement logging and monitoring tools for proactive system maintenance.
• Documentation & Collaboration: Maintain clear documentation of the codebase and APIs, while collaborating closely with cross-functional teams to provide technical insights.
Qualifications:
Education: Bachelor’s degree in Computer Science, Software Engineering, or a related field Relevant certifications (e.g., AWS Certified Solutions Architect, Microsoft Azure Developer) are a plus.
Working Experience: 3-5 years of experience in backend software development, with
proven expertise in building and maintaining scalable applications and services.
Technical Skills:
• Programming Languages: Expertise in programming languages such as Java, Python and PHP with a demonstrated ability to write clean, efficient, and maintainable code.
• Frameworks & Tools: Proven experience with developing frameworks such as React Js, React Native, Python Django, Yii, RESTful APIs, and designing micro services architecture for scalable and efficient systems.
• Database Management: Strong knowledge of relational databases (Microsoft SQL Server, MySQL)
• Version Control: Proficient in Git, with a solid understanding of version control concepts, including branching, merging, and managing pull requests to facilitate effective collaboration and code management.
• Cloud Services: Experience with cloud platforms (AWS, Azure, Google Cloud) and server less architecture.
• DevOps Practices: Knowledge of CI/CD tools (Jenkins, Git Lab CI) and containerization (Docker, Kubernetes).
• Testing & Debugging: Familiarity with testing frameworks and tools (JUnit, Mocha, Postman) for unit and integration testing.
Essential Qualities
• Analytical Thinker: Ability to analyze complex problems and devise efficient solutions
• Team Player: Strong collaboration skills to work effectively in cross-functional teams. An example would be participating in sprint planning and daily stand-ups.
• Adaptability: Willingness to learn new technologies and adapt to changing requirements. For instance, picking up a new programming language or framework as the project needs to evolve.
• Attention to Detail: Meticulous in coding practices and debugging to ensure high-quality deliverables. This could involve reviewing code thoroughly before deployment.
• Strong Communication: Ability to articulate technical concepts clearly to non-technical stakeholders, ensuring everyone is aligned.
• Problem-Solving Mindset: Proactive in identifying potential issues and suggesting improvements. For example, optimizing slow database queries before they become a bottleneck.
• Time Management: Effectively prioritizing tasks to meet deadlines in a fast-paced environment. This includes balancing multiple projects and feature requests.