About the Role
We are seeking an experienced Software Engineer (.NET & AWS) to join our innovative technology team. You will design, build, and maintain scalable enterprise-grade applications, leveraging modern .NET technologies and AWS cloud services.
This role emphasizes cloud-native development, microservices architecture, and secure, high-performance coding practices. It is ideal for a skilled engineer who thrives in collaborative Agile environments, embraces continuous learning, and is passionate about delivering robust, future-ready software solutions.
Key Responsibilities
- Development & Architecture
- Design, develop, and maintain scalable backend applications using C# and .NET Core / .NET 6+.
- Build microservices-based architectures with reusable and modular components.
- Implement cloud-native solutions using AWS services including Lambda, API Gateway, S3, DynamoDB, and RDS.
- Write clean, maintainable, and secure code following best practices and coding standards.
- Develop and integrate RESTful APIs and services with front-end systems.
- Ensure high availability, performance, and security of applications.
- Tooling & Pipelines
- Implement CI/CD pipelines using tools such as AWS CodePipeline, GitHub Actions, or Azure DevOps.
- Configure containerized deployments using Docker and orchestration with Kubernetes / EKS.
- Monitor and optimize application performance using AWS CloudWatch and other monitoring tools.
- Maintain unit tests, integration tests, and automated test frameworks to ensure application quality.
- Collaboration & Process
- Collaborate with product managers, QA engineers, DevOps, and other software engineers in an Agile/Scrum environment.
- Participate in code reviews, architecture discussions, and knowledge-sharing sessions.
- Mentor junior developers and support team growth and skill development.
- Translate functional and technical requirements into high-quality software solutions.
Requirements & Qualifications
Must-Have Skills:
- 6+ years of professional software development experience with .NET Core / .NET 6+.
- Strong proficiency in C# and object-oriented programming.
- Hands-on experience with AWS cloud services and cloud-native application design.
- Experience developing microservices architectures.
- Knowledge of containerization tools such as Docker and orchestration frameworks like Kubernetes / EKS.
- Experience with CI/CD pipelines and automated build/deployment processes.
- Familiarity with relational and NoSQL databases (SQL Server, DynamoDB, or similar).
- Solid understanding of RESTful APIs and secure software development practices.
- Excellent problem-solving skills and a proactive approach to learning.
Highly Desirable Skills:
- Experience with event-driven architectures and messaging systems (e.g., SNS/SQS, Kafka).
- Knowledge of serverless development patterns using AWS Lambda and API Gateway.
- Familiarity with Infrastructure as Code tools (Terraform, CloudFormation).
- Exposure to unit testing frameworks (xUnit, NUnit) and test-driven development (TDD).
- Understanding of performance optimization, monitoring, and observability in cloud environments.
Education & Certifications
Education:
- Bachelor’s degree, higher certificate, or diploma in Computer Science, Software Engineering, IT, or a related field.
Certifications:
- AWS Certified Developer – Associate(optional but advantageous)
- AWS Certified Solutions Architect – Associate (or Professional) (optional but advantageous)
- Microsoft Certified: Azure Developer Associate (optional but advantageous)
Additional Information
- Contract Duration: 12 Months (with possibility of renewal)
- Salary: Market Related
- Location Options: Johannesburg / Cape Town / Remote
- Must be located inSouth Africa or have a valid work permit for South Africa