Senior Software Engineer (Geo Specialist)
We’re building out our dev team and are looking for backend engineers, specifically someone with experience in the geo space. We work on a modern, streaming stack backed by Kafka and Elasticsearch with Python microservices using Docker, Kubernetes and Helm to deploy.
We fetch event and entity data from a number of sources (entities include things like venues, sports teams, musicians and more) and publish the data to our processing pipelines. Each step in the pipelines do a specific task like standardising, filtering for things like spam, deduplicating, geocoding the data and filling in missing information. Data quality is of the utmost importance.
Event data is so much about location. We use Geonames data to power our Places system and have some big plans for improving Places and events in general. We’re looking for someone who can come up with great ideas and write the code to execute them.
You may not have experience with all of the technologies mentioned above so our dev team will help and support you to bring you up to speed.
As well as the data processing pipelines, we have a number of other projects and some big plans in our roadmap. This is not a role for the faint hearted, it is challenging, complex and requires innovative thinking.
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.
The team is growing fast and we’re moving to our new office by Britomart early March!
Key Tasks and Expected Results
- Work closely with the Product and Data teams.
- Be the point person for geo-related features and issues.
- 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.
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 with shape files.
- Experience with maps and geolocation in general.
- Experience with Geonames is a plus.
- 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.
- Health insurance.
- 3% KiwiSaver employer contribution (for those eligible).
- Flexible working arrangements.
- Pick your own laptop.
- Casual dress code.
- Collaboration friendly office.