Skip to main content
Alex Hyett

How I Manage My Finances as a Software Developer

By now you have probably taken down your Christmas decorations and your house is starting to look a little empty and so is your bank account too. What better time than January to finally sort out your finances.

As software developers, most of us tend to be blessed with above average salaries. However, earning a high salary doesn't automatically translate to being wealthy.

As Morgan Housel says in the book "The Psychology of Money" (affiliate link):

We should be careful to define the difference between wealthy and rich. It is more than semantics. Not knowing the difference is a source of countless poor money decisions.

Someone who has a high income is considered rich, but they can only be considered wealthy if they manage to save that money.

Wealth is just the accumulated leftovers after you spend what you take in. And since you can build wealth without a high income, but have no chance of building wealth without a high savings rate, it’s clear which one matters more.

I know plenty of developers who are earning 6-figure salaries yet don't have enough money to take a month off unpaid. Over the years they have let lifestyle inflation erode their income and have little left to show for the long hours worked other than an expensive house and car, which they are having to work even harder to pay off.

If you want to be wealthy and have more control of your time you need to get a handle on your spending and start saving and investing.

I am no financial expert this is just what has worked for me, please do your own research as you are responsible for any loss resulting from following my advice.

Account Management #

Most of my financial acumen I got from reading "I Will Teach You To Be Rich" (affiliate link) by Ramit Sethi when I first started work.

I didn't have a clue about personal finance, saving or investing and this book helped a lot. One of the big takeaways that I still use today is to split my money into different accounts.

I have quite a few different bank accounts now, but I have 4 main ones for this explanation

My main account is the account I get my salary paid into. This account doesn't have any bills that come out of it and is mostly used for redirecting money to other places.

My joint account is shared with my wife and is where all normal expenses come out. For example:

Every month around the 24th I have a standing order that transfers the amount needed to cover our monthly spending into the joint account.

My Personal Account is used for what Ramit refers to as "Guilt Free" spending. This is money that I am free to spend however I choose. As all our monthly expenses have already been covered I don't need to worry about not having enough money to cover bills.

Finally, I have my savings account which is where I save for future expenses. I used to have multiple savings accounts for each of my "saving funds" this worked well to start with but became a pain due to interest rates. Many savings accounts have a bonus interest rate for the first 12 months, and then it drops to 1% or less.

I didn't want to have to open up multiple new savings accounts every year, so I just put all my money into one and then keep track of the different saving funds using a spreadsheet (or using "Actual" see later).

I have these saving funds that I save into each month:

In addition to the above I also have a Stocks and Shares ISA that I save into each month, where I have my money mostly invested in low cost index funds.

Investing in index funds isn't necessarily going to make you wealthy, but it is a good hedge against inflation and is often better than putting it in a savings account. For example, over the last 5 years I have averaged around 8% on my investments.

Personal Overdraft #

I don't have any overdrafts on my accounts. Overdrafts are effectively an unplanned loan and as such usually come with large fees and interest rates. Of course, you need to plan for the unexpected as well, and if you have under budgeted you could find yourself ending up in your overdraft.

I overcome this by having my own overdraft in all of my accounts. This is essentially just a minimum balance that I like to keep in each account. How much you keep as a minimum balance is up to you however I like to keep 1 month's worth of expenses.

A few years ago some major banks in the UK had troubles with their system stopping people from accessing their accounts. Since then, I like to make sure I am still covered in case I get paid late or there is an issue with my standing order.

In fact, because I always transfer money on the 24th despite not getting paid until the end of the month I am always a month ahead of myself anyway.

Budgeting #

It doesn't matter how elaborate your account set up is, it is all useless if you don't know how to budget.

A budget outline all of your monthly spending and makes sure that your income is enough to cover the expenses.

For years, I kept my budget in a spreadsheet, outlining all the individual categories that we spend money on. However, without going through all my bank statements I couldn't see whether we always kept to our budget or not.

For the last couple of months I have been using Actual Budget, which is a self-hosted free budgeting system that works the same as YNAB (You Need A Budget). As you are probably a software engineer I won't go into how to self-host it in this issue. I am doing it using Docker and Caddy so that I can have a valid SSL certificate without needing exposing the service outside my network.

