About
Senior Software Engineer building scalable, maintainable web platforms with React, TypeScript, Remix, C#, and CMS ecosystems like Umbraco and Optimizely (Episerver), with a strong focus on performance, security, and long-term architecture.
Comfortable across the full stack, turning complex requirements into clean, testable solutions and improving systems through pragmatic refactoring, sensible patterns, and measurable optimisation where it matters most.
My best work happens in cross-functional, agile teams with clear communication and strong delivery habits. Structured planning, iterative feedback, and continuous delivery help keep quality high without slowing momentum.
People and product sit at the centre of the work: a focus on UX, accessibility, and reliability, plus a genuine interest in mentoring, supporting teammates, and building a calm, accountable engineering culture.
Outside of engineering, portrait photography is a real passion. It’s taught me to pay attention to nuance, composition, and the human story behind the frame, which carries through into how I think about user experience and collaboration.
Curiosity stays active through learning and experimentation, but always with an eye on outcomes. New tools and evolving architectures are exciting when they improve simplicity, maintainability, and the user experience.
Experience
- Senior Software Engineer - The Rank Group plc, Cape Town, South Africa (2025 - Present)
- Contributed to full-stack implementation as part of a large-scale Single CMS rebuild, helping deliver high-traffic websites using Remix, TypeScript, GraphQL, and Umbraco with a strong focus on performance and scalability.
- Interpreted complex requirements into structured, maintainable solutions while contributing to a platform architecture focused on long-term stability and reusability.
- Acted as a senior voice in agile squads, collaborating with design, product, and tech leads on solution planning, estimation, and execution.
- Maintained and improved production-grade systems, ensuring consistent user experience, brand compliance, and business continuity.
- Handled production support as part of Hypercare, resolving time-sensitive technical issues with minimal business disruption.
- Intermediate Software Engineer - The Rank Group plc, Cape Town, South Africa (2021 - 2025)
- Rebuilt CMS-powered brand websites using Remix, TypeScript, and Umbraco. Integrated modern practices including GraphQL APIs and shared component libraries.
- Contributed across front-end and back-end stories with a focus on secure, well-documented, and testable code.
- Participated in agile rituals such as sprint planning, stand-ups, and retrospectives. Supported continuous delivery pipelines and CI/CD processes.
- Worked closely with QA, design, and product teams to refine backlog scope, reduce rework, and improve delivery cadence.
- Supported multiple production environments during release transitions and operational handovers.
- Junior Software Developer - Open Box Software, Cape Town, South Africa (2020 - 2021)
- Maintained enterprise systems for a global commercial real estate client using C#, SQL, and JavaScript.
- Optimised CI/CD pipelines in Azure DevOps and supported release workflows to reduce build times and improve stability.
- Provided reliable support for client databases, ensuring data integrity and performance under transactional load.
- Learned multiple programming languages and delivery workflows while adapting to team dynamics and client expectations.
- Custom Development Intern - Open Box Software, Cape Town, South Africa (2019 - 2019)
- Supported internal tools and external applications through collaborative development in SQL and C#.
- Learned key concepts of enterprise data systems, code versioning, and structured development cycles in a commercial environment.
- Part-Time Technology Advisor - Recinate (formerly 2interact), Cape Town, South Africa (2015 - 2017)
- Built responsive websites, forms, and user management tools using Java.
- Designed and maintained small-scale databases tailored to client needs.
- Web Designer - Inside Man Media, Cape Town, South Africa (2015 - 2015)
- Designed client websites using WordPress and My VIGO, with attention to layout responsiveness and branding.
- Created digital content and managed client social media platforms.
- Produced lightweight graphics to complement site visuals and improve UX engagement.
Skills
- C# and .NET ecosystem development
- JavaScript and TypeScript application development
- React for modern front-end architectures
- Remix framework for full-stack web applications
- Node.js for server-side and API development
- HTML and CSS for responsive, accessible user interfaces
- Umbraco CMS implementation and customisation
- EPiServer CMS (Optimizely) development
- ASP.NET for enterprise web solutions
- SQL and relational database design
- RESTful and GraphQL API integration
- Building scalable, maintainable full-stack architectures
Soft Skills
- Agile and Scrum-based teamwork
- Effective technical communication across roles
- Cross-functional problem solving
- Strong sense of ownership and responsibility
- Flexibility in evolving product and codebase environments
- Mentorship and peer development
- Structured, logical thinking
- Balancing speed with quality in delivery cycles
- Open feedback culture and respectful disagreement
- Time and task prioritisation across streams
- Calm decision-making under pressure
- Self-driven learning and professional growth
Hobbies
- Landscape and portrait photography
- Hiking and exploring South African nature trails
- Playing strategic and narrative-driven games
- Building personal software experiments
- Drone photography and aerial editing
- Working with Raspberry Pi and hobby electronics
- Attending developer meetups and tech talks
Ideal Next Job
- A senior full-stack role focused on building high-impact systems with modern, scalable architecture, shipping work that makes a measurable difference for real users.
- Strong engineering habits matter: clear technical direction, structured planning, code reviews, testing, and dependable CI/CD. Ownership from shaping the approach and estimating work through to delivery, performance tuning, and production support is a core expectation.
- Remote work is the goal. Collaboration across time zones is comfortable, and working with overseas teams, especially in the US or the Netherlands, is a welcome option rather than a requirement.
- A healthy balance between stability and innovation is important, where architecture is treated as a long-term asset and technical debt is managed deliberately instead of ignored.
- Product work is most enjoyable when outcomes are measurable and teams can iterate quickly with real user feedback, observability, and a focus on performance, accessibility, and security.
- Team culture matters: direct communication, respectful disagreement, shared accountability, and an environment where mentoring and knowledge sharing are part of day-to-day work.
- The ideal role offers space to grow as a platform-minded engineer, contribute to system design decisions, and help improve practices, tooling, and developer experience over time.
Projects
- Slidy Guy - A responsive 3D browser game inspired by classic snake mechanics. Built with Three.js and A* pathfinding, the game includes multiple difficulty levels, power-ups, and mobile controls. Designed for performance and accessibility across devices.
- Three.js
- JavaScript
- HTML
- CSS
- A* Pathfinding Algorithm
- GitHub Pages
- Interactive CV Website - A personal portfolio site built with React and Tailwind CSS. Designed to be both mobile-friendly and content-rich. Features include a timeline layout, skills grid, and dynamic project sections. Continuously updated to reflect my evolving experience.
- React.js
- Tailwind CSS
- JavaScript
- HTML
- CSS
Education
- Cape Peninsula University of Technology - National Diploma in Applications Development (2016 - 2019)
- Huguenot High School - Matric, Grade 12 (2010 - 2014)