Software Engineer - Product and Client Solutions
Software Engineer
Product Engineering, AI Infrastructure & Client Solutions
About the Role
We are looking for a versatile Software Engineer to join our team and contribute across both product development and client consulting engagements.
This is a hands-on role combining the development of our core software product with technical assignments for clients. You will help design, build, test, validate, deploy, and maintain high-quality software, while applying your engineering skills to solve complex technical challenges across different environments and use cases.
Our work spans modern cloud-native applications, AI-enabled systems, infrastructure, and software platforms. This may include building systems that help organisations observe, understand, govern, and audit complex workflows executed by AI agents, as well as developing the underlying services, integrations, and infrastructure required to operate these systems reliably and securely.
Our primary technology stack includes Go, Python, TypeScript, AWS, and Kubernetes, although we recognise that strong engineers can work across different technologies and are open to candidates with complementary experience.
We are looking for someone who enjoys taking ownership, working in a small and focused engineering team, learning new technologies, and adapting to different technical challenges. You should be comfortable moving between longer-term product development and client assignments, working through ambiguity, and delivering practical, maintainable solutions from beginning to end.
Key Responsibilities
Product Engineering & Platform Development
-
Design, build, test, validate, and deploy software across the full development lifecycle, from initial design through to production.
-
Develop and evolve our core product and supporting platforms, with an emphasis on reliability, scalability, security, and maintainability.
-
Contribute to cloud-native applications, AI infrastructure, workflow orchestration, and systems that provide visibility, governance, and auditability.
-
Help build systems that allow organisations to observe, understand, and audit complex and non-deterministic workflows, including those executed by AI agents.
-
Contribute to authentication, identity, authorisation, and data lineage capabilities that support secure, traceable, and accountable software systems.
-
Make pragmatic architectural decisions and help establish engineering standards that support long-term product quality.
AI Engineering & Software Development Lifecycle
-
Explore and apply AI-assisted software development practices, including agentic engineering and AI-enabled development workflows.
-
Help evolve approaches to code generation, automated testing, quality validation, and verification to ensure generated code remains reliable, understandable, and maintainable.
-
Contribute to engineering workflows that support the full software development lifecycle, from requirements and implementation through testing, deployment, and ongoing maintenance.
-
Evaluate emerging AI tools and techniques and identify opportunities to improve engineering productivity without compromising software quality or security.
Client Consulting & Technical Delivery
-
Work on software engineering assignments and technical projects for clients as business needs arise.
-
Understand client requirements, assess technical challenges, and develop practical solutions tailored to their environments.
-
Design, develop, integrate, and deploy software across a variety of systems, architectures, and technology stacks.
-
Adapt quickly to different projects while maintaining high standards of engineering quality and delivery.
-
Communicate technical concepts clearly and collaborate effectively with client stakeholders and internal teams.
-
Take ownership of deliverables and contribute to successful project outcomes.
Cloud Infrastructure & Platform Engineering
-
Build and deploy applications and services in AWS and other cloud or self-hosted environments.
-
Work with containerisation and orchestration technologies, particularly Docker and Kubernetes.
-
Contribute to CI/CD pipelines, infrastructure automation, deployment tooling, and operational workflows.
-
Help ensure applications and platforms are secure, observable, reliable, and straightforward to operate.
-
Troubleshoot issues across application, infrastructure, and integration layers.
Collaboration & Open Source
-
Work closely with a small team of engineers and builders, contributing across different parts of the technology stack.
-
Participate in architectural discussions, code reviews, and continuous improvements to engineering practices.
-
Where relevant, contribute to open-source initiatives, including collaboration through Linux Foundation projects, technical discussions, and developer communities.
-
Share knowledge, challenge assumptions constructively, and help build a culture of quality, accountability, and continuous learning.
Technical Skills & Experience
We are looking for a strong software engineer with solid engineering fundamentals and the ability to work across different areas of software development.
Core technologies
-
Go (Golang): Experience building backend services, APIs, infrastructure tooling, or distributed systems.
-
Python: Experience developing applications, automation, integrations, or AI-related tooling.
-
TypeScript: Experience developing applications, services, APIs, or user-facing components.
-
AWS: Familiarity with cloud services, deployment, infrastructure, and cloud architecture.
-
Kubernetes: Experience deploying, operating, or supporting containerised applications.
We do not expect every candidate to be an expert in every technology. Depth in some areas, combined with a willingness to learn and work across the wider stack, is more important than ticking every box.
Additional experience that would be valuable
-
Building production software in small engineering teams, startups, or product-focused environments.
-
Developing cloud-native platforms, distributed systems, infrastructure software, or developer tooling.
-
Experience with AI agents, agentic workflows, LLM integrations, or AI-assisted software development.
-
Familiarity with identity, authentication, authorisation, security, audit trails, or data lineage.
-
Experience with self-hosted platforms, software-defined networking, or infrastructure governance.
-
Knowledge of Docker, CI/CD, infrastructure as code, automated testing, and observability.
-
Experience with REST APIs, databases, third-party integrations, and production troubleshooting.
-
Exposure to open-source development or collaborative technical communities.
What We're Looking For
-
Strong software engineering fundamentals and sound problem-solving skills.
-
A builder's mindset, with the ability to take a feature or problem from concept through to production.
-
Comfort working in a small, focused team where engineers take meaningful ownership and contribute across the stack.
-
Adaptability and an interest in moving between product development and client projects.
-
The ability to work through ambiguity, evaluate trade-offs, and deliver pragmatic solutions.
-
An appreciation for code quality, testing, security, and long-term maintainability.
-
Clear communication skills and the ability to collaborate with both technical and non-technical stakeholders.
-
Curiosity about AI engineering, cloud infrastructure, and emerging software development practices.
Experience in a consulting, professional services, startup, or product engineering environment would be beneficial.