Hi all! I’m one of this year’s summer engineering interns at FreeAgent and I would like to introduce myself, give you an overview of what it’s like working for FreeAgent, and finally share a few of my work experiences with you. First though, a little about myself: I’m a 4th year student at the University of Edinburgh, studying Software Engineering and Artificial Intelligence. My main interests include rock-climbing, snowboarding, and of course software development!
The main feature I’ve been working on this summer is the second generation of FreeAgent’s RESTful API, which broadens the scope of the API as well as making it more developer-friendly. Working in a small, dedicated team has enabled me to use my skills productively, whilst also providing the opportunity for me to learn from some really talented people in the Ruby/Rails field.
FreeAgent has proven to be a challenging work environment – the team are passionate about the product and expect a high standard of code – but one which encourages innovation. As an example, while working on the new API, I had to dig through the various versions of the OAuth protocol, and make a decision with the team about whether we adopt version 1.0a or take a more risky approach and use the new 2.0 version, which is still in beta.
Until now, I have always automatically chosen the most recent version of libraries/plugins and coped with the consequences when they arose (which they always do!). When completing assignments for university, this habit has quite frequently resulted in me having to learn a whole new language! In the end, despite it not being the ‘safe option’, we decided OAuth 2.0 was the best option for us for the new API (WIN!), but this was only after we’d discussed the advantages and disadvantages of each approach. An important lesson I learned from this situation was that any option may be possible as long as you have well thought out reasoning for your actions.
Working for FreeAgent hasn’t meant I’ve spent my days just writing code (or making coffee!). A typical working day might include a few of the following:
- Morning: The development team stand-up meeting, where every developer shares what they are working on, and what they have planned for the day ahead.
- Noon: We eat lunch (provided free at least once a week!) together, discuss exciting new technologies and perhaps watch a tech talk on the big screen.
- Evening: Go out for a drink (or two!), a bite to eat and maybe a team visit to a tourist attraction or festival show in the beautiful city of Edinburgh.
A few weeks from now, my journey as an intern will come to an end and I shall return to my final year of university with new skills, a more logical approach to problems, hands on work experience, and a bunch of new drinking buddies! If you would like to follow in my footsteps with this amazing experience, FreeAgent are always looking for new talent and interns during the summer months, so don’t hesitate to apply!