Senior Software Engineer - Machine Learning Products

Job Type:Full Time

About Xero

Small business makes the world go around – it’s the heart of the global economy. At Xero we want millions of small businesses to thrive through beautiful software, advice and connections. We aim to make being a small business more efficient and profitable, and more enjoyable too.

About the role

Join us and help to create and scale a high calibre delivery capability with a focus on data applications and machine learning pipelines at scale.

As a professional, commercially experienced software engineer with proven experience developing maintainable production-grade code, you will define and scope product development and programs of work, provide technical leadership, direct the work of more junior software engineers and perform hands-on development in a cross-functional team.

In addition to this you will:
  • Act as an educator and evangelist globally across the Xero business helping to raise the data and AI literacy of our workforce
  • Drive adoption of best practice in developing modern data-driven products including approaches to design and ways of working.
  • Mentor and develop more junior members of our team and the wider Xero engineering community, increasing our capability to answer questions about our business with data and to build and operate intelligent, data-driven, products and services into our core customer offerings.
  • Stay current with emerging practices, techniques and frameworks in the fields of machine learning and artificial intelligence and curate the new tools and frameworks that are most relevant and applicable to our business problems.
  • Champion the ethical application of data driven product development and machine learning and ensure that you and the team are always working with the best interests of our users in mind.
  • Continually build our understanding of the data we hold and the opportunities it creates for new products and new value to our users. Feedback issues with data quality and data gaps to our Product build teams and work with them to improve the instrumentation and data coverage of our core products and services.

About the team

The Data team is responsible for driving the adoption of data driven decision making across Xero - for both our internal users and our global audience of small business owners, bookkeepers and accountants. We create, manage and deliver a wide range of data services and products including core reporting, key data dimensions, extensible and scalable analytical data processing and storage facilities, machine learning frameworks and API driven prediction services.

We are the center of expertise for data architecture, data modeling, machine learning, ethical data usage and artificial intelligence service design. We also lead the work to raise the data and AI literacy levels across Xero.

As a cross-functional team designing and building data assets, pipelines and machine learning applications we need to answer questions like:
  • When should we use CPUs vs GPUs to serve machine learning models in production?
  • How do we ensure our services are reliable and built to scale with Xero’s growth?
  • When is the best answer an ML model? And when is it a simple report?
  • How can we automate our transformation and training pipelines so they are reproducible and easy to operate?
  • What is the best way to receive feedback from our users to measure the accuracy of predictions?

This is what the Data team’s tech stack currently looks like (but think of us as a teenager growing up really, really fast!):
  • A lot of Python, which may evolve to include languages like Go
  • Deployments on Kubernetes using Helm and AWS Lambda using CloudFormation
  • Data stores that include S3, DynamoDB, and MS SQL
  • Spark and Presto for data analysis and processing
  • Model pipelines in Tensorflow

About you

You are someone who:
  • enjoys mentoring and developing members of your team to adopt best practices in modern software engineering
  • understands how to balance long-term maintainability with delivering value today
  • can use their sound interpersonal skills and strong written communication skills to work effectively with colleagues distributed across Australia, New Zealand and Canada
  • enjoys collaborating with people from a range of backgrounds including data scientists, product owners, testers and platform engineers within your team and beyond
  • is comfortable with the discovery, experimentation and uncertainty of product development
  • is interested in building low-touch infrastructure that enables data driven and/or machine learning applications and training pipelines

What you will bring with you
  • Proven experience developing maintainable production-grade code for scalable backend web services.
  • Expert-level knowledge in at least one language: C#, Java, Scala, TypeScript, Go, Rust or Python.
  • Experience working with data at rest and eventing systems (SNS/SQS/Kinesis/Kafka). Experience with big data technologies particularly Spark is a bonus.
  • Expert-level knowledge writing SQL and designing data models
  • Experience owning and operating web services in production
  • Experience with modern frameworks for building and operating ML systems in production (e.g. Tensorflow) a bonus. If you don’t have this experience, you will need to be keen to learn quickly!

Why Xero

You will get to enjoy all the perks that come with being a Xero:
  • Xero shares, life insurance and enhanced leave
  • A bright modern office with plenty of break out spaces
  • Casual dress code (spooky dress if you like during Halloween!)
  • Career development and ongoing training
  • Barista coffee machines and free fresh fruit every day
  • Access to wellness programs, discounted gym memberships, fitness classes

Xero is an equal opportunity employer. We value diversity, foster innovation and reward success. If you want to come to work with friends every single day and help to make Xero even more special, please apply!