Skip to content

Grinding Gears

Tales of code crunching from the FreeAgent Engineering team

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

We're hiring! Check out our vacancies 👈

Exciting Python code on screen

Managing Python dependencies across multiple Data Science projects with Poetry

Posted by David Edwards on March 5, 2021

Python is the programming language of choice for running analysis, building models and running machine learning services in production for the Data Science team at FreeAgent. A key reason we chose Python is the great ecosystem of packages available: NumPy, pandas, SciPy and scikit-learn, deep learning frameworks like TensorFlow and more bespoke options for specific tasks like Click for developing CLIs. This wealth of options is a great strength of… Continue reading

➼ Read other posts about data science or python

Unpacking Amazon ECS

Posted by Paul Barber on February 22, 2021

The following post is a high-level description of Amazon Web Services’ Elastic Container Service (ECS), the relationship between its components, and how they can be used to deploy a web application. ECS is a fully managed container service. It is akin to Kubernetes, but ultimately it is simpler and has fewer moving parts. ECS offers the security, reliability and scalability that is customary with AWS. The Fargate engine provides a… Continue reading

➼ Read other posts about AWS or cloud or containers or ECS or fargate

The Mobile Apps and the Tester

Posted by Jessica Yong on January 19, 2021

The replatforming of our hybrid mobile app to separate iOS and Android native apps was already well under way when I arrived at FreeAgent as a test engineer for the mobile team. Since then we have carved out processes that the whole team can contribute to, giving us confidence that for each release our apps are in good shape. Here are a few things we are doing to ensure this.… Continue reading

➼ Read other posts about mobile or testing

We're hiring! Check out our vacancies 👈

Six years of data science and analytics interns at FreeAgent

Posted by Dave Evans on January 7, 2021

It’s hard to believe we’ve been running internships in our data teams for six years now, and we’re about to start recruitment for the seventh time. Things have changed a little since our first intern started, as last year saw more than four times as many staff in the wider team and our first remote internship during the coronavirus pandemic. I’ve always tended to think of our internships as a… Continue reading

➼ Read other posts about analytics or data science or internship

Dog working at a computer

Testing Child Processes in Ruby

Posted by Andy Stabler on January 6, 2021

I was recently writing a piece of code that we wanted to act as a supervisor of child processes. We wanted to ask this supervisor the following “Hello there, would you mind running this task in a child process? Thanks!”. From here the supervisor would create a process, keep track of it so we can stop it if necessary, and run the given piece of code in it. This supervisor… Continue reading

➼ Read other posts about process management or ruby or testing

Moving 100,000 customers from co-lo data centres to the cloud. With zero downtime.

Posted by Olly Headey on December 21, 2020

Running a SaaS app in AWS in 2020 is, in itself, not a particularly remarkable thing. Migrating a complex Rails app that is used daily by over 100,000 customers to an entirely different infrastructure, introducing a new underlying architecture, and doing so without customer downtime, really is something special.  In this article we take a look behind the curtain to see how we achieved this recently at FreeAgent. It's almost… Continue reading

Answering bigger questions with BigQuery

Posted by Jack Gladas on December 1, 2020

Over the past few weeks, we’ve configured BigQuery to enable us to combine our Google Analytics (GA) front-end data with our internal back-end data. In this post I’m going to talk about why we needed to do this, how we went about it and what we are hoping to achieve as a result. What’s the problem? Historically, two separate systems have been used at FreeAgent to track, store and analyse… Continue reading

➼ Read other posts about analytics or bi or bigquery or data or GA or redshift

Empowering our practices: Take 2

Posted by Lea Whitelaw on October 30, 2020

‘How can we use our data to understand and empower our accountancy practice partners?’ This is the question that I posed in my previous blog about delivering practice insights last summer. This question was the foundation for my project last year and is the one I came back to continue answering this year. To recap how the project was left at the end of last summer; I had created three… Continue reading

➼ Read other posts about accountancy practice or analytics or bi or insights or internship or looker

Breathing New Life into Dormant Code

Posted by David Whitby on October 30, 2020

In the Tax Engineering team at FreeAgent we’re currently working on adding Corporation Tax and Final Accounts filing to our application as we continue our mission to help our customers relax about tax. We’ve been working on these features since June and recently released the Final Accounts report and the CT600 form, but what you might not know is that work on this project originally began back in 2017. So… Continue reading

➼ Read other posts about accounting or code or domain or ruby or ruby on rails or tax

throw_away_your_clutter

Can’t someone else do it? Automating Looker Housekeeping in Two Days

Posted by Rob Brown on October 2, 2020

This blog discusses how, through successful planning and design, we were able to automate some Looker housekeeping tasks in less than 2 days. Continue reading

➼ Read other posts about looker or matillion or planning or technical-debt

Posts navigation

« Older posts
Newer posts »

We're totally hiring!

See our current engineering vacancies

Built with ❤️ by the FreeAgent team.