Ben Derham · Lead Software Engineer
Hello, I'm Ben.
I help teams solve tricky problems.
Based in Perth, Australia. Open to permanent and contract opportunities.
I’m a software engineer and technical leader specialising in React, TypeScript and frontend architecture. I help teams build products, improve platforms and make sound technical decisions, staying hands-on from the code through to deciding what comes next.
Good software is more than just good code.
From product foundations to shared platforms, I help teams solve frontend problems that affect how they build and ship.
Frontend Engineering & Architecture
I build React and TypeScript applications, shaping their structure, component boundaries, state management, testing and accessibility.
I think about what works now and what the next engineer will need.
Platforms & Design Systems
I’ve worked on shared frontend platforms, component libraries and developer tooling used across teams.
I help teams establish consistent patterns and clear ownership so they can develop and release independently.
Technical Leadership & Delivery
I take technical ownership and stay hands-on.
I work with engineering, design, architecture and product to shape solutions, resolve technical challenges and keep delivery moving.
Some problems I've helped solve.
A few examples of the problems, decisions and outcomes.
Building a product from the ground up
- The problem
- A new financial technology platform needed a frontend foundation for initial delivery and continued development.
- My contribution
- I led frontend architecture and development, including the application structure, monorepo, shared components and testing. I worked closely with design and backend engineering.
- The outcome
- After the initial delivery, the client’s engineering team continued developing the product and extending the architecture.
Helping engineering teams work independently
- The problem
- Teams had to coordinate backend deployments with releases from the frontend monorepo, making independent release schedules difficult.
- My contribution
- As part of the team, I helped validate the feasibility and effort of loading independently released modules into the existing architecture, then piloted the approach in two modules.
- The outcome
- The two pilots validated the approach and showed that teams could release their modules independently.
Making design systems easier to use
- The problem
- Shared components and their usage guidance were spread across packages and projects, making them harder to find and use.
- My contribution
- I helped consolidate packages, improve documentation and usage patterns, and refine design tokens.
- The outcome
- With components and patterns in the monorepo, engineers could find them through editor autocomplete, and AI agents could discover them without extra context.
I like getting things done. Properly.
Some of the hardest engineering problems aren't about writing code. I enjoy working through them with people, finding a sensible way forward and helping make it happen.
Understand the problem first.
I ask what we're trying to achieve, what the constraints are and which trade-offs matter. A little time asking the right questions can save a lot of unnecessary work.
Keep things practical.
I like good architecture, but not complexity for its own sake. I look for solutions that fit the problem and can evolve as requirements change.
Bring people along.
I share knowledge, mentor developers and help design, product and engineering get on the same page. Good technical leadership means helping everyone do their best work, not having all the answers myself.
And yes, I still like writing code.
Got something interesting in mind?
I'm open to Lead, Staff and Technical Lead roles, and contract work in frontend architecture, product foundations and shared platforms.
I'm based in Perth, Australia. I prefer remote work, but I'm open to the right local opportunity.
Working through a challenge in one of these areas? I’d be happy to hear about it.