Programming, Burgers, and Treasure: Summer with FreeAgent

Posted by on August 31, 2016

This summer it has been my pleasure to join FreeAgent as a Data Engineering intern. Alongside the analytics and architecture teams, I have been working on a new exciting feature to complement the FreeAgent application. Programming mostly with Python, I have learned a great deal from my colleagues, and I wish to share the experience with you all here on the engineering blog.

Since joining in early June, the intern project team have explored recent breakthroughs in machine learning, learned to use Docker to containerize our work, and taken advantage of Amazon Web Services. The feature itself remains under development, and until this is complete I’ll be keeping it a secret! Further details will be shared here at the earliest available opportunity.

Like any new experience in life, I was filled with questions to ask on the first day. Entering the offices, I was keen to meet the team I’d be working with, keen to hear the details behind their plans for me this summer, and keen to learn and love the work performed by data engineers here at FreeAgent. I was given a warm welcome by our CEO, Ed, upon arrival, and I was quick to be introduced to the teams I’d be working with. It was an extremely exciting time for me, and I was keen to dive into the deep end and see where the summer project would lead me.

Every morning at 0945 the analytics team and I would do stand-up. This is our opportunity to share plans for the day and to understand what everyone in the team is working on. If I have any queries about my work, this is the time to ask. We work under the agile development process, running weekly sprints for the intern project. During sprint planning we discuss what has been achieved in the past sprint, see what blocked us, how to resolve any outstanding issues, and proceed to plan for the sprint ahead.

In addition to this, FreeAgent holds weekly engineering forums: An ideal opportunity to ask the wider team questions, discuss recent developments in the engineering world, and share views on recent tech talks engineers have attended. FreeAgent also offers sprint demos every fortnight for anyone to give a short presentation on their recent work. I had the pleasure of doing one for our project back in July, and received positive feedback from many of the engineers.

To make the experience even better for the team, we hold various weekly lunch plans to keep ourselves filled for the day. My favourite being Burger Wednesdays – any excuse for a good burger! We have lunch outside our offices at Edinburgh Quay each Friday too, and often make spontaneous trips to many of the good food places around us.

The offices themselves are less than a year old, extremely spacious and open-plan – making it easy to work with others around me. The surroundings are superb: We hold an extremely impressive view of Edinburgh Castle, with Arthur’s Seat visible in the distance. I remember it vividly from the day of my interview! A wide range of cold beverages are provided inside, along with an abundance of teas and coffees.

Our office manager, Izzy, has gone above and beyond to organise events for the team. Thanks to her efforts I have been lucky to join in on a staff barbecue, and a treasure hunt! The barbecue was booked for us early in my internship, and it served as an excellent opportunity to properly meet the FreeAgent team. The weather wasn’t on our side for the full day, but we made the most of the event and I thoroughly enjoyed it. The treasure hunt was another story altogether – never before had I visited so many bars in desperate search of a Belhaven Best beermat! (Anyone know where to find one?)

FreeAgent has offered me a superb opportunity to build upon my existing Python programming skills, and I’m extremely grateful for it. Furthermore, I’ve found myself using SQL, and programming in Ruby for the first time. Combined with all the events that have been organised this summer, I have learned a great deal from the team, and I have made many friends I plan to keep in touch with in the years ahead. My time here is almost complete. I think now is as good a time as ever to say thank you, FreeAgent, I couldn’t have asked for better this summer!

Rest in peace, @mathie

Posted by on August 22, 2016

There wasn’t supposed to be anything particularly unusual about today. It started out as a typically drizzly Edinburgh summer morning, grey clouds hanging low above the castle, with just a hopeful glimpse of blue in the distance offering the prospect of a little respite later in the day. It wasn’t until I arrived at my desk and checked our Slack channels that I first heard the shocking news of the passing over the weekend of Graeme Mathieson. Graeme’s passing is a truly sad and tragic loss that will be felt far from his Plymouth home, reaching across the world of the web development community.

Graeme was a legend in the UK Ruby community, especially here in Scotland. When I first started dabbling in Ruby over ten years ago, Graeme’s “Notes from a Messy Desk” blog (found at the intriguing yet ever-perplexing domain) was a real influence, and when Twitter gained momentum, following @mathie was essential if you wanted to keep up with the cutting edge of Ruby development. Graeme went on to start the Scottish Ruby User Group (ScotRUG) – which still meets every month here in Edinburgh – and, along with Paul Wilson and Allan Francis, he started Scotland on Rails in 2008 which was consistently one of the best Ruby/Rails conferences in the world until it came to an end in 2014 (by then known as the Scottish Ruby Conference).

It is little known outside the FreeAgent engineering team that Graeme was involved in the very early days of our product, prior to both myself and Roan getting involved. With an early proof of concept prototype in place in 2006, our founder Ed – who had recently relocated from London to Scotland – was looking for a technical co-founder and, given the app was being built using Ruby on Rails, Graeme was the obvious choice. They started working together and one of the first things that Graeme did was get the code into source control, so he will forever have the honour of the first commit into the FreeAgent core repository:

Later that year – having successfully introduced Ed to Roan – Graeme decided to focus his time on his thriving Ruby consultancy, Rubaidh Ltd. This, however, wasn’t the end of the FreeAgent connection.

Fast-forward to 2010 and we had just moved into our second office. Graeme joined FreeAgent as employee #4 (and engineer #2) and took up residence in our first tiny, windowless “dev pit”. His impact was immediate, bringing much-needed order to the code and taking on some of the hardest problems, such as VAT de-registration, introducing a customisable chart of accounts, building our stock engine and a overseeing a major upgrade to Ruby 1.9 and Rails 3. In the two years Graeme spent working at FreeAgent, he had overhauled our core accounting engine and even started working towards an accounting qualification. His talent, dedication and enthusiasm for technology was second-to-none. He left a big impression and was already sadly missed at FreeAgent. Even more so now.

Our thoughts go out today to Graeme’s family and many friends. His sister, Laura, has set up a fundraising page to support the MIND charity in Graeme’s name. If you’re able, please consider making a small contribution to the great work they do.

Rest in peace, @mathie.