Skip to content
Liam Devlin GitHub LinkedIn

Professional Experience

Blazing Griffin

2025 - 2026 (12 Month Contract)

Technical design and programming of multiple core game mechanics and sectionsfor an unannounced upcoming project, collaborated on and implemented multiple gameplay shader effects, liaised with designers to create memorable and fun gameplay experiences. Empowered designers by creating bespoke tools for game mechanics to allow fast iteration on new ideas.

Responsibilities / Key Experiences

  • Game Mechanic Development
    Developed new games and mechanics in C# and Js (solo) that would be presented to the publisher at the end each month. Strong focus on network programming and gameplay mechanics. Programming was performed in Unity using C# and PlayCanvas using Js.
  • Communication
    Liaising with Designers to ensure the implementation of mechanics / games are aligned with the rest of the team and vision of the project. Attended meetings with whole team to organise timeline of integration work with art.
  • Code Architecture
    Identifying reusable elements of code that can be extracted to a submodule for use in future projects, and other areas within the current project.
  • Tooling
    Developed several bespoke tools to allow Designers to produce new content for games at a rapid pace.
  • Graphics Programming
    Developed game-specific graphics techniques that integrate with game mechanics, alongside technical art.
  • Optimisation
    Performed regular optimisation passes that prioritised frametime, ram usage and particular attention to network data size

Rockstar North

2020 - 2024

Designed and implemented player-facing systems and liased with engine programmers / pen and paper designers and production to create ergonomic and scalable systems that allowed content to be developed at a rapid pace, while maintaining a high level of quality

Responsibilities / Key Experiences

  • Performance analysis / Optimisation
    Maintained systems that were crucial in enabling the team to reach a tight performance goal and reduce the need for polling functions each frame. Performed many optimisation passes / provided detailed analysis on the results of these optimisations which informed senior members of the design team what areas of our code needed to be improved / required further optimisation.
  • Architectural Design Patterns
    When working with thousands of other engineers, a major concern of your code is not only its performance, but maintainability and readability. Many of the systems I developed were foundational systems built atop by other systems designers, and as such, extreme care had to be taken when making changes to the API of the system, or when the underlying implementation changed in a way that could not be represented through the service API. Having to deal with these concerns on a regular basis has greatly influenced the way that I architect my code, not only through daily use of some well known design patterns (factory, dependency injection, wrapper, proxies etc.) but in considering modularity and points of failure at the very beginning of the design process, allowing for systems / APIs to grow flexibly, without causing pain to dependents.
  • Code Quality Automation
    Maintained a tool that periodically performed analysis on our code projects and automated the creation of tickets / bugs to the appropriate owner of the code. This included warnings generated by the compiler, but could also handle input from additional sources, such as third party static analysers (such as ReSharper), which gave us a reasonable approximation of good quality across the various projects we maintained. This experience was quite far removed from the other game development work I performed at Rockstar, but was a great experience for topics which do not appear as frequently during game developmen, such as string comprehension, text-file parsing and very light semantic analysis.
  • Soft Skills
    Being a part of a large team requires a shift in attitude when compared to working in a smaller group or as a solo developer. Among the most important skills I developed was the ability to communicate the intent of a design, without necessarily getting in to deep technical conversations about implementation details. Furthermore, during several periods throughout development, we were required to push hard to get specific areas of our work polished to a high standard. This often meant jumping in to areas of code that myself and other members of my team were not familiar with or had little experience in, which was a fantastic learning opportunity.
    Furthermore, after my promotion to mid-level Systems Designer, we were tasked with scheduling and prioritising incoming work, which would then be confirmed by our lead. Being in a position where I had to make calls on work I would be undertaking in a given period was an excellent way to get a better high level view of the progress of the project, and how my work impacted progress.

Motorola Solutions

2019 - 2020

Maintained Pronto software for Police Scotland, implemented an integration between Pronto and a third party vehicle accidents service.

Responsibilities / Key Experiences

  • Maintaining Legacy Code
    Pronto has been in use by Police Scotland for many years, and as it has become part of their daily tools, changes to the design in the software are rare and unwanted. We mainted the software using Java and deployed updates to Police Scotland every month. When we would receive feature requests, we had to practice caution ensuring that the change needed would not require additional dependencies, causing issues on officers with older devices, but also not going too far in to "hacking" in a solution with the existing tools at our disposal. Thankfully, we did perform automated and manual testing on the app to ensure no regressions were made release to release.
  • Automated Test Development
    To ensure that the mission critical software we developed was ready to be deployed to officers, we employed a mixture of automated testing and manual regression testing. Where possible, laborious testing was automated with a DSL developed in house at Motorola Solutions, and for more intricate and difficult to test bugs, we would manually perform these test scenarios as a team.
  • Integration with new backend service
    During my time with motorola solutions, I implemented a new module for Pronto that integrated with a third-party vehicle accident reporting service. This also required me to create a mock service to test against and verify the module's behaviour, as we were unable to secure access to a test environment from the service provider.
  • Soft Skills
    Requirements for new features came directly from Police Scotland, as we were a small team of only 6 people, this often meant attenting meetings with Police Scotland stakeholders and being able to translate non technical requirments into actionable / measaurable tasks we could complete within a sprint or milestone.