The role entails taking full responsibility for the complete and effective architecting, designing, building, and maintaining both the front-end (client-side) and back-end (server-side) components of the software application to support the business in the micro lending vertical as a fintech.
Job Description
Job Title: Senior Software Developer
Employment Type: Permanent, On-site
Work Location: Rosebank, Johannesburg
Duties And Responsibilities
- 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.
- Architectural Design:
- Designing software architecture, making high-level technical decisions, and ensuring scalability and performance.
- Problem Solving:
- Identifying 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.
- 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.
- Documentation:
- Creating and maintaining technical documentation for software projects.
- Sharing knowledge and best practices within the development team through documentation, mentoring, or training.
- Quality Assurance:
- Ensuring the software meets quality and security standards.
- Writing and maintaining unit tests and ensuring adequate test coverage for the codebase.
- Grade 12 and a Bachelors degree/diploma in computer science, software engineering.
- Prior experience in Software Development.
- Experience in successfully completing complex software projects and leading development teams.
Experience in the following development tools and technologies:
- C#
- .NET Framework
- .NET Core
- NET
- WCF
- NET
- Entity Framework
- JavaScript/ES6
- React (JS)
- Visual Studio
- Object-oriented programming
- N-tier architectures
- Service-oriented architectures (SOA)
- System Development Lifecycle (SDLC)
- ITIL
- DevOps
- Compensation will be determined based on qualifications, applicable experience, and previous earnings.