Software Developer
Location | Kampala, Uganda |
Date Posted | January 15, 2025 |
Category |
IT / Information Technology
NGO Software Development |
Job Type |
Contract
|
Currency | UGX |
Description
JOB DETAILS:
General Summary
Software Developer is a mid-level technical role within the software development section responsible for designing, writing functional code, testing, implementing, and maintaining business solutions to meet organizational objectives. They work closely with the senior software developer and software development manager to determine the client’s needs and the development approach, then use programming languages, especially C#, ASP.NET Core / ASP.NET, and Laravel, to create and manage existing application programs.
Key Responsibilities
• Full solutions development cycle, both frontend and backend development
• Work with internal stakeholders to understand the technical requirements and scope out modifications and custom developments.
• Work with the Software Development manager / Senior Software Developer to generate/update the systems requirements documentation.
• Manage code documentation and version control.
• Conduct team code reviews to ensure development best practices are adhered to by other team members.
• Work in an agile environment to release software on a regular schedule.
• Implement new systems functionalities.
• Set up and maintain the test, and production environments.
• Install, configure, test, and implement new releases or fixes of the software environment.
• Train and guide users on how to use the developed solutions.
Academic Qualifications
• Bachelor of science degree in Computer Science, Software Engineering, or related field.
Person Specification
Applicants for this position must possess:
• At least 4 years’ experience as a Software Developer.
• At least 3 years’ experience in developing for both windows and web clients using C#.
• At least 4 years’ experience in using the PHP Laravel development framework and a strong understanding of Laravel's features like queues, events, tasks scheduling, and service containers.
• Deep understanding of OOP principles, SOLID design, and patterns.
• Experience developing web applications using ASP.NET Core or ASP.NET MVC.
• Proficiency in MySQL or other relational databases like SQL and handling stored procedures.
• Ability to build and consume APIs efficiently.
• Knowledge of HTML, CSS, and JavaScript.
• Awareness of security vulnerabilities such as Injection Flaws (like SQL Injection, Command Injection, and LDAP Injection), Broken Authentication, Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF), AES-256, Role-Based Access Control (RBAC)
• Familiarity with containerization technologies (e.g., Docker, Kubernetes).
• Knowledge of business intelligence (BI) tools, network security technologies, or enterprise resource planning (ERP) systems.
• Familiarity with IT compliance standards (e.g., HL7, GDPR, HIPAA, ISO 27001) and regulatory requirements.
• Ability to Set up CI/CD pipelines or deploying applications using Azure DevOps.
• Experience in designing and implementing microservices architecture.
• Familiarity with Unit testing frameworks like NUnit, xUnit, MSTest or PHPUnit
Soft Skills & Abilities
• Ability to assist in distilling and specifying user requirements.
• Excellent problem-solving abilities with the capacity to troubleshoot and provide innovative solutions.
• Willingness to learn and adapt to new tools or frameworks.
• Ability to work under pressure.
• Good interpersonal and teamwork skills.
• Clear articulation of ideas, collaboration with teams, and effective documentation.
• Ability to establish priorities and work independently.
• Familiarity with Agile development methodologies (Scrum, Kanban, etc.).