I believe the best way to learn and to lead is to do so by manageable, smaller milestone-based goals. We should build the framework and guide towards solutions, collaboratively filling in the gaps, providing feedback at each stage. This leads to a growth in understanding and problem-solving skills while also transferring knowledge in a way that is most effectively retained and developed.
On the surface my experience has a lot of weight on training simulators in 3D worlds, the skills I employ on those projects is wider ranging than that. When you strip away the industries you will see a common thread of processing significant volumes of live streaming data to generate real time events and insights, whether these are financial trading decisions, physics-based manipulation of virtual worlds or scenario events in a training simulator.
In much of my work, I have been recruited to solve the complex problems that others have been unable to solve. My ability to conceptualise massively complex problems and break them into constituent parts, formulise a design strategy, and execute it sets me apart from other technical professionals.
Where my experience and technical aptitude really shine is when leading a team of designers and developers on complex software projects where challenges are not always known and emerge as we progress through the process of designing and building these projects. Never one to shy away from getting my hands dirty, I enjoy working through problems with developers to troubleshoot and find the best solutions as these challenges emerge.
Leadership & Management
- Experience managing multi-disciplinary global teams across timezones.
- Mentoring development teams.
- Client management - from customer to board level.
- Agile-esque project management (task management through Kanban & Scrum meetings) - Focus on keeping things short and sweet, rapid, regular communication with minimal impact on productivity.
- Focus on identifing blockers and finding solutions outside of wider group sessions to ensure problem solving sessions don't become productivity killers to exterior team members.
- Emphasis on 1-1 sessions to give opportunity for issues and feedback to emerge that may not in a wider group setting. Too often there are valuable ideas and insights that go unheard because the opportunity for these ideas to be shared are not given.
Design
- Technical Architecture
- Designing Real-Time & Event Driven Architectures
- User Experience (UX) & User Centred Design (UCD)
- Prototyping
- Microservice Architecture
- Algorithm Design
Development
- Full Stack Development - Web, Desktop, Mobile, Gaming
.NET 8, Blazor, ASP.NET Core, WPF, Xamarin Forms / MAUI. - Unity3D
Incuding building client librararies to connect to SignalR, WebSockets, REST API's and other 3rd Party Services. - Realtime & Event Based Programming
Zebus, SignalR, Background Worker Services, Webhooks, Event Driven, Async & Multi-Threaded architectures. - Streaming, Event Driven Workflows
- Security
SSO, Azure AD B2C, Auth0, FusionAuth, OIDC. - Databases
Azure MSSQL, PostgreSQL, Redis, Cosmos DB. - Containerisation
Docker, OpenShift. - Financial Trading APIs
Quantower, Meta Trader 5, CTrader, Tradovate, IG, CityIndex, Tradestation, Alpaca, Polygon.io. - Payment Gateways
Stripe, Paypal, Paddle. - Systematic and Automated Testing
MS Test - Cloud & Automation
Azure, OVH, OpenShift, GitHub Actions