JOB DESCRIPTION: Job Title: Senior Software DeveloperEmployment Type: 6 Month Contract, On-siteWork Location: Gauteng, JohannesburgJOB CONTEXTOur Team is seeking a Senior Software Developer who can be responsible for architecting, designing, building, and maintaining full-stack software applications to support a fintech business in the micro-lending sector.DUTIES AND RESPONSIBILITIES:1. Coding and Development:Leading and participating in the design, coding, testing, and debugging of software applications.Ensuring that the code meets established coding standards, is maintainable, and free of critical defects.Following and enforcing coding standards and best practices within the development team.Ensuring code is secure, following security best practices, and addressing security vulnerabilities promptly.Properly using version control systems (e.g., Git) for code management and collaboration.Identifying and addressing technical debt to maintain a healthy and sustainable codebase.Ensuring that the delivered software meets or exceeds customer expectations in terms of functionality and quality.2. Architectural Design:Designing software architecture, making high-level technical decisions, and ensuring scalability and performance.3. Problem SolvingIdentifying and resolving complex technical issues and challenges that may arise during development.Responsiveness and effectiveness in identifying and fixing software bugs or issues as they arise.Demonstrating the ability to analyse complex technical problems and propose effective solutions. 4. Code Reviews Participating in and conducting code reviews to maintain code quality, consistency, and best practices.Identifying and optimizing code for performance improvements and resource efficiency.Participating actively in code reviews, providing constructive feedback, and addressing feedback received on one's own code. 5. DocumentationCreating and maintaining technical documentation for software projects.Sharing knowledge and best practices within the development team through documentation, mentoring, or training 6. Quality AssuranceEnsuring the software meets quality and security standards.Writing and maintaining unit tests and ensuring adequate test coverage for the codebase.QUALIFICATION AND EXPERIENCE REQUIRED: 1. Academic QualificationsGrade 12A bachelors degree/diploma in computer science, software engineeringDegree/Diploma in Business administration or related or equivalent relevant qualification NQF level 6+ is advantageuos 2. Years of Experience7+ years of experience in Software Development7+ years of experience in successfully completing complex software projects and leading development teams 3. Area of ExpertiseC#.NET Framework.NET CoreASP.NETWCFADO.NETEntity FrameworkJavaScript/ES6React (JS)Visual StudioObject-oriented programmingN-tier architecturesService-oriented architectures (SOA)System Development Lifecycle (SDLC)ITILDevOpsCOMPETENCIES:1. Technical Competency:Thinks through multifaceted data to identify the key facts and real issuesUses different approaches to identify solutions to problems and assesses the relative value of eachRecommends solutions based on rigorous information gathering and analytical thinkingAdvanced expertise in contemporary software developmentShapes technical direction of solution delivery and the delivery of high-quality software solutionsConcern for Rigour and OrderSolves complex problemsPractical CreativityAnalytical ThinkingTeam LeadershipDeveloping OthersInfluencing SkillsIntegrityGrowing and LearningTeam WorkingUnderstanding Others2. Behavioral Competency:Strives for challengesIs driven by the desire to achieve quality resultsImposes high personal standards of excellenceBelieves in, and drives new possibilitiesSees obstacles as challenges and enjoys overcoming themSees self as primarily responsible for achievement against high standards of excellenceTakes calculated risksDriveProactivitySelf-ConfidencePACKAGE & REMUNERATION:Salary will be commensurate with experience and qualifications.