Skip to content

Grinding Gears

Tales of code crunching from the FreeAgent Engineering team

  • Development
  • Data & ML
  • Infrastructure
  • Mobile
  • Tooling
  • Security
  • Culture
  • Careers

Waiting for it with Capybara’s synchronize method

Posted by Simon Fish on 26 August 2025

Feature specs are notorious for their potential to flake. It’s possible for the results of feature specs to be inconsistent because they have to deal with asynchronous state. In a typical test environment, there’s a single Ruby process at play, so test code will be executed in order as written – we can reasonably expect one line to complete before the next is executed. But when it comes to feature specs… Continue reading

➼ Read other posts about capybara or feature specs or feature testing or rspec or ruby or ruby on rails or testing

The Engineering Behind Salesforce at FreeAgent

Posted by John Tsang on 28 July 2025

For nearly 15 years, Salesforce has been the engine room for our customer data here at FreeAgent. Since we first brought it on board in 2011, it has grown from a straightforward CRM into a complex, deeply integrated platform. While one blog post cannot cover every detail, we hope this gives you a better understanding of how we leverage Salesforce and the engineering approach we use to maximise its impact.… Continue reading

➼ Read other posts about salesforce

The Other Copilot: Coding with AI

Posted by Simon Fish on 26 June 2025

It seems Copilots are ten a penny these days. While our CoPilot accountant partners are a human way to support you using FreeAgent, the flight term has really taken off(!) as branding for AI tools, GitHub’s Copilot being just one of them. The rise of AI tooling for developers has sparked a lot of discussion and controversy as of late. It’s also seen rapid development and innovation, with several code… Continue reading

➼ Read other posts about AI or GenAI or LLM or ruby or ruby on rails or testing

Type checking in Ruby – Part 1

Posted by Paul Hendrick on 9 September 2022

Over the course of a career in software engineering, we learn to love elements of our tooling and dislike others - that’s perfectly natural.  As requirements change, including our own need to improve as engineers, so does what appeals to us when reaching for a new framework, language or library.  A common path for lots of engineers will have been to learn something like C or C++, both strongly typed… Continue reading

➼ Read other posts about ruby

A brief introduction to ‘the cloud’ and managing infrastructure with code

Posted by David Bloomfield on 31 August 2022

Over the last decade the ‘cloud’ has become increasingly prevalent . A cloud based system allows a  company to flexibly buy servers, storage, networking and various other services that are hosted externally rather than on-site, typically with a programmatic interface to allow large-scale use.  According to a 2019 report, 94% of companies were utilising the cloud in one way or another. The market for cloud providers was valued at $200… Continue reading

➼ Read other posts about AWS or cloud resources or Gruntwork or IaC or infrastructure or internship or Terraform or Terragrunt

Getting started with Jupyter Notebook

Posted by Ferdinand Becker on 12 July 2022

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

➼ Read other posts about analytics or data science or internship or jupyter notebook or python or tools or tutorial

In full flow: moving from Jenkins to Actions – Part 1

Posted by Daniel Holz on 10 June 2022

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

➼ Read other posts about github

Tooled Up. A brief history of SaaS tools we’ve loved (and lost)

Posted by Olly Headey on 3 April 2020

Distributed (remote) working has always been a foundation of the Engineering team at FreeAgent. Our entire company was founded as a distributed team and over the years we've managed to maintain a 50% distributed-to-office staff ratio in Engineering. The tools we use to work effectively as a distributed team have changed over the years, but there are a number of stalwarts that we've used since 2007 and still love today.… Continue reading

➼ Read other posts about tools

An Evolution of Bank Feeds: from Yodlee to Open Banking

Posted by Tom Corley on 6 March 2020

We care a great deal about bank feeds. They provide the essential link between our users' FreeAgent accounts and their bank accounts, automatically importing transactions each day. From our customers' point of view they're probably the most valuable and most used feature of the software, so they're really important to us too. For many of our customers, the main purpose of using accounting software like FreeAgent is so they don't… Continue reading

➼ Read other posts about bank or bank feed or open banking or yodlee

Let’s talk tools

Posted by Will Mathewson on 2 December 2019

In a recent workshop, we were talking about our toolchains, recommending tools to one another that we couldn't live without. We shared them with the rest of the engineering team and they gave further suggestions of their setups. I've collected them all together so you can find your new favourite tool and increase your productivity! Let's get into it. Browser Extensions Octotree is a browser plugin that gives you a… Continue reading

➼ Read other posts about tools

Posts navigation

« Older posts

We're totally hiring!

See our current engineering vacancies

Built with ❤️ by the FreeAgent team.