Part 6: Virtual Environments & Packaging in Python

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

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. ...

Beyond Traditional Budgeting

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. ...

Part 5: Functions, Modules & File I/O in Python

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: ...

Lean Financial Reporting That Executives Actually Read

The Reporting Paradox Finance teams often find themselves caught in a frustrating paradox: they invest enormous effort into producing detailed reports that executives barely read. A survey by Financial Executives International found that finance departments spend up to 30% of their time on report preparation, yet 65% of executives admit to reading only summaries or conclusions (FEI, 2023). As David Parmenter observes in “Winning CFOs: Implementing and Applying Better Practices” (2012), “Most finance teams are producing a monthly financial pack that is more like a doorstop than a decision support tool.” This disconnect wastes valuable resources and misses the critical opportunity for finance to influence decision-making. ...

Part 4: Core Data Structures in Python

Post 4: Core Data Structures Welcome to the fourth post in my Python learning journey. So far, we’ve installed Python, set up a development environment, and explored the basic syntax. Now it’s time to dive deeper into Python’s core data structures; the building blocks you’ll use to organise and manipulate data in your programs. In this post, we’ll cover: Lists: Python’s versatile sequence type Tuples: Immutable collections Dictionaries: Key-value mapping Sets: Unique value collections Choosing the right data structure I’ve found these data structures similar to concepts we use every day; lists are like columns in spreadsheets, dictionaries resemble lookup tables, and sets are perfect for tracking unique items like account codes. ...

KPIs That Actually Drive Performance

The KPI Crisis in Modern Business Most organisations are drowning in metrics while starving for insight. According to research by MIT Sloan Management Review, over 70% of executives believe their KPI systems don’t provide the strategic guidance they need (Neely & Bourne, 2020). This disconnect illustrates a fundamental problem: despite the prevalence of performance measurement systems, few organisations have metrics that genuinely drive improvement. As David Parmenter explains in his seminal work “Key Performance Indicators: Developing, Implementing, and Using Winning KPIs” (2015), “Most organisations have been measuring the wrong things in the wrong way.” The result is what he calls “measurement dysfunction”—where metrics create perverse incentives, drive suboptimal behaviors, or simply fail to influence performance at all. ...

Part 3: Python Syntax Fundamentals & Language Features

Post 3: Python Syntax Fundamentals & Language Features Welcome to the third post in my Python learning journey. In the first two posts, we installed Python and set up a proper development environment. Now it’s time to dive into the language itself. This post covers the fundamental building blocks of Python code that I’ve been learning. We’ll explore: Variables and basic data types Operators and expressions Control flow with conditionals and loops List comprehensions and lambdas Iterators and generators Error handling with try/except This post is a bit longer than the previous ones, but these fundamentals form the foundation of everything else in Python, so it’s worth taking the time to understand them. ...

From Bean Counter to Business Partner

The Stereotype vs. The New Reality For decades, finance professionals—particularly accountants and controllers—have battled the “bean counter” stereotype: detail-oriented, historically focused, compliance-driven, and somewhat disconnected from the operational realities of the business. This perception, while increasingly outdated, persists in many organisations. As David Parmenter notes in his book “The Leading-Edge Manager’s Guide to Success” (2011), “Yesterday’s finance team was renowned for producing financial information that was too late, too detailed, and not focused on what matters to the management team.” This observation captures the fundamental challenge that modern financial controllers must overcome. ...

Hugo & PaperMod Theme

Hugo + PaperMod Theme: A Complete Crash Course Introduction Hugo is a blazing fast static site generator written in Go. Combined with the elegant PaperMod theme, it’s a powerful solution for creating modern websites, blogs, and documentation. This crash course will guide you through setting up, configuring, and customising your Hugo site with PaperMod. This is how I created my site. Installation Install Hugo First, you need to install Hugo on your system: ...