
How to survive imposter syndrome in your software engineering internship
Hi there! My name is Fiona, and I am an intern at FreeAgent. I got my offer and dodged returning to the monotony of bar work that I endured last summer. However, I was only in my second year of studying Computer Science. How was I chosen from what must have been a sea of applicants? They must have overlooked someone! Had I lucked out? In hindsight, this was a… Continue reading

My internship project: from ideation to implementation
When I started my internship at FreeAgent, I had no idea what to expect. I read previous blog posts and saw that interns get up to a wide range of things! I spent my first weeks here doing onboarding tasks and fixing small bugs. Once Iād started to get familiar with the codebase and the way FreeAgent works, it was time to start my project. š® My team manages Sudo,… Continue reading

Fireside chats about tech careers and automation paranoia
I read a book called Coders at Work by Peter Seibel before starting university. Inspired by the format of Jessica Livingstonās Founders at Work, each chapter features an interview with an accomplished programmer. The interview style of writing feels like a personal conversation, offering a rare look into the thought processes of some very impressive people. I'm currently in my second internship at FreeAgent. Last year, I wrote a blog… Continue reading
We're hiring! Check out our vacancies š

Combining data from different sources with SageMaker pipelines
Generating datasets for machine learning Preparing data and generating datasets is a crucial step to train a machine learning model. If you are lucky your data might come from a single .csv file. However in most cases pulling together the input features to train your machine learning model will require combining datasets from different sources. Combining data from different sources manually can be a time consuming process, prone to errors.Ā Ā … Continue reading

A view of technical leadership from across the industry
It has been over two years since FreeAgent introduced staff engineers into the IC track. The intention was to align ourselves with the wider industry by renaming the previous Senior II level to Staff. At the time, no changes were made to the expectations for the role. Since then, we have overhauled the expectation framework (for our learnings on how to do this, see Dave's post here), and the folks at LeadDev… Continue reading

The web application brand refresh journey
At the beginning of this year the Design System team took on the work of updating the FreeAgent brand, focusing on the web applicationās typography, colours and logos (and a few extra bits). You can read more about the new look in Roanās post. I want to take you on a journey of what updating a 10+ year old codebase was like and the challenges it brought with it. The… Continue reading

Five principles for writing an engineering progression framework
In this article Iāll share five principles that became apparent during the process of updating our progression framework. These may be helpful if youāre thinking about introducing a progression framework or making improvements to an existing framework. Itās not an exhaustive list! Continue reading

Generative AI: Programmable Reasoning Machines of the Future
These days Generative AI is being employed for everything from interpretation and summarisation of text to problem solving with a conversational natural language interface. What sort of conceptual model should we have in mind when thinking about LLM systems? Continue reading

Challenge Accepted: Our Weekly Looker Challenge
We wanted to improve our stakeholdersā Looker skills Here at FreeAgent we use Looker as our business intelligence tool. Itās used by over 150 stakeholders across the organisation, of which over 100 are active on a monthly basis. To unlock Lookerās full potential, weād like those stakeholders to be better equipped to explore the data using Lookerās range of features, rather than simply viewing a chart that somebody else has… Continue reading

Readable Dates in Rails
I was playing around in Swift recently, and wanted a reference to 'one day ago'. This is simple enough in human terms: if it's 9:30 on the 18th of September, 'one day ago' means 9:30 on the 17th of September. The Swift code to do this looks like this: Calendar.current.date( byAdding: .day, value: -1, to: Date.now ) ...and that's just a bit much, isn't it? First we need to access Calendar.current, a singleton… Continue reading