Welcome 👋

  • I’m Rory, a Software Engineer based in London, UK.
  • Here’s my writing.
  • Looking for a tech job? Check out my website findatechjob.dev.

How to Write a Great Software Engineering CV

Writing your CV is like writing production code — it should be simple, clean and readable. The single goal of your CV is to persuade someone that you’re worth 30 minutes of their time for an interview. Here’s what I’ve learned from reviewing software developer resumes, interviewing candidates, and helping devs prepare for roles in tech. Download my CV template here Find jobs to use it on here First Principles Your CV isn’t a memoir. It’s a spec sheet. Its only job is to get you past the first hurdle and into the interview. ...

August 1, 2025 Â· 4 min

Using Tracing to Profile a Bevy Project

Bevy is an open-source game engine built with Rust. It uses the Entity Component System (ECS) paradigm to simplify building performant parallel games. When building games dealing with large numbers of entities in parallel, performance problems are common. I have recently encountered these problems with rustcraft, a voxel project that I’m now building with Bevy. Read A Minecraft Experiment with Rust and OpenGL for more details on that. This is a short introduction to tracing and how it can be used to track down and fix performance problems in your Bevy project. Bevy also has official documentation on profiling, so don’t forget to read that too. ...

June 9, 2024 Â· 4 min

3 Lessons From 3 Years as a Software Engineer

My software engineering journey is a pretty common one: Learn to code as a kid. Study STEM subjects through school. Get a degree. Become a full-time Software Engineer through some grad scheme or internship. It’s been 3 years since I started my first job. In that time, I’ve worked in 4 teams across 2 jobs where I’ve been surrounded by plenty of excellent people who have helped shape my views and opinions. ...

November 17, 2023 Â· 8 min

Building a Binary String Parser in Rust with nom

Parsers are everywhere. Writing a program? You’re using a parser. Opening a PDF or an image? You’re using a parser. Using the internet? Parsers read the packets that go back and forth on the network. For something so ubiquitous, parsing is a little understood topic. What do parsers do? How do they work? Can I write one? This is a short post on how you can build a really simple binary string parser using nom. Armed with this knowledge, go forth and parse the world! ...

April 8, 2023 Â· 4 min

A Minecraft Experiment with Rust and OpenGL

Towards the end of 2021, I started making a Minecraft-like game from scratch using Rust and OpenGL. It’s unfinished, but I’ve made it open-source. In this article, I will walk you through the journey and explain how the following techniques can squeeze performance out of your GPU: Batching View frustum culling Occlusion culling LODs First of all, why Minecraft? Minecraft introduced me to Java (and programming in general) over 10 years ago. Some of my first lines of code were to make pigs drop diamonds instead of porkchops; this led to a few years of creating and sharing mods online. To dig up a skeleton from 2013, here’s a short review of one by a fairly popular YouTube channel. ...

February 27, 2023 Â· 7 min

How to Host Your Blog for Free with Hugo and Netlify

You might notice this blog loads blazingly fast, looks snazzy, but what’s even better is that it’s free to host and took me half an hour to set up. In this article I’ll show you how. In the world of web development, there’s too much choice. Static site or SSR? JavaScript or TypeScript? Angular? Next.js? React? Blogging platforms add more: WordPress, Medium, Ghost – the list goes on. When looking for a technology to host my blog, I valued three principles: ...

February 24, 2023 Â· 4 min