Return of the intern
A year on from my first data science internship at FreeAgent, I’m about to start my second one, and I’m getting ready for my second first day. It’s different this time though. Aside from the fact that I am now a fully fledged graduate (scary!), this internship is going to be based entirely within my living room, as the entire company is now working remotely. I have never worked remotely… Continue reading

How we publish user events for 100,000 customers
The FreeAgent application is currently used by more than 100,000 companies. When users send their invoices, explain their bank transactions and do any other action to take care of their business, these actions are recorded automatically. We record them in different systems and for different purposes. One of the systems where we record actions like these is an event system and these records are called events. Events contain information about… Continue reading

What is a Business Intelligence Analyst?
The term Business Intelligence Analyst (or BI Analyst for short) can be a confusing one. Broadly speaking, the role of a BI Analyst can overlap with lots of other job titles that you might see out in the wild, such as: Data AnalystData ScientistInsight AnalystProduct AnalystMarketing AnalystCommercial AnalystReporting AnalystMI AnalystWeb AnalystCRM/Customer Analyst In general - and especially in the data world - job titles can often be inconsistent and subjective.… Continue reading
We're hiring! Check out our vacancies 👈

Transaction Taxonomy: Spending the Summer Studying SVMs
A company faces some unavoidably arduous tasks when taking control of their finances. One such task, which currently takes up a lot of time for our users, is explaining bank transactions. This is the process of assigning an accounting category to transactions, which is important both for internal reports generated by FreeAgent and for external submissions, for example to HMRC. At the end of June FreeAgent launched a suite of… Continue reading

Uprooting the Binary Tree
You’re a talented software engineer looking for your next position. Maybe you’re eyeing the FAANGs so you start researching how they do their technical interviews and you discover they like to ask algorithm-type questions - Reverse a linked list in place, Print the kth level of Pascal’s Triangle, Does string contain substring - and have you design Dropbox, Twitter, or some other system of their choosing. Then you apply to… Continue reading

The perils of a bad date
As you would expect from small business accounting software like FreeAgent, we deal with a lot of dates and times. Ruby on Rails has some really useful helper methods — but there are also a few unexpected quirks in the way that different date and time classes interact. One of those quirks sadly caught me out recently. Picture the scene I’ve written tests, the CI pipeline has passed and my… Continue reading

Starting from Home: Remote Data Science Internship at FreeAgent
Starting a data science internship at FreeAgent was going to be a completely new experience for me and I was super excited. It’s a lovely warm day in Edinburgh, Monday 1st of June, I’m standing in my kitchen looking out of the window and wondering what the next few months will hold for me. It’s 9.28am and my first meeting is supposed to start in 2 minutes. Am I going… Continue reading

Switching to Feature Testing with Headless Chrome
At FreeAgent, we run 45,000 tests on every code change to make sure that our rails monolith continues to work as expected. These include unit, integration, and acceptance tests. Recently, we switched from Capybara-webkit to Headless Chrome with Selenium for running JavaScript and acceptance tests. Why did we switch? Capybara-webkit has now been deprecated and uses an old version of webkit engine, so we had to look for alternatives. We… Continue reading

How I made personal development work for me
Taking regular time out to focus on self-improvement can have concrete benefits for both you and your organisation. These benefits could include becoming more confident in your role, getting that promotion, or helping you become a more collaborative and communicative team member. It surprises me that lots of people I speak to aren’t nearly as excited about personal developments as I am. If you feel guilty about taking time out… Continue reading
Replatforming the iOS mobile app
It has been just over a year since we shipped our replatformed iOS app to great reviews and many happy customers. In this post I would like to take a look back at where we came from and how the FreeAgent mobile app is shaping up for the future. We started developing the mobile app way back in 2014. At the time the entire engineering team was ~20 people and… Continue reading