Right to be Offensive

to be


Professionally programming since 2012, (2016 with professional colleagues), after self-teaching from scratch. I love the craft with a passion, and can easily lose track of time working on a problem if it catches my interest.

I’m driven by helping others, whether directly by teaching them, or indirectly by optimising some database query to make their work take 1% less time.

I like to think I possess excellent written and spoken English skills, and I know for a fact I’m a complete beginner at Japanese, though my Japanese friends always say I’m very good indeed. One of them said I could easily be a translator, so I know they’re blowing smoke, but I still appreciate it.

In my own time I play competitive video games at a non-competitive level, (except Atomic Chess I guess, where I rank around top 10%), practice piano and guitar way too little, and bake bread. I also have a cat that hates me, which is pretty cool.

Expert in: Python; Django.

Professionally useful in: React; React Native; Redux; thunk; SQL (PostgreSQL, MySQL, SQLite, and more), Django REST Framework; Linux; systemd; wxPython.

Hobby level interests: C++; make; Hugo; Go; Twisted.

Dislikes: WordPress; PHP.


Mar 2019 - today, Employer name withheld - Full-stack developer

I work in a team of two people in an in-house tech department maintaining the giant piece of software that runs the business, which (in contrast to my previous roles at software agencies) does family law related forensic drug and alcohol testing. I also work on odd side projects that crop up from time to time.

The main software I maintain and for which I author features on a daily basis (hereafter referred to as Eee) was initially written nearly a decade ago by someone who had no professional guidance, nor much experience, and probably not a great deal of budget. As you might imagine, I have gained a great deal of experience with the ins and outs of maintaining legacy code working on this codebase. As has been a theme, Eee is a Django-based rich web application, with a PostgreSQL backing store, and various pieces of JavaScript on the frontend.

Outside of Eee, I have created a mobile app for sample collection team to use when interviewing clients with regards to their drug usage, researched and suggested the issue ticketing system currently in use, and thoroughly instilled a PR-driven culture with regards to what makes it to master, having gone from nearly a hundred PRs when I joined, to over a thousand less than three years later.

Jul 2018 - Mar 2019, CommonCode - Full-stack developer

I worked in a team of variable size depending on the project, from as few as two people, to as many as “I don’t know”. In the smaller teams, I often fell into somewhat of a mentorship role, as I had more experience with React than the team members who were assigned the tasks.

Similar to my time at my previous employer, I mainly used Python, Django, and React, backed by relational databases, usually PostgreSQL. Dissimilar to my time at my previous employer, I attended and contributed to meetings with clients.

I worked remotely from England for the Australian company as a self-employed contractor until my hours dried up, and I was put on a PHP project too often.

Mar 2016 - Mar 2018, JP74 - Junior developer

I worked in a team of four backend developers, one frontend developer, and three designers, creating and maintaining rich web applications,

Most of the time, the applications were written entirely in Django, with Celery managing long running tasks, and MySQL or PostgreSQL as the backing database, though occasionally we used Django REST Framework in addition to the aforementioned as an API for a React SPA.

I helped maintain the existing web applications, hunting down issues on behalf of clients, fixing them, and deploying them to production in the same day the client gave the go-ahead.

The deployments that I managed were to several different AWS setups. Our main production server was a standalone EC2 instance in AWS, though we had a much more interesting CloudFormation-configured autoscaling high-availability cluster with blue-green deployments which I championed, hosting a global wordpress site for a multinational company.

We also did regular expeditions into unknown territory, to prepare for upcoming projects, or as a special request from a client. We were asked to provide big data insights for a pharmaceutical company, for whom we were unable ptovide a satisfactory result, and - more happily - we were exploring React Native and GPS integration as a favour for a local nature conservation organisation.

I was made redundant from JP74 as it slowly died. I have a story about that. The domain has now been bought by a squatter, and read simply “fin” before that, so please excuse the lack of a link.

Jun 2012 - Mar 2016, John Hunt Photography - Lab assistant

I worked in a team of two to three people, managing two professional digital photo labs (printers), editing photographs, and managing stock.

Towards the end of my stint, I also developed several Python programs, some to automate my own job, and some to run processes in the company. This gave me the confidence to seek my way into the software engineering industry proper, so I left as I outgrew the company.


  • Computing, Economics, and Mathematics A levels
  • Physics AS level