Skip to content

Grinding Gears

Tales of code crunching from the FreeAgent Engineering team

  • Development
  • Data & ML
  • Infrastructure
  • Mobile
  • Tooling
  • Security
  • Culture
  • Careers
Image of a caterpillar

How To Write A Good Bug Report

Posted by Dave Jones on October 24, 2019

Hi there! My name is Dave and, as a Support Engineer at FreeAgent, I spend a lot of my time talking to our customers, our support agents and our software developers about the behaviour (and occasional misbehaviour) of our product. Fixing a product issue is an incredible opportunity to delight your users and show that, when push comes to shove, you stand by your service and your customers. During my… Continue reading

➼ Read other posts about bugs or debugging or github or issues or software engineering

To Error, or Not to Error, that is the Question

Posted by Struan Robertson on September 13, 2019

Setting the scene You’ve got a great new feature - you’ve spent days and months testing and producing it and it’s ready. You’re ready to deploy, turn on the feature switch and GO GO GO. You know people are going to love it - and you’ve thought of all the possible issues that could arise. But disaster strikes - you’re throwing exceptions and things don’t seem to be working the… Continue reading

How we make architectural decisions

Posted by Tobias Haar on September 11, 2019

"Change is the only constant in life."—Heraclitus The software we build at FreeAgent is constantly changing and evolving. The requirements of our software can change for a wide variety of reasons, including: scalability concerns, changes to the law or organisational changes. It’s impossible to list all the reasons why your software might have to change, but it’s crucial to acknowledge that it WILL change. In order to clearly communicate the… Continue reading

➼ Read other posts about architecture

Down the Ruby Mine, Part III: Splat and splat again

Posted by Samuel Knight on August 29, 2019

Hello and welcome to another Down the Ruby Mine. I’m Sam, one of the Engineering Interns working at FreeAgent over the Summer and I am here to shed some light on a Ruby language feature. If you’re out of the loop, you may have missed my previous posts which can be found here and here. Today we’ll be diving into the most questionably named Ruby feature out there: splat. Functions… Continue reading

➼ Read other posts about internship or ruby or software engineering

Down the Ruby Mine, Part II: Ruby’s seemingly illogical logical operators

Posted by Samuel Knight on August 23, 2019

Hello there, my name’s Sam and I’m one of the Summer 2019 Engineering Interns at FreeAgent. As part of my time here I’m writing a series of blog posts on Ruby language features. If you’re a first time Down the Ruby Mine reader then don’t fret, because the posts aren’t dependant on each other. However, if you are interested, you can find the first post here. Today we’ll be exploring… Continue reading

➼ Read other posts about internship or ruby or software engineering

Down the Ruby Mine, Part I: The code insertion trinity

Posted by Samuel Knight on August 16, 2019

Hey there, my name’s Sam and I am one of four software engineering interns working at FreeAgent over the summer. This is my first time writing in Ruby and I’ve had a great time exploring the language. As developers I believe it’s important to develop a fundamental understanding of the core of a language, even when its supplemented by a feature-rich framework like Rails. Over the next few weeks I’ll… Continue reading

➼ Read other posts about internship or ruby or software engineering

Why we love accessibility (and you should too!)

Posted by Anda Popovici on May 13, 2019

On 16th May it’s Global Accessibility Awareness Day, a day to “get everyone talking, thinking and learning about digital access/inclusion and people with different disabilities”. At FreeAgent, our mission is to make small businesses happier and more successful by putting them in control of their finances. A big part of that mission is building software that is accessible and inclusive, so that we can help as many people as possible,… Continue reading

➼ Read other posts about accessibility

What We Value – Writing Code At FreeAgent

Posted by Peter Singh on November 30, 2018

Writing software is hard. The problems we’re trying to solve are generally not trivial. They will have caveats and edge cases. They will rely on unreliable dependencies. The problem may evolve and the solution may need to be tweaked. The solution we’ve carefully crafted might not have taken into consideration something that later seems obvious. The problem might even change entirely. Continue reading

➼ Read other posts about ruby or software development

FreeAgent is now on Rails 5.2!

Posted by Tobias Haar on October 3, 2018

As of Monday, 24th of September 2018 FreeAgent is now running on the latest version of Rails. We were inspired by Eileen’s blog post about how GitHub upgraded from Rails 3.2 to 5.2 and we wanted to share with you the challenges we faced and how we managed to overcome them. We faced similar challenges to GitHub and we believe it is worth reiterating them to highlight their significance.  Motivation… Continue reading

➼ Read other posts about ruby on rails

Rails migration aliases with fzf

Posted by Matt Hutchinson on June 12, 2018

Ever find yourself re-running Rails migrations? Up, down, redo-ing etc. Have you forgotten that long VERSION number again? Or what the migration actually migrates? These handy aliases just might be for you. I've been running individual migrations a lot recently, so I took some time to set up these aliases with fzf (a command-line fuzzy finder). rdbm # bundle exec rake db:migrate (no auto-completion) rdbmu # bundle exec rake db:migrate:up… Continue reading

➼ Read other posts about ruby on rails

Posts navigation

« Older posts
Newer posts »

We're totally hiring!

See our current engineering vacancies

Built with ❤️ by the FreeAgent team.