SUMMARY:
Software Developer
Cape Town
Negotiable remuneration
Finance Industry experience advantageous
POSITION INFO:
Software Developer \/ Reatail IT Details of position Overview We are looking for talented developers who are willing to help us in building out our microservices architecture in developing complex and integrated backend APIs that solve vital problems and provide cutting-edge features to the business. This opportunity will allow you to form part of the Client Communication Team which builds and maintains a communications capability that enables targeted and relevant communications to be sent to our retail clients. We are constantly looking for better ways of doing things, so if you can bring a willingness and excitement to find innovative solutions in a performance-driven environment that will allow you to play with the latest and great technologies, then we may just be perfect for you. As a key member of our team, you will work alongside the product owner, business analysts, senior developers, and testers in order to deliver high performance enterprise grade applications. We have adopted a Microservices architecture with RESTful API's written in Go as well as Scala. Our Microservices are built and deployed on an elastic containerized infrastructure supported and managed on premises with cloud (AWS) through Kubernetes. Responsibilit ies Analyse and design new features Write elegant robust code. Write unit, integration, and acceptance tests for all components. Ensure that build automation scripts are written. Improve and optimize the performance of existing systems. Troubleshoot and root-cause errors. Mentor other developers. Deliver features timeously. Drive innovation and improvement in our tech stack. Collaborate with internal and external stakeholders to deliver technical solutions. Requirements Nice to haves At least 5 years' worth of professional development experience Since we are a multi-technology environment, knowledge of computer science fundamentals in object-oriented design, data structures and algorithms are a necessity. Strong software design skills Proficiency in more than one modern programming language. It is beneficial if you have experience in one statically typed language such as Go, Scala, Java, or C++. Proficiency in a database technology such as SQL Server, MySQL, PostgreSQL, or Oracle Experience in distributed computing and building enterprise-wide systems. Knowledge of professional software engineering practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes and testing. Must be willing and able to live in Cape Town, as this role is based in the Cape Town office. Development using a .NET language such as C#. Development using Scala. Devel