Job Description
Software Developer (.NET) Job Description
Title: Software Developer (.NET)
Department: Software Engineering
Reports To: Head of Technology
Location: Nairobi Kenya
Company Overview: PYCS is a fintech company committed to providing innovative solutions that empower businesses and individuals. Our payments solutions serve a diverse clientele, including companies, banks, fintechs, and remittance companies. We also specialize in mobile money integration, bulk SMS and USSD services, mobile banking for SACCOs, and digital lending software.
Position Summary:As a Software Developer (.NET), you will design, develop, and maintain key company systems (e.g., ZamuPay, Bayes, Pesapepe, SPS, Chui) and others. You will work closely with cross-functional teams to deliver high-quality solutions, troubleshoot, debug, and enhance existing software to meet customer needs. Your role involves implementing new features, optimizing performance, ensuring seamless integrations, and contributing to code quality through peer reviews. Additionally, you will assist with cloud deployments, provide technical support, and mentor junior developers.
Key Responsibilities:
Systems Development (80%)
Contribute to the technical design process for new system features by analyzing and understanding user requirements.
Develop and implement new features for systems within agreed timelines, adhering to the Software Development Life Cycle (SDLC).
Resolve bugs/issues within defined Service Level Agreements (SLAs).
Maintain, improve, and optimize existing system features as per timelines.
Conduct peer code reviews and ensure code quality.
Deploy systems to clients’ live and test environments within set timelines.
Create reports for various systems using available tools.
Research improvements, stabilization, and optimization of company systems.
Contribute to strategic product development and enhancement.
Document all system and API changes comprehensively and in real-time.
Write well-designed and testable code adhering to company standards, with thorough documentation.
Comply with project plans and industry standards.
Support (15%)
Provide custom development support for specific features and functionality.
Offer 24/7 technical support to the first-level support team and customers.
Assist internal and external engineers during system/API integrations.
Collaborate with project managers, designers, developers, systems analysts, QA engineers, and other stakeholders.
Training (5%)
Train new and junior engineers as the team grows.
Continuously learn new skills to stay current with evolving technologies.
Requirements
Required Knowledge and Skills
Core Development Skills
.NET Framework & .NET Core: Strong understanding of both .NET Framework and .NET Core for developing scalable and high-performance applications.
C# Programming: Advanced proficiency in C#, including features like LINQ, async/await, generics, and delegates.
ASP.NET MVC & ASP.NET Core: Experience building web applications with ASP.NET MVC and ASP.NET Core, including knowledge of Razor Pages, Web API, and middleware.
Entity Framework (EF) & EF Core: Expertise in using ORM (Object-Relational Mapping) frameworks for efficient database interaction and management.
Software Architecture & Design
Microservices Architecture: Knowledge of microservices principles and experience designing and implementing scalable microservices using .NET Core.
RESTful APIs: Experience designing and implementing RESTful APIs for smooth integration with external systems and applications.
Software Development Lifecycle: Deep understanding of SDLC methodologies like Agile and Scrum, ensuring best practices in development and delivery.
Cloud & DevOps Skills
Cloud Platforms: Hands-on experience with cloud platforms such as Microsoft Azure or AWS, including services like Azure App Service, AWS Lambda, and cloud-native development practices.
Version Control & DevOps: Proficiency in Git for version control, with practical experience in CI/CD pipelines, Docker, Kubernetes, and other DevOps tools for automated deployment and orchestration.
Security & Best Practices
Security: In-depth knowledge of .NET security best practices, including authentication mechanisms (e.g., OAuth, JWT) and techniques for securing APIs and applications from common vulnerabilities.
Fundamentals
CLR & Application Frameworks: Solid understanding of the Common Language Runtime (CLR), class libraries, and application frameworks that underpin .NET development
Qualifications
Education & Certifications
Education: Bachelor’s degree in Computer Science, Engineering, or a related field.
Certifications: Relevant certifications in .NET development or cloud platforms (e.g., Azure, AWS) are advantageous.
Professional Experience
.NET Development: 5+ years of hands-on experience in software development, specifically in designing and implementing scalable applications.