More experience than you can shake a stick at.
Collaboration
Often the most difficult question to answer is "What do you want to see and do?". So throughout development I work closely with users to figure out what they need, demonstrating current work and eliciting feedback regularly.
Architecture
Throughout the numerous projects I've worked on, I've gained experience in designing and implementing a wide variety of different architectures. I embrace building modular components that are reusable, extensible, and easy to test.
User-focused
I've had the privilege to work in a range of companies in varied industries. I've created outstanding software aimed at wildly different audiences, from a single user to millions of concurrent users.
Leadership
The way we organise ourselves is just as important as the way we organise our systems and our code. When leading I've found that small, highly collaborative teams are the most effective. All of the teams that I have led have increased the speed, quality, and ambition of their work.
Learning
At the start of my career I had some great mentors. As I've developed my skills and knowledge I have continued this tradition of passing it forwards.
Mentorship
I've worked with many students, graduates, and junior developers as a mentor or coach, helping them to progress their skills, knowledge, and career.
Explore some of my example projects to be inspired.