Our Client in the Network Industry is seeking to employ a Senior Software Developer (Full-Stack) to their team based in Johannesburg.
This is a hybrid role, offering a combination of remote and on-site work.
Requirements:
- Proven experience as a Full-Stack Developer with a solid track record of working with Microsoft DotNet, C#, DotNet Core, Retool and Angular.
- Experience in developing enterprise-level applications and understanding of enterprise architectures.
- Strong understanding of software design patterns and SOLID principles.
- Expertise in back-end development using C# and DotNet Core.
- Ability to write clean, maintainable and efficient code.
- Experience with version control systems like Git.
- Familiarity with CI/CD pipelines and DevOps practices.
- Demonstrated ability to work effectively within a team environment, collaborate with colleagues and contribute to team success.
- Excellent communication and interpersonal skills.
- Ability to work in a fast-paced, Agile/Scrum development environment.
- Experience in mentoring and guiding other developers.
- Ability to provide constructive feedback and foster a positive learning environment.
- Relevant tertiary education is required, such as a Bachelor’s degree in Computer Science, Information Technology or a related field.
- Knowledge of AWS cloud computing, including services such as EC2, S3, Lambda and RDS.
- Experience with containerization technologies like Docker and Kubernetes.
- Understanding of automated testing frameworks and tools.
Responsibilities, but not limited to:
- Design, develop, test and maintain high-quality software solutions using Microsoft DotNet, C#, DotNet Core and Angular.
- Develop front-end applications with Angular, ensuring responsiveness and performance.
- Build and integrate RESTful APIs and microservices.
- Collaborate with UI/UX designers to implement user-friendly interfaces.
- Contribute to architectural decisions and design scalable, robust and secure solutions.
- Implement software design patterns and SOLID principles to ensure code quality and maintainability.
- Participate in code reviews and ensure adherence to best practices and coding standards.
- Work closely with product managers, QA engineers and other stakeholders to define, design and ship new features.
- Participate in Agile/Scrum development processes, including sprint planning, daily stand-ups and retrospectives.
- Communicate effectively with team members and stakeholders to ensure alignment and understanding of project goals.
- Mentor and guide other developers, providing technical leadership and support.
- Conduct training sessions and knowledge-sharing activities to foster a culture of continuous learning and improvement.
- Lead by example, demonstrating best practices in coding, testing and documentation.
- Stay up-to-date with the latest industry trends and technologies to ensure we are always using the best practices.
- Identify areas for improvement within the codebase and development processes and implement solutions.
- Ensure the best possible performance, quality and responsiveness of applications by conducting thorough testing and debugging.
Please note that should you not receive a response within 2 weeks of applying, you may consider your application unsuccessful.