Simple Machines is a leading independent boutique technology firm with a global presence, including teams in London, Sydney, San Francisco, and New Zealand. We specialise in creating technology solutions at the intersection of data, AI, machine learning, data engineering, and software engineering. Our mission is to help enterprises, technology companies, and governments better connect with and understand their organisations, their people, their customers, and citizens. We are a team of creative engineers and technologists dedicated to unleashing the potential of data in new and impactful ways. We design and build bespoke data platforms and unique software products, create and deploy intelligent systems, and bring engineering expertise to life by transforming data into actionable insights and tangible outcomes. We engineer data to life™.
As aSoftware EngineeratSimple Machines, you’ll be at the heart of groundbreaking projects, collaborating closely with both our talented internal team and forward-thinking clients. In this hands-on role, you'll drive the development of sophisticated, scalable solutions across the full technology stack—from intuitive frontends and robust backends to powerful data pipelines and resilient infrastructure. If you’re passionate about solving complex problems and pushing the boundaries of what’s possible, this role offers the perfect platform for you to make a real impact.
About our incredible team:
We believe diverse perspectives fuel innovation. Our team is made up of talented engineers from different backgrounds, each bringing unique strengths. We collaborate across the full stack, supporting and learning from one another to create world-class solutions. You'll have the autonomy to shape technical design, work closely with stakeholders, and engage with data scientists and cross-functional teams to craft seamless, high-performance systems.
We're committed to fostering an inclusive and equitable workplace where everyone—regardless of background, identity, or experience—can thrive. If you're passionate about pushing boundaries, solving complex challenges, and being part of a forward-thinking team,we want to hear from you!
Technical Responsibilities:
- Responsible for design and technical development of backend services for a highly scalable marketing platform.
- Responsible for designing the APIs, applications, and infrastructure the team develops, and documenting the technical requirements and design for the client.
- Responsible for end-to-end delivery and support, including build, automation, deployment, and operations, for everything that is developed.
- Partner with client stakeholders, and team members, to gather business requirements, collaborate on design decisions, and translate them into technical and design requirements.
- Operate within an iterative delivery team using Agile delivery tools and practices.
- Hybrid remote and in-person collaboration with the delivery team and client stakeholders.
Requirements
We have three open opportunities:
- Principal Engineer - (Fullstack)
- Senior Software Engineer - (60% Backend Server Side)
- Mid-Level Software Engineer - (60% Backend Server Side)
Technical background
- A consultative approach to software development. (Ideally experience in the Software Consulting space)
- Core foundation in programming, especially in JVM languages (particularly Kotlin or Java).
- Experience designing and implementing data-driven APIs.
- Exposure to frontend development (particularly React.js, Tailwind, REDUX, Typescript)
- Past project experience with large scale webservices.
- Cloud infrastructure experience with AWS and/or Google Cloud, Azure, etc.
- Infrastructure-as-code experience, such as with Terraform or Cloud Formation.
- In-depth experience with unit and integration testing, and test automation generally. Ideally TAA and/or BDD
- Experience working with SQL databases in the context of implementing data-driven APIs, and designing database schemas and queries to meet business requirements.
- A passion and proven background in picking up and adopting new technologies on the fly.
- Exposure to Scala, or functional programming generally.
- Exposure with highly concurrent, asynchronous backend technologies, such as Ktor, http4k, http4s, Play, RxJava, etc.
- Exposure with DynamoDB or similar NoSQL databases, such as Cassandra, HBase, BigTable, or Cosmos DB.
- Exposure with Git workflows, and the ability to tailor the workflow to project needs.
- Exposure with containerised application deployment using Docker, Amazon ECS, Kubernetes, etc.