Internationalisation and Automation: Interning at GoCardless
As my summer placement draws to a close, I thought I’d reflect on and share my last five months at GoCardless:
I can remember my first morning at GoCardless quite clearly; I was greeted by chocolates, a card (I know, the irony!) signed by the engineering team, a MacBook Pro waiting to be unboxed, and a GoCardless jacket hanging on the back of my chair. I instantly felt very welcome.
What’s GoCardless like?
Countless people will have said these clichéd words before me; the culture and the people were the main reasons I enjoyed my internship. I witnessed a culture of supporting and recognising each other’s successes, with no sign of any blame, negativity or individualistic behaviour.
Everyone was incredibly approachable and patient, which really helped. Being new to fintech and unfamiliar with some of the tools we used, I had millions of questions about everything. All this, along with the permanently stocked-up kitchen, provided a great environment to be productive.
Even as an intern, I felt as much a part of the team as anyone else. I enjoyed the level of responsibility I was given, and my opinion and input were always valued. GoCardless’ high code-quality and code review culture made it easy to pick up context on the code base, so I could contribute straightaway, deploying code into production within my first few days.
I worked among brilliant engineers with a wealth of experience, and this high bar motivated me to push myself as well. Looking back now, I can confidently say this experience has made me a better developer.
During my placement I worked on several projects of various sizes, such as: creating the ability for clients to send reminders to their customers, tracking users’ actions to create an audit trail, and reworking the internals of our fee model for partners. But the project that I found the most unique and interesting was Internationalisation.
This large project spanned two months, with the objective to lay the foundations to make our core product available in any language. This meant freeing our code from any English text or assumptions about language, and building a scalable process for translation.
I found this challenge interesting as it was very different from the kind of software engineering I had done before. It forced me to think beyond the code to how clients used the product. Needless to say, this was definitely the most impactful project that I worked on, as it was a big step towards GoCardless’ goal of becoming a Global Payments Network.
Some smaller wins
Automate all the things!
The team at GoCardless loves their automation, from generating code for their client libraries, to translating strings in the code base. That culture rubbed off on me as well, as over time I found myself writing scripts to automate anything that I could!
Over the last five months, I went from having never written a line of Ruby to it becoming one of my favourite programming languages, as I found it to be really clean and expressive. I even started enjoying writing tests (kind of) because of RSpec!
It’s not all work and no play…
You won’t find the proverbial Jack here, because GoCardless knows how to have fun. There were events ranging from day trips to Bletchley Park, to Hawaiian themed summer parties. We also had a Hack Day, where I got to experiment with new technologies and work with people from various teams.
I can say without doubt that I thoroughly enjoyed my time at GoCardless. My experience far exceeded what I expected of an internship, and made me enjoy software development even more!