Positions Overview
The Software Engeineer position is a critical role, responsible for guidance of the wider team and delivering efficient software in a high trust, high-performance environment.
Comprising a diverse team of skilled, motivated and curious talent from both local and international locations. Our relatively flat organisational structure lends itself to open communication, agility and collaboration. The role reports to a Technical Lead (who reports to the Chief Technology Officer).
What will you do?
Strategic delivery: Contribute to the team's technical trajectory, ensuring alignment with major technical decisions and contributing to shaping our strategic goals
Mentorship and Leadership: Enable the professional growth of more junior team members, nurturing their development into exceptional professionals while leading by example in our high-trust, high-performance culture
Code Excellence: Deliver high-quality code, upholding our commitment to excellence and customer satisfaction
Innovative Tech Stack: Utilize a modern, yet pragmatic Tech Stack to build a highly scalable distributed system, ensuring our technological capabilities remain relevant
Continuous Learning: Promote a culture of continuous learning and innovation, demonstrating this personally - to ensuring we remain agile and responsive to the business needs and market trends
Qualification and Experience
Relevant Degree or Diploma in Computer Sciences and IT
6-8 years experience in Software Engineering
Senior Developers need extensive experience and/or understanding of designing, developing and testing distributed, high-volume and highly reliable software. Business and operational awareness, as well as experience with cloud-based infrastructure is also required
Programming Languages & Coding
Despite our language agnostic approach, proficiency in languages used in full-stack / back-end Software Development (Python, Java, C++ etc for example) is required
Proficiency at reading, reviewing, understanding code
Ability to articulate language differences, implementation and the build & execution process: For example strongly vs weakly typed, static vs dynamic, compiled vs interpreted
Data Structures, Algorithms & Algorithmic Problem Solving
Ability to articulate the pros / cons of relevant data structures for the use of minimum memory space and execution in the shortest possible time. This includes situations in which a data structure would be applicable, and why
Ability to suggests possible / relevant algorithms when developing and optimising solutions for time and space complexity. This includes the ability to discuss options and trade-offs; also in instances where scope increases and solutions have to adapt
Engineering & Operational Excellence
Understanding of scalability, robustness, operational visibility and agility
Understanding of distributed systems and designing these solutions
Experience working on projects involving the design and implementation of scalable systems
Knowledge of services like AWS VPC, Auto Scaling, serverless computing, storage (EBS, S3), containers, DNS, etc) is preferred yet not a prerequisite. All experience with relevant Cloud-based technologies are beneficial in this role
Understanding of / experience in monitoring, metrics, visibility, health, fault tolerance
Experience with / understanding of load balancing and health checking
Experience with / understanding of APIs, auth
Experience with / understanding of databases and persistence
Experience with / understanding of scalable architecture for systems implementation
Technical Leadership
Experience a keen interest in mentorship, teamwork and collaboration
Senior Developers need extensive experience and/or understanding of designing, developing and testing distributed, high-volume and highly reliable software. Business and operational awareness, as well as experience with cloud-based infrastructure is also required
What will make you successful in this role?
You are high agency: Looking for ways to do, instead of reasons not to
Where some see impossible, you see a way: Turning obstacles into opportunity, chance into change
You love creating more with less: Knowing that the biggest impact is born of the smallest acts
You seek out and value different perspectives: Believing that when we change how we look at things, how things look for us also changes. Making tomorrow not just different, but better
Knowledge and Skills
IT Data Analysis
IT product enhancements
Software design and deployments
Platform management and integration
Business Requirements