Software Engineering Team Lead - (remote - South Africa)

Engineering · Full-time · Cape Town, South Africa

Job description

Prodigy Finance - who are we?

Prodigy Finance is a platform that delivers socially responsible financial services, making it possible for students from more than 150 countries to fulfil their dream of studying at the world’s top universities and schools by financing their international postgraduate studies whilst delivering competitive financial and social returns to alumni, institutional and private investors.

This borderless and innovative model enables education loan financing to students from across the globe whilst using predicted post-degree affordability rather than present-day salary. Since 2007, Prodigy Finance has extended over US$1.8 billion through the platform to fund over 35,000 students.

Prodigy Finance is fueled by impact investors and other privately qualified entities who invest in tomorrow's leaders whilst earning a financial and social return. Prodigy Finance’s borderless lending model enables students to apply for a loan based on their future earning potential and not just their current circumstances and credit history. 

What will you do in the role?

This role is perfect for an experienced Software Engineer. As a Technology Team Lead, your focus will be on implementing core features (roughly 70% of your time) while also leading and line managing a small agile team (roughly 30% of your time). You will help build a product that makes a very real difference in the world. The sense of impact and reward will be huge!

The team you’ll be joining:

We pride ourselves on producing good quality products that deliver tangible user value. We care about the code we write, writing unit tests, and thoroughly reviewing each other’s work. We have high documentation standards and are always trying to find ways to improve them and the developer experience. 

As a team, we are driven to change people's lives by creating great products. We are on a mission to create an environment where we can do the best work of our lives by delivering quality products that result in real change to our users. We value each other and maintain a healthy work-life balance.

Our team, Servicing Experience, forms part of the larger Servicing business unit, which focuses on our customers who have successfully gone through the application process and have a loan with us. We are responsible for connecting our customers to the other functions in the business unit, which cover repayments, loan servicing and the borrower community. We own the company’s mobile app as well as some supporting backends.

We are responsible for building new features and maintaining a number of different code repositories written in JavaScript and TypeScript, utilising React, React Native, Node Express, Nest.JS, Postgres and Jest. 

Roles and responsibilities:

  • Assist with development of functional designs and resolve complex design issues

  • Adopt an influential role guiding other functions on implementation, scale, learning and delivering software

  • Encourage and facilitate the establishment of new software development, testing and documentation standards

  • Resolve or assist with escalated software application issues as needed

  • Lead and coordinate activities to develop and execute plans to mitigate the occurrence and recurrence of production issues

  • Oversee and contribute to the documentation of production support processes

  • Facilitate root cause analysis within the team to identify resolutions to software or business process issues.

  • Write a lot of code!

  • Own and champion engineering and operational excellence

  • Lead, coach and mentor other team members, as well as perform cross-training and facilitate information sharing among team members

  • Line management of team members and performance reviews

  • Set clear, measurable quality goals in a data-driven way

  • Interface with a diverse stakeholder base - business leaders, product development counterparts and partner technology organisations

  • Represent the technology perspective for a specific team in various forums

  • Report to a Senior Engineering Manager and be accountable for the technical aspects of OKR delivery for your team in partnership with a Product Manager

 What would the ideal candidate be great at?

  • You have a forward-thinking approach to dealing with current and emerging bottlenecks

  • You’re always researching ways to educate the engineering team in new methods and techniques

  • You recognize and develop talent, and you have the ability to optimise the engineering team for effectiveness and productivity

  • You value skills development. You’re a great mentor and teacher that exhibits patience and thoughtfulness in understanding the needs of others and helping them to achieve their goals. You work with your team members to  understand mistakes made and how to learn from them.

  • You foster a culture of continuous engineering improvement through mentoring, feedback, and metrics

  • Take responsibility for coding core-feature implementation projects and Greenfield projects.  Make an impactful contribution, ask great questions, and execute high quality work

  • Take part in the peer review of colleagues’ pull requests

  • Desire and willingness to work in an agile, collaborative, innovative, flexible and team-oriented environment

  • Strong communication and interpersonal skills leveraged both inside the team and with stakeholders.

  • Capacity and inclination to learn, and you must be passionate about building scalable systems

  • Display good judgement and decision-making under pressure to ensure delivery against goals

  • Improvement focused: is alert to opportunities to improve ways of working in an effort to create a more effective, enjoyable and efficient work environment

  • Contributes to creating a positive and collaborative team environment

Qualifications and experience:

  • 8+ years’ experience in programming

  • 4+ years’ experience in JavaScript and/or TypeScript

  • Demonstrable experience with React, React Native and/or Node Express.

  • Experience working with a relational database, for example PostgreSQL

  • Professional fluency using the likes of Github, Github Actions, Jenkins and Fastlane

  • Comfortable with cloud platforms such as AWS

  • Comfortable with development of RESTful API backends

  • Strong foundation on modern DevOps culture

  • Strong appreciation for UI/UX standards and a passion for developing beautiful interfaces

  • Knowledge of professional software engineering practices and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations

Experience that’s nice to have (but we’ll trade off if everything else fits)

  • Experience working within an Agile environment using test-driven development (TDD)

  • Experience with development of microservices

  • Comfortable with Async Message Brokers such as RabbitMQ

  • Native mobile experience, in either iOS or Android

  • Solid DevOps skills including monitoring, testing, automation and integration

  • A track record leading a high performance team as a line manager or team lead

  • Experience with the Redux unidirectional data flow pattern, Redux-Saga experience would be highly advantageous



Teams

This job is not in any teams