Q&A with Aire’s Staff Software Engineer — Rob Adamson
Rob has been a member of Aire’s Product team since June, 2017. Here’s a snapshot of his work, and life beyond.
Coffee count so far today (12.00)
☕️ ☕️ this morning (home ground, freshly brewed, filter coffee).
🌍 London, UK.
Favourite Aire value
🌲 It has to be ‘enter the uncomfortable forest.’
1. Welcome Rob! Tell us about your career before joining us at Aire.
Well I studied Maths and Computer Science at Cambridge University. After graduating, my first job was in network support for the college I was studying at — but my goal was always to become a Software Engineer.
I spent several years at Tate, working on server-side web development. During this time I learned lean and agile methods, before I progressed to managing development teams at MOO, doing a mix of both people management and hands-on development.
But I was conscious this direction was moving me away from the ‘code face’. I wanted to experience life at an early-stage startup — and in searching for this, I found Aire.
‘I wanted to experience life at an early-stage startup — and in searching for this, I found Aire.’
2. Amazing! Tell us about the day to day activities of an Aire Software Engineer?
When I first started at Aire, what stood out for me was the importance of delivering on a tight scope with few resources. I’d imagined every day would be an urgent hustle, but was pleasantly surprised by the strategic consideration and deliberation throughout the company.
We had some good processes in place, though roles were not neatly defined and people wore multiple hats: everyone learnt together. There was a lot of ‘making do’ to stay focussed on the most important objectives at the time.
Four years on, things are of course different.
We’ve moved steadily away from focussing on processing tasks and projects to developing one, single and repeatable product: Pulse.
One internal aspect of this shift is the clearly defined nature of our empowered product squads.
My squad — the Lenders Squad — is responsible for the lender-facing Pulse integrations. This includes managing the workflow of Pulse, the mechanism by which lenders upload data, report generation, customer notifications, and so on. We do everything from developing code to reviewing changes, testing, and releasing. This is predominantly server-side programming. We also define how our application gets packaged and deployed, using Kubernetes.
Our squads are cross-functional, which means we have all the skills we need to develop and deliver features and improvements to our product in each squad. We also aim to learn continually about the product needs through product discovery, which happens alongside that development — wherever possible, talking directly to lenders. Feedback is critical in building something of value to our customers.
By encapsulating all aspects of discovery and development of integrations within the Lenders Squad, we can take responsibility for delivering outcomes without requiring handoffs to other teams, giving us a greater sense of ownership.
3. What’s been your biggest accomplishment since joining Aire?
I am proud of my work developing and integrating Aire’s product and its infrastructure — particularly the work leading up to our integration with UK digital retailer, N Brown, including Experian’s PowerCurve product. This was a complicated three-way integration in itself, and as a startup we were building a lot of the infrastructure at the same time, as well as evolving our ways of working.
I was involved throughout the lifecycle of the project. I found myself working on front-end adaptations, our analytics, monitoring and reporting capabilities, as well as infrastructure, deployment, and our release process. As a startup, we needed to do ‘just enough’ across a broad set of areas, so there was a certain amount of ‘making do’ and getting the most out of what we already had.
After the initial evaluation, we revisited our infrastructure, replacing our home-spun Ansible-based deployment and hosting platform with a much more flexible platform based on Kubernetes. This technology was new to us and it was enjoyable to learn, to experiment, and then integrate it into our platform. Since then, it’s been gratifying to see the formation of the Platform Squad and their work continuing to evolve the platform, providing more capabilities through Kubernetes resources.
Our PowerCurve integration for N Brown went live in Summer 2019, and since then has helped prove the value of first-party data in the world of credit.
4. What uncomfortable forest are you glad to have taken a walk in since arriving at Aire?
* At Aire, we’re not afraid to take the hard path. Even if it takes more time or creates more pain. Our values ensure we do it the right way.
I lead the Architecture Council, which oversees the technical architecture and design of Pulse and its underlying platform.
I set this up with support from the CTO two years ago. It was challenging to create a new group in a company that already had an existing structure. We were evolving to a new organisational structure, and we didn’t have internal precedents to draw from. We wanted a body that would be responsible for the high-level definition of our architecture, but we didn’t want this to be an ‘ivory tower’ model — a group of architects handing down decisions from on high. Squads are autonomous, and we seek to empower them through guidance, reviewing, and coaching, whilst working together to ensure consistency and alignment.
I had to step outside my comfort zone to form and lead this group. My nearest prior experience was managing a software engineering team, but this felt very different as my role at Aire is not management. Nor is there a tangible objective to achieve. We needed to feel our way forward as we established ourselves.
‘There is no such thing as perfect architecture. We aim for a good fit for the forthcoming needs of the business, based on our best available knowledge at the time’.
There is no such thing as perfect architecture. We aim for a good fit for the forthcoming needs of the business, based on our best available knowledge at the time. The squads use a quarterly OKR setting process and as a council we don’t always know what will come out of it. So we might need to consider how architecture can support pivoting, or how it might help double down on what we already know. For me, this is an inevitable uncomfortable forest.
5. What are you most looking forward to getting your teeth stuck into next at Aire?
We launched Pulse last year, with an initial focus on customer management and batch processing capabilities. We are now building on this with API-based integration for real-time insights.
|Find out more about our product, Pulse, here.
We have adopted Domain Driven Design, using this to shape our microservice architecture. We are tackling the challenges of this architectural style, and in particular considering where and how an event-driven architecture could make us more effective and scalable.
I’m excited about developing this further and scaling this up as we get more lenders onboard.
6. At Aire we operate as a remote-first business. How do you structure your day in this new way of working?
The move to remote-first was challenging. I have always got a lot of value from being with my colleagues, being able to collaborate and support each other when needed, and being together for those essential design sessions, whether planned or ad hoc. Working from home was something I had avoided whenever possible.
We are a cloud-native company, so in some ways we were well placed to work remotely having little dependence on office-based infrastructure. But we relied heavily on face-to-face communication. With the whole company moving to remote working, we have all had to learn new ways of working — how to collaborate, how to build and maintain relationships, how to make decisions, how to share knowledge.
I structure my time by putting one-to-one conversations in the mornings, which I find helps me to feel connected and engaged for the rest of the day. I make sure to keep substantial blocks of time free for focussed work each day where possible. And we have ‘meeting-free Fridays’ which certainly helps too.
7. How do you stay up-to-date and keep your skills sharp?
Growing up, I learned a lot over the years from computer magazines — various publications in my childhood, graduating to more professionally oriented journals from organisations like ACCU in my teens and beyond.
Now a combination of blogs and books, courses and events, ideas from colleagues, and side projects help to keep me up-to-date.
8. What’s been your favourite conference experience?
My favourite conferences have been ACCU — covering programming and technical ideas — and XPDays — covering Lean and Agile techniques. I found both to be mind expanding.
PyData sounds interesting. Working alongside Data scientists at Aire has piqued my interest in this.
9. What are the podcasts/ blogs/ books you swear by?
- Ron Jeffries on Extreme Programming
- Martin Fowler has a wealth of knowledge on his website
- Pragmatic Programmer
- When it comes to soft skills, Dale Carnegie’s, How to win friends and influence people
10. Any personal projects outside of work?
Well, we planned a wedding in lockdown which was interesting!
It wasn’t clear if things would be under control last summer. In the end, we had a lovely wedding with thirty guests and live screened it on Zoom for all the others missing it.
A unique experience, but if we’ve all learnt anything from this past year, it is to try and take life as it comes.
— Rob, thank you so much and congratulations! Find out more about life at Aire here.