An introduction to object-oriented programming
Object-oriented programming, or OOP, is a programming paradigm centred around the concept of objects. This article will aim to provide a basic understanding of objects, classes, OOP principles and various other concepts within the paradigm. Code examples will be mediated in the Ruby programming language, which is an example of an object-oriented language. In Ruby, any value is an object, even data types like String and Integer, which are often… Continue reading
What a data science degree doesnāt teach you
When I enrolled on my data science masterās degree I had limited statistical and coding knowledge. This course was designed to teach these skills from the bottom up. Having now worked as a software engineering intern, I have come to realise a lot of things were missed. Moving beyond āif it worksā¦ it works!ā Learning to code can seem very daunting. There are so many resources and even languages. Where… Continue reading
Getting started with Jupyter Notebookļæ¼
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
We're hiring! Check out our vacancies š
A 12-step guide to AWS cost optimisation
This article outlines the pragmatic approach that weāve followed here at FreeAgent in our first 18 months of using AWS to increase our cost efficiency. Using this approach, weāve already cut our AWS spend by 50%, and we estimate we can save another 30% a year by implementing further efficiencies. Here are 12 things weāve learned along the way. Our strategy 1. Donāt optimise for cost too early We fully… Continue reading
In full flow: moving from Jenkins to Actions – Part 1
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
How we structure our data teams at FreeAgent
Since joining FreeAgent back in April Iāve been both impressed and interested with how the Data organisation is structured. Iāve come from an enterprise world where you have lots of Data Engineers, a team of dedicated Data Architects and a separate Business Intelligence org. A few things that immediately struck me at FreeAgent were: No one has the title āData EngineerāData Analytics are part of the Engineering orgNo one has… Continue reading
10 tips and tricks for a good intern job application
Weāve recently completed the hiring for this year's cohort of summer interns and as a result weāve processed hundreds of applications; just across our data teams we had over 600 this year! For many of these applicants, who tend to still be at university or have recently graduated, this is likely to be one of the first āprofessionalā roles that they are applying for. As such they might not be… Continue reading
The three skills you need to be a Data Analyst, and how to get them – Part 3
In the third blog in the series, we discuss the skills you need to become a Data Analyst, this time covering Data Evanglism. Continue reading
The three skills you need to be a Data Analyst, and how to get them – Part 2
In the second blog in the series, we discuss the skills you need to become a Data Analyst, this time covering Data Analysis. Continue reading
The three skills you need to be a Data Analyst, and how to get them – Part 1
In the first blog in the series, we discuss the skills you need to become a Data Analyst, this time covering Data Engineering. Continue reading