How we make architectural decisions
"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
From Computer Science student to Software Engineering intern
Hi folks, my name's Iain, and I'm one of the few interns you haven't yet heard from this summer. In my last three months on the intern team I've embarked on a whistle stop tour around the FreeAgent application, from user facing emails to developer only APIs. In that time, I've learnt a few softer skills that I never would have had the opportunity to whilst I was at university,… Continue reading
Down the Ruby Mine, Part III: Splat and splat again
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
We're hiring! Check out our vacancies š
Down the Ruby Mine, Part II: Rubyās seemingly illogical logical operators
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
Delivering Practice Insights: My internship at FreeAgent
The phrase āpractice insightsā was something that I heard very often in my first couple of weeks at FreeAgent, between wrapping my head around the data model and trying hard to remember everyone's names. The reason I mention it in the context of the first couple of weeks is because at that point I didnāt fully know what it meant. Of course I knew what the words meant, and I… Continue reading
Down the Ruby Mine, Part I: The code insertion trinity
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
Deriving and verifying the uncertainty on conversion rate predictions
For the past few weeks Iāve been working on building a machine learning model that can estimate the probability that a customer will convert from the free trial to a paid subscriber. In practice, I combine the predictions from this model for cohorts of companies, which are defined by their acquisition channel and acquisition month, and so a method is required for calculating the conversion rate uncertainties for each cohort.… Continue reading
Being a Data Science Intern at FreeAgent: The first month
As the end of my second year at university was approaching I knew I needed to get some real-world experience to help me get a clearer vision of what career path I want to follow in the future. The best way of achieving this was getting a summer internship. After reading some blog posts of past Interns at FreeAgent (who knew I would be writing one myself a few months… Continue reading
Settling in for summer: my data science internship
The application process After having the fantastic and inevitable university-student-in-their-penultimate-year realisation that Iām almost one year away from graduation and do not feel adequately prepared, I decided that an internship could be a great way to up my experience and knowledge before my final year. Data science, specifically, is what I was looking for as Iām interested in machine learning and artificial intelligence, and I thought a data science internship… Continue reading
Shaving yaks – problem solving in Dev Platform
Although I usually work in Support Engineering here at FreeAgent, I was recently given the opportunity to spend a six-week cycle working in the Dev Platform team. The technical aspect of the Support Engineer role is what drives me; I love to take a problem, dig into the source code and figure out how to solve it. The work in Dev Platform promised to be even more technical so I… Continue reading