Welcome to my corner of the internet#
I am a South African chartered accountant based in England, documenting my learning journey across Python, finance, and various other interests.
Daily Brief#
Check out my Daily Briefs. Each morning, an automated process scans a curated set of RSS feeds, summarises the key points using AI, and publishes a concise roundup to the site.
Python Series (17-part)#
Designed for absolute beginners, this step-by-step series will take you from installing Python to writing confident, real-world scripts.
Other Series and Posts#
Below you’ll find each series, followed by a chronological list of every blog post
I’m a chartered accountant and finance manager documenting my learning journey. This site covers my explorations in Python programming, finance insights, parenting experiences, and philosophical musings.
Command-Line Tools & Automation in Python I’ve discovered that some of the most practical Python applications aren’t fancy data visualisations or machine learning models, but rather simple automation scripts that save time on repetitive tasks. In this post, I’ll walk through how to build command-line tools and automate everyday processes using Python.
Building Command-Line Scripts with argparse When you’re working with financial data, you often need flexible tools that can handle different inputs. The argparse module lets you build command-line scripts that accept various arguments and options.
...
Part 7: Finance-Led Business Transformation This post continues my “learning in public” journey as a finance manager. All concepts and frameworks are attributed to their original creators, primarily David Parmenter, Robert Kaplan, and other thought leaders in the field.
Finance as a Transformation Catalyst The finance function has traditionally been viewed as a steward of resources and provider of historical information. However, as David Parmenter emphasises in “The Financial Controller and CFO’s Toolkit,” modern finance leaders are uniquely positioned to drive enterprise-wide transformation.
...
Testing & Debugging: Building Reliable Financial Tools When working with financial data and calculations, accuracy is essential. A small bug in your code could mean reporting incorrect figures, making flawed investment decisions, or even compliance issues. This post will guide you through testing and debugging techniques that ensure your financial Python code works correctly and reliably.
Why Testing Matters in Finance Imagine you’ve created a Python script that calculates loan amortisation schedules. Your company uses this tool to price thousands of loans. If there’s an error in your interest calculation logic, even a small one, the financial impact could be enormous.
...
Part 6: Building a High-Performance Finance Team This post continues my “learning in public” journey as a finance manager. All concepts and frameworks are attributed to their original creators, primarily David Parmenter and other thought leaders in the field.
The Finance Team Evolution As finance functions transition from traditional accounting and reporting roles to strategic business partnership, the capabilities and culture of the finance team must evolve accordingly. David Parmenter, in “The Financial Controller and CFO’s Toolkit,” emphasises that “winning finance teams” are distinguished not just by technical competence but by their ability to influence business outcomes.
...
Code Quality & Collaboration: Building Finance Tools That Last As a finance professional learning Python, you’ll soon want to move beyond writing scripts just for yourself. Whether you’re building financial models, automating reporting, or creating data analysis tools, there comes a point when your code needs to be shared with colleagues or even the wider finance community. This post will guide you through best practices for creating high-quality, shareable code.
...
Part 5: Month-End Close Transformation This post continues my “learning in public” journey as a finance manager. All concepts and frameworks are attributed to their original creators, primarily David Parmenter and other thought leaders in the field.
The Month-End Burden The month-end close process is often one of the most stressful and resource-intensive activities for finance teams. As David Parmenter states in “The Financial Controller and CFO’s Toolkit,” many organisations are trapped in a “month-end reporting death spiral” where teams spend weeks preparing reports that arrive too late to influence decision-making.
...
Virtual Environments & Packaging in Python As your Python journey progresses and you start building more sophisticated financial tools, you’ll inevitably need to use external libraries. This is where virtual environments and package management become crucial skills. In this post, I’ll cover how to create isolated environments for your projects and manage dependencies effectively.
Why Virtual Environments Matter Imagine this scenario: You’re working on two different financial applications. One requires pandas version 1.3 for compatibility with other tools, while the other needs the latest pandas 2.0 for new features. Without virtual environments, you’d be forced to choose one version for your entire system, potentially breaking one of your applications.
...
SQL for Finance Professionals: A Practical Guide As a finance manager, learning SQL can be one of the most valuable skills that you can add to your professional toolkit. This post is the start of my journey as I get to grips with the language. This guide will focus on SQL from a finance perspective, focusing on practical applications that will make your finance job easier.
Most finance roles don’t require detailed knowledge of SQL (at the level of a software engineer). Understanding basic commands, and what your code is doing, can be useful; both when it comes to code issues and process improvements you’re implementing.
...
Part 4: Beyond Traditional Budgeting This post is part of my “learning in public” journey as I transition into my role as a finance manager. All concepts and frameworks are attributed to their original creators, primarily David Parmenter and other thought leaders in the field.
The Problem with Traditional Annual Budgets Most organisations still cling to the annual budgeting process despite mounting evidence of its ineffectiveness. As David Parmenter points out in his book “The Financial Controller and CFO’s Toolkit,” traditional budgets often become outdated shortly after completion due to rapidly changing business conditions.
...
Functions, Modules & File I/O in Python These next concepts incredibly useful for organising code and working with external data. Let’s explore how Python handles functions, modules, and file operations - all essential skills for financial analysis and reporting.
Defining and Calling Functions Functions are reusable blocks of code that perform specific tasks. They help keep your code DRY (Don’t Repeat Yourself) and make it more maintainable.
Basic Function Syntax def function_name(parameters): """Docstring explaining what the function does.""" # Function body return result # Optional Here’s a simple function that calculates compound interest:
...