
The 4 SQL queries you need to debug Redshift performance
This blog provides four useful SQL snippets you can use to debug poor Redshift performance. Continue reading

So you’re going to be an intern
After months of nerves, interviews and one too many LeetCode questions, youâve done it. Youâve landed an internship, youâre free from the dread of a long, empty summer and your brain is filled with vague notions of what your internship might be like. Iâm here to gather up your brain clay and sculpt it into solid ideas of what things will be like. Before we start, it needs to be… Continue reading

CSS Day conference, June 2022
In early June 2022, Laurence and Ryan from our Design System team visited Amsterdam for CSS Day. Here, they reflect on an inspiring two days of learning and community. Continue reading
We're hiring! Check out our vacancies đ

Engineering lessons from my SaaS startup
Iâm now almost two months into my software engineering summer internship at FreeAgent. When I was 18, I chose to delay the start of my university course for 18 months to have a go at building a âSoftware as a Serviceâ (or âSaaSâ) startup with two others. Our software, âtrackioâ, was a bring-your-own data platform that allowed sales teams to collect, connect and reconcile their disjointed data sources. It was… Continue reading

How to boost your confidence as a beginner software engineer
Every engineer has questioned at least once in their life whether they are skilled enough for their chosen field. I experienced these doubts when I started my computer science degree at university, and despite the fact that I got through the first three years successfully, I still wasnât fully confident in my abilities when I started my internship at FreeAgent. However, this is entirely normal. Every engineer faces challenges on… Continue reading

An introduction to object-oriented programming
Object-oriented programming, or OOP, is a programming paradigm centred around the concept of objects. This article will aim to provide a basic understanding of objects, classes, OOP principles and various other concepts within the paradigm. Code examples will be mediated in the Ruby programming language, which is an example of an object-oriented language. In Ruby, any value is an object, even data types like String and Integer, which are often… Continue reading

What a data science degree doesnât teach you
When I enrolled on my data science masterâs degree I had limited statistical and coding knowledge. This course was designed to teach these skills from the bottom up. Having now worked as a software engineering intern, I have come to realise a lot of things were missed. Moving beyond âif it works⊠it works!â Learning to code can seem very daunting. There are so many resources and even languages. Where… Continue reading

Getting started with Jupyter NotebookïżŒ
Jupyter Notebook is a development environment that runs in your web browser and can be used with several languages, including R and Python. In this blog post, weâll look at some of the benefits of using Jupyter Notebook and how to start using it with Python. Benefits of Jupyter Notebook Chunking code into cells Instead of having to write code in large flat files, developers can use Jupyter Notebook to… Continue reading

A 12-step guide to AWS cost optimisation
This article outlines the pragmatic approach that weâve followed here at FreeAgent in our first 18 months of using AWS to increase our cost efficiency. Using this approach, weâve already cut our AWS spend by 50%, and we estimate we can save another 30% a year by implementing further efficiencies. Here are 12 things weâve learned along the way. Our strategy 1. Donât optimise for cost too early We fully… Continue reading

In full flow: moving from Jenkins to Actions – Part 1
At FreeAgent a recent project to move our Continuous Integration/Continuous Delivery (CI/CD) workflows from Jenkins to GitHub Actions has brought some real benefits. In this post weâll cover the background of our CI/CD pipelines, why we wanted to change how they run, and how we decided on GitHub Actions. In the next post weâll cover how we handled the migration, and how we solved the challenges we encountered. But letâs… Continue reading