Software Engineer (Treasury)
We are looking for a talented individual with the following technology skills to join our dynamic Treasury team based in Cape Town. With a variable technology mix within our established platform, the ideal candidate must have a solid grasp of tech principles, in order to easily switch between core technologies and development languages and environments.
Skills & Requirements
- Have a minimum of 5 years’ experience in software development
- Be passionate about technology, enthusiastic about problem solving, and constantly seeking to learn and improve skillset.
- Have experience of working with enterprise scale application stacks.
- Have had exposure to the full software development lifecycle.
Analysis and Design:
- Sound knowledge of OO design principles and patterns.
- Understanding of ORM frameworks (Hibernate/EclipseLink/.NET Entity Framework).
- Understanding of REST and MVC driven web frameworks
Skills (Java and/or C# .NET):
- Strong core Java (Java / J2EE) and/or C# .NET skills
- Wide-ranging experience using Java tech stacks and other programming languages.
- An understanding Service-oriented architecture principles.
- Strong experience in web technologies (JAXWS, JAXB) and protocols (SOAP, REST).
- Solid grasp of Servlet containers and the Servlet API (Apache Tomcat preferable).
- Strong experience with Relational DBMS, MSSQL/MySQL/Oracle.
- .NET Core/.NET Standard framework
- Spring Framework
- Exposure to Agile methodologies (Scrum, Kanban).
- Ability to communicate about technology in non-technical terms to colleagues and Clients.
- Ability to work calmly and methodically when under pressure.
- Experience in using source code management systems (SVN, Git).
It would also be great if you:
- Are educated to degree level.
- Have experience with NoSQL and Big Data technologies.
- Experience in a Retail, Payments or Banking environment is preferred
- Support and enhancement of an established, multi-faceted technology platform, and associated 3rd party integrations.
- Provide work estimates based on analyzed business and technical requirements.
- Working closely with QA to identify development and production issues.
- Taking responsibility for ensuring changes are:
o unit and integration tested
o optimized to ensure benchmarks are met.
- Assisting in out of hours’ production releases when required.