About me
I first wrote code properly in my A-level Computer Science class, and at school I ran a daily computer science club for other students. I went on to study chemistry at Imperial College London, which looks like a change of direction on paper, but the parts of the degree I enjoyed most were the computational ones. Along the way I wrote a small program that solves stoichiometry equations by reducing them to row echelon form, and my final-year dissertation looked at how reproducible it is to build simulation inputs for very large biological molecules. In the summer of 2022 I spent three months at the University of Cambridge writing Python that generated polymer structures and let a force field decide which of them made physical sense.
After graduating I trained in US and UK tax for a few months, and then joined Xander Talent as a technical consultant, where I redesigned an ETL process and did data and CRM work for their clients. Since October 2024 I've been at Infotechtion, working on the analysis side of Microsoft 365 data-governance projects alongside the engineering team. That work has made me careful about pinning down exactly what a piece of software needs to do before anyone writes it, and practised at explaining technical decisions to people who don't work with code.
The part of my week I look forward to most is still the time I spend building things myself, and over the last two years it has taken over more and more of my evenings and weekends. Memora started as a small prototype and grew into a game with its own editor, timing engine and story system, and I've written a couple of Windows utilities because something on my own PC bothered me enough to fix it.
How I like to work
Before writing anything non-trivial I describe what it should do in a sentence or two, including the situations where it should refuse or give up, because most of the harder problems in Memora became much easier once I had done that. The calibration screen is a good example, since I wrote down which taps count and when to ask the player to try again before writing any of the code. I also measure before optimising anything, because the cause of the editor slowdown described on the Memora page wasn't what I would have guessed, and I'm always clear about which parts of a project aren't finished yet.
Outside of work
I enjoy passion projects, and most of what I know about programming I've learned by picking something I cared about and working out whatever it needed. Touch FX needed a transparent overlay and a low-level mouse hook, which meant working with WPF and the Win32 API. DesktopIdle pulled me into idle detection and the Windows media-session API, and Memora has taken me through audio timing, editor tooling, profiling and data-format design. Each project has pushed my technical skills somewhere new, and that steady growth is a large part of why I keep starting them.
Drawing is the other half of how I spend my free time. I work digitally in Clip Studio Paint and Adobe Illustrator, which are the same tools I use for Memora's artwork, so the game is where my programming and my art come together.
I share my artwork on a Twitter account that has grown to more than 10,000 followers, and my posts there have been viewed around 2 million times in total.
I also speak Korean fluently as well as English.