Write testable, scalable, and efficient software using C#, JavaScript, SQL and other relevant technologies.
Adoption of DevOps practices and tools using Azure as a base.
Delivering solutions on time, within budget and meeting quality expectations.
Provide solution architectures, system and feature designs that meet business requirements and align with enterprise architecture standards and other non-functional requirements like security, availability, scalability etc.
Perform code reviews and implement solutions according to specified designs.
Troubleshooting, debugging, and refactoring of code to optimise performance.
Confer with cross-functional colleagues to unpack business requirements and design solutions that fit their purpose.
Effectively apply agile principles, practices, and overall operating model.
Required Knowledge and Experience:
- Proven 3-6 years’ work experience as a software developer
- Hands on experience with Microsoft tech stack programming languages
- Experience in C#, .Net Core, .Net Standard and .Net Framework and SQL Server.
- Experience with JavaScript, Angular, React, CSS and jQuery
- Experience in web technologies, such as JSON, RESTful APIs, SOAP, XML, CSS and HTML.
- Experience in and understanding of SOLID, Patterns and Practices of OOP and related implementation concepts.
- Experience with Unit Testing.
- Experience with source control management, Git Repositories using Azure DevOps.
- An understanding of cloud solutions & micro-services architecture.
Required Knowledge and Skills
- C# Development
- Software design patterns
- JavaScript Frameworks (ReactJS and AngularJS are both a must)
- Database technologies (MSSQL, Oracle) and SQL scripting
- SharePoint Knowledge will be an added advantage (SP Architecture, Development and Best practices)
- Exposure to Azure and other cloud technologies like Amazon, Google Cloud etc.
- Embody the principles espoused by the agile manifesto.
- Good technology presentation and communication skills
Non-Technical Requirements
- Excellent oral, interpersonal, and written communications skills.
- Have a no-compromise attitude to quality.
- High attention to detail.
- Knowledge of SDLC and QA methodologies.
- An ability to perform well in a fast-paced environment
- Experience with agile and scrum processes.
- Highly adaptive & able to handle changing technological, team or office environments.
- Strong ability to collaborate with team members on the proposal, design, and integration of solutions to business.
- Strong ability to mentor and assist junior developers and testers
Educational Requirements:
- Matric
- A degree in Computer Science, Information Technology, Mathematics or Engineering
- A recognized software development certification will be an added advantage