Software Engineer – Data

IT – Software Development
Cape Town – Western Cape

DELIVER product enhancements, contribute to technical decision-making which being involved in hands-on development as then next Software Engineer (Data) sought by a fast-paced Independent Asset Management Firm to join its Data Technology team. You will also be responsible for the delivery of Core Data products through the acquisition, ingestion, transformation and curation of data from several internal and external sources. The role will best be suited to a Full Stack Dev with experience with Object-Oriented Programming (C#, Java, Python – 5 years exp), Azure cloud technologies (Data Factory Pipelines, Event Grids, Functions) and API Development and Management (REST and GraphQL). Your tech tools should also include SQL, NoSQL, GitHub and you should have experience implementing Test-Driven Development approach and Continuous Testing.
  • Requirement gathering, communicating with stakeholders and documenting findings in the form of user stories and techniques.
  • Work with Architects and Product Owners to formulate development approach to the next development sprint.
  • Readily work in a proof-of-concept style to engage stakeholders and adopt fail-fast approach to enable higher quality deliverables.
  • Develop to house standards and ensure code is clear, functional and easy to support.
  • Work in a collaborative approach for code storage, documentation and commentary. The teams are increasingly moving to an Agile development approach so experience (such as Scrum) would be useful.
Qualifications –
  • Preferred candidate will likely be educated to BSc Honours Degree Level in Mathematical, Computing or Engineering.
Experience/Skills –
  • Minimum of 5 years actively working with programming languages such as C#, Java, Python.
  • Versatile in data technology, able to adapt to changes in tools and methods such as SQL, NoSQL and other file-driven formats.
  • Working with APIs (REST, GraphQL and equivalents).
  • Database design knowledge and the ability to solve data problems using established techniques.
  • Comfortable working with environment programming & with API constructs.
  • Implementing automated Test-Driven Development approach and Continuous Testing.
  • Source control tools like GitHub.
  • Experience of good Software Engineering practices and working within a DevOps framework.
  • Flexible in working hours including occasional weekend work, as projects and maintenance require.
Advantageous –
  • Strong experience with technologies and methodologies used to support data-centric processes and applications, such as ETL, ELT, Data Vault (2.0), Pipelines, Data Lakes and Warehouses, etc.
  • Experience of Azure is highly desirable, as they design and develop cloud-based solutions using services like Synapse, Event Grid, Data Factory, Spark Pools, Functions, Logic Apps etc.
  • Scrum or Kanban.
  • Prior knowledge of Asset Management industry.
  • Able to manage a pipeline of duties successfully with minimal supervision.
  • Able to multitask, work to tight deadlines and cope under pressure. For example, supporting the developed systems and working methodically solving daily incidents and problems whilst meeting agreed delivery targets.
  • Willing to share knowledge and coach other team members, as well as learn from them.
  • Positive and flexible attitude to work.
  • Good time management skills.
  • Excellent interpersonal and communication skills – both verbal and written.
  • Attention to detail and high level of accuracy.
  • Strong problem-solving ability, a logical thinker and numerate.
  • Self-starter (i.e., don’t expect to be task driven).