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 šŸ‘ˆ

Say hello to some of our women in engineering!

Posted by Katrina Coutts on 25 June 2021

We celebrated International Women in Engineering Day earlier this week with a video featuring some of our own. This inspired a few more of us to mark the occasion and say hello. What’s exciting is that there are many different routes to a career in engineering. Say hello to... Katrina šŸ‘‹ Who inspires you in the tech world? I think I've been genuinely lucky to start out at FreeAgent. Over… Continue reading

āž¼ Read other posts about Engineering or Women

Titlecase, underscore and laser guns

Posted by Karolina Drobnik on 10 June 2021

Not so long ago, I had an opportunity to peek under the hood of titlecase and underscore methods, the tiny cogs of the ā€œRails magicā€ machine. The latter turned out to be a very interesting function—a lot of hard-to-follow transformations, secret injections and the like. All of these bits significantly contributed to an odd-looking bug I’ve been working on.  Today, we’ll unravel the implementation of both methods and look in… Continue reading

āž¼ Read other posts about debugging or regular expressions or ruby or ruby on rails

Engineering Principles at FreeAgent

Posted by Olly Headey on 14 May 2021

Culture is an inherent part of every organisation. It lives and breathes. In our engineering organisation at FreeAgent there are now over 100 fabulous people. It is these people and the culture we have built that are consistently recognised as our two most important strengths. They're also what we fear losing the most. There is a natural cycle of cultural onboarding for new people joining our organisation. In their first… Continue reading

We're hiring! Check out our vacancies šŸ‘ˆ

Control freaks: how we built our own version control for Matillion

Posted by Lea Whitelaw on 27 April 2021

We’ve all been there - it’s a couple of days or even the night before an important deadline and one of the following happens: You lose your memory stick with all your work on it and scramble to recreate it but can’t get it back to the way it was.You make some more ā€˜advancements’ to your work and suddenly everything is broken and you can’t seem to get it back… Continue reading

āž¼ Read other posts about analytics or data or etl or git or github or matillion or python or understanding data or version control

A day in the life of a Web Analyst

Posted by Lana Turnbull on 9 April 2021

Hi, I’m Lana and I’m a Web Analyst within the Analytics team here at FreeAgent. I primarily look after our Google platform products such as Google Analytics 360, Google Optimize, Google Data Studio and Google Tag Manager. When I tell people my job title, usually the next question I get is ā€˜So what is it you actually do then?’ To help answer this question, I decided to spend a day… Continue reading

āž¼ Read other posts about analytics or google analytics or Web Analyst

Shopping for data: How thinking about supermarkets might help you to manage your Looker implementation

Posted by Rob Brown on 26 March 2021

This blog makes a comparison between a well run supermarket and a well designed Looker implementation. Continue reading

āž¼ Read other posts about data or looker

Timecop vs Rails TimeHelpers

Posted by Matt Bearman on 25 March 2021

TL;DR - You probably can’t replace Timecop with Rails' built in TimeHelpers, as TimeHelpers only recreates Timecop’s freeze method, and can’t handle nested travelling. Timecop is the go-to gem for testing time-dependent code, as it allows you to manipulate the current time during test runs. This is important because without control over the time, flakey tests can emerge in your codebase. A very simple example is testing the created_at attribute… Continue reading

āž¼ Read other posts about ruby or ruby on rails or testing or timecop

We’re Gonna Need a Bigger Boat

Posted by Richard Grey on 9 March 2021

Earlier this year, the FreeAgent marketing website www.freeagent.com was the target of a volumetric Distributed Denial of Service (DDoS) HTTP flood attack. This was a relatively unsophisticated attack in that it targeted a particular static endpoint of our website with a massive number of HTTP GET requests from multiple remote IP addresses around the globe, as visualised on the map below. Predominantly serving the UK small business base, FreeAgent wouldn’t… Continue reading

āž¼ Read other posts about security

Exciting Python code on screen

Managing Python dependencies across multiple Data Science projects with Poetry

Posted by David Edwards on 5 March 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 22 February 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

Posts navigation

Ā« Older posts
Newer posts Ā»

We're totally hiring!

See our current engineering vacancies

Built with ā¤ļø by the FreeAgent team.