who? why? ⟶
How to make sure API keys and other secrets are kept safe in production by building a backend
The two-year itch
My experience overcoming that tricky gap between junior and mid-level developer, and finding a job where I can grow.
2022 in music
Albums released in 2022 that I particularly enjoyed.
Django conditional expression classes
Amp up your Django queries by evaluating expressions via inbuilt classes.
Coding outside work
TL;DR: Stop worrying what Twitter says and do whatever you want.
Messing up & rewriting history
I'm back. What happened to my Wagtail blog? What's all this static site business?
Getting to grips with Django REST Framework and React, pt. 2
Part 2 of my tutorial on how to glue together your Django and React apps, passing data to a frontend.
I haven't written code at work in at least 2 weeks
Did I change my career yet again? You'll have to click through if you want to find out.
Setting up Python3 on Apple Silicon
New technology is supposed to make our lives easier... but sometimes, you wish it wouldn't bother. Don't let Apple Silicon get in the way of you using Python!
What do I hope to have achieved by the end of 2022?
Getting to grips with Django REST Framework and React, pt. 1
Part 1 of my tutorial on how to glue together your Django and React apps, passing data to a frontend.
2021 in music
Albums released in 2021 that I particularly enjoyed.
Customising settings in VSCode
VSCode is a popular IDE, largely because it's user-friendly and highly customisable. Here's how to make it work for you.
Setting up pre-commit hooks
Keep a clean, standardised codebase and save time by setting up pre-commit hooks for your project.
Assorted thoughts on Django migrations
Making sense of a few common patterns in Django migration files.
Travelling from Germany to England in times of COVID
The intricate process of preparing for travel between my two home countries.
Deploying a Django app to Heroku in 2021
The quirks of Heroku shouldn't stop you from deploying your Django app there!
random.choice() vs random.choices()
The difference between the two methods for Python's in-built random module.
How I scrummed my novel
Scrum isn't just for software development; you can apply it to just about any area of life where you have a goal you need to achieve within a defined amount of time. Turns out it works splendidly for creative goals.
How does PyCharm fare as an integrated development environment? Here's my hot take.
Preparing for the Professional Scrum Developer (PSD I) exam
Passing Scrum PSD I exam should be a breeze if you prepare for it adequately. Read about my experience studying for and taking the exam, plus a lot of valuable resources.
2020 in music
Albums released in 2020 that I particularly enjoyed.
Understanding context in Django
Context is such a vague word... it could mean anything. So what does it mean in Django?
Adding custom StreamBlocks to your Wagtail site
Part of the fun of using Wagtail is its native StreamFields feature, allowing you to tailor the CMS to the user's needs. This posts shows how to make your first ones.
Django ORM basics
How to make a few different important database queries with the Django ORM.
The first month
Five initial impressions about switching to the software development team in my company.
Some professional news
Spoiler: I got my first ever job as a junior software developer! How did this happen?
Review: Codecademy Pro
How good are Codecademy and its ilk really when it comes to teaching yourself to code?
Spilling coffee on a laptop taught me a lesson (but not the one you think)
A cautionary tale about not waiting for things to be perfect before you do them.
Applying to my first dev job
Overcoming the life-long ideas I had internalised about myself and my skills, and just going for what I want anyway.
Back to school
Signing up to take my first formal group programming classes at a local college... during lockdown!
Deploying my Wagtail blog to Digital Ocean, pt. 2
Part 2 of my tutorial on deploying your Wagtail blog to Digital Ocean, learning a bit about Gunicorn and Nginx on the way.
Deploying my Wagtail blog to Digital Ocean, pt. 1
Part 1 of my tutorial on deploying your Wagtail blog to Digital Ocean, learning a bit about Gunicorn and Nginx on the way.
Coaching at Django Girls 2019
In which I give my first lightning talk and have my Rubicon moment: realising I want to code as a career.