Name: Jonathan Holloway

Current position: Interim/Fractional CTO/Scaleups @ hwintegral.com

Bio

I started programming with Pascal in 1994, moving onto C, then Java. Python/Ruby/Javascript followed thereafter.  Following University and achievements of MEng Software Engineering as well as a MPhil, I headed into the corporate world for 5 years. Over the next 8 years, I worked at several scale-ups in Vancouver, Bristol, London, and Berlin in CTO, architect and lead roles.  I’ve been running my own consultancy for the past four years – helping startups and scaleups.

Tell us about your life before leadership – what kind of roles and projects did you work on?

I started my career in technology as a Java Engineer, working on high-scale systems – specialising in fullstack (pref towards backend) engineering and data engineering for high-scale B2B companies in eCommerce, ERP, fintech and healthcare.  I spent some time as an analytics consultant/architect, then Chief Architect, CTO and into consultancy for startups/scaleups.

How did your first leadership position come about, and was it intentional on your part?

I inherited a team in the travel industry of 15 people, working on integrating with legacy reservation systems, payment providers and a slew of integrations. It wasn’t an intentional move. in fact, it was meant to be temporary but became permanent.  That role taught me a lot about managing a team in a relatively short space of time. I had to do a fair bit of integration with complex systems, manage tight timescales, run multiple projects, and deal with stakeholders alongside the development team.  

How did you manage the transition? What came easily / what was difficult?

I remember a book that was really helpful at the time – Leading a Software Development Team by Richard Whitehead.  I was balancing that, coaching and being hands-on.  The original expectation was that I could run a team of ten people and still be hands-on with coding… that was never going to work.  Moving from hands-on to hands-off was a tough transition initially, but maintained a side-project to keep technical skills sharp.  I’m still hands-on which helps with the smaller startups these days, but more often than not the technical part of the role is managing devops, data and facilitating development of the high-level architecture with the leads.

What was your biggest failure in that first leadership role?

Early on, listening to specific people around me about what I should and shouldn’t be doing, rather than applying what I’d learned external to the company.  Scenarios here included the dev team not needing to know about the “devops” side of the role, building insight into the application, splitting our monolith into services (I was told this wasn’t the right thing to do). This was 2005 I might add!  

What made you keep doing it?

Delivering the first major project and realising there was more than being an individual contributor.  I also found a great deal of interesting research subjects around software productivity, development, design patterns, academic/industry gaps that were instrumental in my MPhil research. I think the process side and research here is something that many developers don’t “get”.  You can still code around the process/people aspect.

Tell us a fun fact that nobody knows about you

I have a huge collection of retro video games – NES games specifically.  I spent £162 on acquiring the original version of Elite by David Braben/Ian Bell on the NES.  I also have some weird game related facts, e.g. I live in Chipping Sodbury (on the bizarre coincidence of Civilisation 2, Transport Tycoon being made here by Microprose in the 90s).  Unconscious bias! We own two bassets – one of which is named after Ezri Dax from Star Trek, and the other after Chester Copperpot from the Goonies.

What are the three key skills you think every lead needs?

Firstly, pragmatism in terms of solutions and technology (especially programming language choice). There isn’t one language that suits all and no single technology ecosystem is perfect.  

Secondly, an appreciation for the right time to “design” something vs “hack” something. To collaborate and elicit the right solution for that point in time.  I frequently see issues with myopic agile processes, as opposed to some of the over-engineering and BFUD we saw in the late 90s.  You can hack something, but still do future proofing to make it easier to adapt at a later stage.  Agile does not mean you can’t spend time thinking about architecture and design.

Thirdly, humility – possibly the most important aspect in a senior engineer.  I firmly believe you’re not a senior engineer until you’ve learned this skill.  There’s always something to learn.

What have you learned about acquiring and retaining talent?

I think the engineering “brand” in a company has to be demonstrated to potential candidates.  Tech-enabled companies really need to focus on improving this and making the proposition attractive to candidates.  If there are interesting problems to be solved and people get to work with not just a “people manager”, but someone who understands technology then that goes a long way I believe.  Vision and purpose also go a long long way in my opinion, that seems to becoming more important now than ever before.

When it comes to interviewing I believe your primary job is to make the candidate feel as relaxed as possible to get the best out of them.  You need to make the interview process as efficient as possible for both them and yourself.  

How do you motivate your team and manage their stress levels?

Provide them with context around the business, the strategy and how it relates to technology and the importance of what they do in their role.  Managing stress (personally) in startups can be hard especially with workloads and long hours.  Working early and late multiple days in a row is a guaranteed way to cause problems here – and it’s the invisible symptoms that are the problem.  I try to make sure that the team and individuals look after themselves and understand that they need to take downtime in order to be productive!

How do you manage your own stress levels and productivity?

Stress wise – I try to eat well, sleep well, and ensure I’m leaving things in a good place when I leave work.  I try to avoid high carb lunches (this also plays into productivity) and try not to drink coffee after midday.  I focus on a few things outside of work – I’m working through Larousse Gastronomique, still making music (my second passion), and painting.

Environment has a massive impact.  If I’m not productive in a particular location I’ll move – if that’s in the office, then coffee shop.  If at home, it’s moving rooms.  

How do you stay in sync with other parts of the business?

Aside from cross-department meetings, I try to establish relationships in the early days of the company.  Lunch and coffee are great ways to talk to other people as well. I don’t understand companies where employees lunch at their desks or skip lunch completely.  It’s an important break to take and it’s a key sync point with other parts of the business.  Same goes with the occasional pub visit after work!

Where do you see yourself in 5 years’ time?

I want to remain in tech companies and build products for sure.  I’ll definitely still be hands-on – not commercially, but I will still code.  I guess the big question is whether I’ll still be an independent consultant, join another scaleup or do my own thing.

What product do you wish you’d invented?

There’s so many great products, particularly internet age products, so let’s go prior to that.  I’ve been a life-long gamer and fan of simulations/demoscene.  John Conway’s “Game of Life” springs to mind as one of my favourite – not strictly a product.  It’s a great exercise to code from scratch as well.

Thanks very much, Jonathan!