Job Description / Responsibilities:
- Design, Build, Deploy, and Maintain reusable software components and libraries for future use across multiple projects in a complex, containerised, cloud-first, .Net Core landscape
- Analyse, diagnose and resolve errors related to their applications
- Keep abreast of technical and industry developments
- Work closely with developers and a variety of end users to ensure technical compatibility and user satisfaction
- Remain flexible with new methodologies and technologies
- Design, code, test, debug and document software according to the functional requirements.
- Participate proactively in learning, knowledge sharing, code reviews, etc
Background and experience required:
- Min 5-8 years development experience
- Tertiary education in Computer Science or related field
- Net Core experience (Windows, Mac, Linux)
Must-have Skills (Mandatory Skills):
- Expert-level .Net Core experience (Windows, Mac, Linux)
- Excellent understanding of C# and .NET framework
- Expertise in SQL and relational database design (Postgres and AWS RDS preferred), as well as experience with Document databases (MongoDB and AWS DocumentDB), streaming and queueing (Kafka, RabbitMQ), and Caching (Redis)
- Good understanding of agile practices
- Strong analytical and creative problem-solving skills, with excellent attention to detail, and adherence to clean code principles
- Obsession with code quality, architectural quality, resilience, security, performance, and user experience
- A solid understanding of OOP and SOLID principles
- Proficiency and experience with code versioning tools, and CI/CD concepts
- Experience with Web APIs and Micro Service architectures