My Journey
My programming journey began in 2020 with a simple question: "How does Minecraft actually work?" What started originally as a curiosity about a game later evolved into a 5+ year development journey of deep technical exploration, that transformed me a player into a developer.
The Minecraft modding community had become my classroom, where I learned Java, object-oriented programming, and software design principles over thousands of hours of development. This development had me deconstructing game systems, reverse-engineering mechanics, and building features from scratch. The moment that I had learned how a singular line of code could completely change the fundamental gameplay experience, I was hooked.
This fascination in a simple block game evolved beyond simply playing games into understanding, deconstructing, and rebuilding systems. Game modding had taught me how to think like both a player and developer allowing me to understand what makes an experience engaging whilst implementing technical solutions that achieve these goals.
Philosophy
Clean Code as Craft:
I treat code that I write as communication and not just instructions for a computer, but as a messaging system for future developers and myself. Every project that I have developed has had a prioritisation on readability, maintainability, and industry-standard practices that will progress me further. The comments that I add allow me to explain "why", not "what".
Embracing Failure as Learning:
My LLGDragons project has involved countless failed implementations of systems including the likes of entity behaviour that have caused crashes, animation glitches, and variant systems that have corrupted saves. Each one of my failures have taught me something new such as how Minecraft's entity system works, why certain design patterns exist, and when to refactor versus rebuild. I document both my failures and my success as being able to understand my failures and what didn't work matters as much as what did.
Tools Are Flexible:
By using Unity for desktop applications such as Audify instead of game development demonstrates this philosophy, understanding tool capabilities beyond the documentation. Technologies themselves are means to ends, not ends to themselves and sometimes the best solution to a problem is using whatever tool will solve the problem most effectively, even unconventionally.
What Am I Looking For
I am seeking opportunites within gameplay programming or system engineering roles in game development studios where:
- I am able to contribute to complex game systems that require modular and maintainable architecture.
- Features focused for the player's experience where I am required to have both technical skills and user experience awareness.
- Cross-disciplinary collaboration opportunities between programming, design, and art.
Ideal Environment:
A studio that values clean code, continuous learning, innovation, and iterative development. I want to be part of a team that encourages knowledge sharing, embraces new technologies, and prioritises player-centric design. My ideal projects are those that challenge me to grow as a developer while contributing to memorable gaming experiences allowing me to develop systems-driven gameplay in simulations, strategy games, and sandboxes allowing me to express my technical complexity and creativity to provide the player with creative freedom.
Career Goals:
My short-term career goal is to become a junior gameplay programmer allowing me to build experience in a professional game development environment.
My long-term career goal is to specialise and develop into a systems architect allowing me to develop and design core gameplay frameworks that enable designers, artists, and other programmers to create engaging experiences.
Why Game Development:
I have chosen games development over other technical roles due to the unique combination of technical problem-solving with creative expression. Every system that I will build, whether that is dragon behaviour trees or metadata editors, exist to create a user-experience that is engaging, fun, and memorable. That combination of logic and creativity is my drive and passion for the games field.
Availability:
I am available for full-time and apprenticeship roles from June 2026 onwards, with flexibility for internships or part-time roles leading up to that date. I am open to Game Studios, indie developers, and software companies that align with my interests and values.
Location: Dartford, Kent, UK.
Tech I Work With
Fun Facts
Biggest technical Growth
LLGDragons, has taught me the power of data-driven systems. Instead of having to hardcode every dragon variant using the Java programming language, I have built a system that allows players to create variants using JSON files without having to change the mods compiled code.
This systems mirrors what has already been created within Minecraft's own design philosophy from datapacks and resource packs and also reflects professional game development practices where designers are able to modify the content without the involvement of programmers.
Technical Lesson: Having flexible systems beats specificity.
While Not Programming
In my downtime while I am not programming, I enjoy spending time with family, reading, or watching some sort of media such as Youtube, Twitch, or a series or film. Furthermore, I will also spend time playing games such as Minecraft, Portal and more either by myself or with friends.
Most Entertaining Project
In my opinion, the most entertaining project for me to work on has been my Audify project, it has allowed me to see Unity in a completely different light to what the typical use case is allowing me to produce applications rather than games. In this project I have been developing an application allowing me to import a local media file and have the system automatically create a metadata file that can be edited in the application and be output to services such as OBS.