Senior Software Engineer
The Senior Software Engineer is responsible for helping to deliver strategic projects with specific reference to the continued evolution and integration of our API and associated systems. This role would suit someone with a strong dev background and a particular interest in data. This is not a role for the faint hearted, it is challenging, complex and requires innovative thinking. However you will be working within a business that is focused on a shared vision of growing globally and continuing to deliver a unique platform across a diversified set of customers. This role will be immensely rewarding and you will be working alongside an experienced and passionate team who have been involved in starting up businesses that now employ hundreds of staff across the world.
Our dev team work on a modern streaming stack backed by Kafka and Elasticsearch with Python microservices using Docker, Kubernetes and Helm to deploy. We're after exceptional engineers to help us solve the "impossible".
Key tasks and expected results
- Work closely with the Product and Data teams.
- Recommend solutions for low-latency, high-availability, reactive and performant systems.
- Write reusable, testable, and efficient code for the API and other backend systems.
- Constantly refactor existing code (your own and others’).
- Optimise the performance of the API and other backend systems.
- Design and implement test scenarios based on live usage, metrics and error logs.
- Create technical documentation to show developers how to implement specific solutions.
- Create sample applications, use case workflows, code snippets, Step-By-Step guides for consuming APIs.
- Report to the CTO and work closely with the Chief Product Officer to deliver priority projects.
- Actively participate in overall design, decision making, problem solving and innovation.
- Ensure a healthy and safe work environment:
- Understand health and safety responsibilities according to health & safety legislation.
- Understand emergency and evacuation procedures.
Skills, knowledge, and competencies
- Ability to complete projects from start to finish.
- Understanding of fundamental design principles behind scalable applications.
- An interest in, and understanding of the “reactive manifesto”.
- Experience in Python is a plus.
- Experience or familiarity with message-based microservices is a plus.
- Experience or familiarity with Docker, Kubernetes, Elasticsearch and Kafka is a plus.
- Knowledge of user authentication and authorization between multiple systems, servers, and environments (e.g., OAuth 2.0).
- Ability to understand business rules and apply them to code.
- Strong testing and debugging skills.
- Understanding or familiarity with functional programming.
- Proficient understanding of code versioning tools (Git preferred).
- Knowledge and experience with System Administration / DevOps is a plus.
- Able to take initiative.
- Tactful and mature.
- Aptitude for research and learning new things.
- Good organisational skills.
- Strong communication and team participation skills.
- Competitive salary.
- 3% KiwiSaver employer contribution (for those eligible).
- Flexible working arrangements.
- Pick your own laptop.
- Casual dress code.
- Collaboration friendly office.