About the client:
Our client is a Global e-commerce Service provider with 20 years’ market-leading Technical knowledge and expertise. Providing an environment for talented ambitious people to thrive, be innovative and work with world class tech systems as well as join a team of hardworking highly skilled individuals. They provide world-class benefits and support structures for you to exceed your perceived potential while enjoying every moment. Working with the best resources with those at the top of their field, a High level company for high level individuals.
If you’re an expert in your field and thrive for growth and development beyond your current skillset, look no further
What are we looking for:
The senior software developer will form part of a larger team that is responsible for delivering high data throughput, large data processing systems using complex event driven architectures. The purpose of the role is to help accelerate the development of the larger platform that serves the greater business need. The Developer should be well versed in advanced programming principles (for eg: event driven architecture, cqrs, outbox pattern etc) and will be working closely with the technical leads and engineering lead to advance the development process. The candidate will report to the product delivery manager and work with the team with the focus around development.
Key Responsibilities:
- Develop distributed systems in a Kubernetes environment.
- Develop collections of services used for high data throughput systems.
- Develop software with good CI/CD processes in mind automating as much as possible.
- Develop with test driven development.
- Be well versed in writing unit tests that span the solutions that you build.
- Have metrics and monitoring in mind and ensure the systems are well covered with logs, metrics, and traces.
- Collaborate with the product team.
- Work closely with the team lead and ensure that due process is followed as the software evolves.
- Self-starter
Non-negotiable requirements:
- Experience working with .Net.
- Experience with messaging platforms like Rabbit or Kafka.
- SOLID principles
- Working with CICD principles
- Experience in k8s
- Experience in Docker for containerization
- Git / Source Control
- Thorough understanding of MySQL
- Experience in writing SQL scripts
- Experience in writing stored procedures.
- Experience in debugging solutions
- Demonstrates consistent behavior aligned to the Organizational Culture.
Desirable criteria
- Building alerts and dashboard using Grafana
- CQRS
- Experience in TDD and unit test writing
- Good understanding of Object orientated principles.
- Outbox pattern
- Port and Adapter pattern
- Event driven architecture.
- Event Sourcing
- Experience with building metrics using Prometheus
- Good understanding of principles and patterns
- Domain driven design
- Experience in Rancher for K8s
- Experience with high data throughput systems
- Understanding of data archiving and purposes of it
- Exposure and experience in Kafka
- Thorough understanding of Dependency injection and abstraction
- Experience in building NuGet packages
- Experience with automation of deployments
- Exposure with CDC and CT in SQL
- Experience in writing frontend applications
- Exposure to frameworks like VueJS, ReactJS and AngularJs
- Be able to analyse solution for performance bottlenecks
- Experience in Git (Gitlab would be preferred)
Location & Type
- Cape Town/ Hybrid working model
Desired Skills:
- .Net
- Rabbit
- SOLID
- Kubernetes
- Docker
- Git