It works on what is often called the Envelope System.

Imagine you receive your pay each month in cash. Instead of putting that money in the bank you put into several labelled envelopes. You might have one for Food, one for bills, one for eating out etc.

You are only allowed to spend what is in those envelopes. At the end of the month, if there is money left in an envelope you can either keep it in there for next month or move it to savings.

With Actual, you can link your bank accounts with GoCardless and then mark each expense against a category. It then tracks how much you are spending against your budget and tells you whether you are over or under budget in each category.

Actual Budget Categories

Actual even gives you some nice graphs to track your spending against income, as well as your net worth.

Income vs Expenses

Note: these numbers are from the demo account not my actual finances.

With everything categorised you can clearly see where you are overspending and what areas you need to cut back on or allocate more money too.

This is especially useful for tracking categories where spending varies each month. For example, we have 2 rabbits and 2 cats at home which I budget £100 month towards a pet category. Most months we don't spend £100 but on months when one of them have their annual injections it costs a lot more.

Savings in Actual #

Actual has 2 different ways you can add accounts, these are on-budget and off-budget.

On-budget accounts are accounts where you are actively tracking spending. I include all my current accounts in this as well as my previously mentioned savings account and credit card.

Off-budget, I use for long term savings and investments which I rarely touch. You can even track your mortgage and house worth in off-budget accounts if you want to track your overall net worth.

I hope this slight detour into my personal finance system has been useful.


❤️ Picks of the Week #

It is the start of the year, so there seems to be a lack of interesting content this week. Hopefully there is something below that will be of interest.

📝 Article - Some notes on NixOS - I haven't tried NixOS yet, but I am tempted to give it a try. Even though I run all my services from Docker there are still a few things I have to install.

👾 Game - 1D Pac-Man - Erm, because why not. I was never very good at Pac-Man anyway, but this was fun to play for a few minutes.

📝 Article - Disney's earliest Mickey and Minnie Mouse enter public domain as US copyright expires - If the Winnie the Pooh horror movie is anything to go by expect to see some really creepy Mickey Mouse stuff this year. Or has it already happened?

📝 Article - 7 watts idle on Intel 12th/13th gen: the foundation for building a low power server/NAS - I plan to build my own NAS server this year with some spare PC parts I have lying around. One of my goals is definitely to make it as low power as possible. This is a great write up which I am sure I will learn something from. I will try and do something similar when I build my server.

👾 Game - Hardspace: Shipbreaker on Steam - I got this game as part of my Humble Choice subscription. In short, the goal is to break apart spaceships and try and salvage as much as you can. It is quite satisfying floating round and working out the most optimum places to cut. It is full price at the moment but regularly goes on a 50% off sale.

📝 Article - Amazon's Silent Sacking - Justin Garrison - I have seen this at other companies as well. You aren't made redundant but asked to apply for other internal positions that you will likely hate and quit later on. It is a horrible practice that is there just to hide the fact they are making lay-offs and to avoid paying severance.


👨‍💻 Latest from me #

As I mentioned in my last issue, I have set myself some goals this year. One of them is to go for a walk at least 5 times each week.

This might not seem like much but given that I always work remotely I can sometimes skip my lunchtime walk when I get busy. If I am not careful I can go a whole week without stepping foot out of the house!

I have been using Obsidian more recently and have even moved my daily journaling to it as well. Each day I log whether I have been for a walk or not with Walk:: 1. The double colon means I can use the Dataview to grab this data and display it in different formats.

I have created a GitHub style graph that shows which days I have walked:

Walking Tracker in Obsidian

Note: I am writing this Friday morning, so I haven't failed my goal just yet!

If you interested in doing something similar I created a GitHub gist with the code for this query. I will probably do a post in the future with some cool Dataview examples.


💬 Quote of the Week #

Were here for a reason. I believe a bit of the reason is to throw little torches out to lead people through the dark.

  • Whoopi Goldberg
Metadata
Skip back to main content