Have a read of Dave’s developer stories. Here, he shares his tips on interviewing, how to progress in your career and the importance of looking after your mental health.
Hi Dave! 😊 How are you today? Fancy kicking us off by introducing yourself and a bit more about your background?
Hi Alice! I’m very well thank you, though looking forward to a relaxing evening after what’s been only my 2nd day at Infinity Works.
I’m a Software Engineering Lead, and have been coding professionally for almost 20 years now. For at least half of those, I’ve had varying management roles as well, throughout which I’ve tried to remain as hands-on as possible, because at heart I’m a techie and it’s what I love doing.
I’m also very interested in cloud architecture, and have spent a number of years working with both AWS and GCP to build scalable, resilient, cost-effective hosting solutions.
How did you first get into engineering and find your passion for software development?
My route into engineering is an unusual one. I’d always been interested in coding, and started out writing small games for the Commodore 64 using Commodore Basic when I was 8 years old, that I would then record to cassette and my little brother would play on them.
I ended up doing Economics at university but didn’t enjoy it and left after the first term. I worked for a couple of years in a call centre, and while I did that I learnt about this new Microsoft framework called .NET, and it’s accompanying new language C#, which turned out to be a very smart (and lucky) career move.
I passed my MCP in WinForms development, then got my first job as a Junior Developer, and the rest is history.
What technologies are your favourite and least favourite to work with, and why?
I try not to show too strong a preference when it comes to technology choices. There are a myriad of reasons why one tech might be a slightly better choice than another in a given situation, but it does very much depend on the situation.
However, if I had to pick one out, I’d say I love working with Terraform, because infrastructure-as-code still feels like magic to me (as someone that’s old enough to remember having to buy and install physical servers in actual data centres).
I was never a fan of ASP.NET WebForms as a technology. I understood what Microsoft were trying to do in bringing Windows developers over to the web by making web development feel like fat client development, but it ended up so far abstracted from the way that the web actually works that it made things very difficult to understand when they started to go wrong, which they very often did.
You’ve recently moved to Infinity Works (congratulations!), what will your new role as Principal Consultant entail?
Thanks! I’ll be working with various clients of Infinity Works at a technical leadership and architectural level to add value through the experience that myself and my colleagues can bring, in anything from agile transformation to large feature delivery.
In the past, why have you moved roles/companies? We’re interested in what motivates you to find a new role, what’s important to you, and how you go about it?
I’m a strong believer that as technical people, we should be agents of change. If I’m simply maintaining the status quo, then I start to feel like I’m not justifying my position. In the kind of work that I do, that doesn’t mean feature delivery, it means getting the people, processes, culture and infrastructure in place to *enable* feature delivery. Once that’s done, I feel happy that I can move on to the next challenge, knowing that I’m leaving things in a much better position than I found them.
Do you have experience in the hiring process for engineers in any of your previous roles? What did you look out for during the hiring process?
I’ve been hiring software engineers in one capacity or another for over ten years, so yes I feel like I have plenty of experience to tap into here.
Recruitment is a difficult process, for both sides. The candidate and the employer are both expected to make a huge decision based on the small amount of data you can glean during the process, so small indicators make a big difference.
As a candidate, it’s important to remember that you’re not being assessed solely on technical skill, but also on how easy you’ll be to work with, how willing to learn you are and how committed you are to your work. So try to be friendly, honest and do your research about the company. It amazes me how many candidates I’ve spoken to seem to that have little to no idea what the business they’ve applied to actually does.
What advice would you give software engineers looking to advance in their career? How did you get to where you are today?
I’ve got to where I am today by surrounding myself with brilliant people and learning everything I can from them, as well as making a big effort to constantly update my skills. I think the most important thing to remember when it comes to advancing your career is that its *your* responsibility to do it, not someone else’s to make it happen for you. So be brave and try new things, and be kind to yourself when they go wrong (which they inevitably will from time to time).
In your former role as Head of Engineering at LADbible Group, what were some of the highlights of your time there? What stands out to you?
LADbible Group was an amazing company to work for and I loved every minute of my 3 years there. I put together some of the best teams I’ve ever had the pleasure of working with, then got out of their way and let them be brilliant. We ended up completely re-building the web stack, building an entirely new video streaming mobile app and replacing the content management system with something modern and fit-for-purpose, and all of the while keeping on top of product development as and when required by the rest of the business. I genuinely feel a lot of pride when I look back on my time there.
What advice would you give someone moving into a more senior role and perhaps managing other people for the first time?
This was a tricky move for me, and in my first role as a line manager I didn’t really have any support or guidance, so had to figure it out as I went along, making a lot of mistakes along the way.
The breakthrough for me was when I realised that *any* problem can be treated as an engineering problem, with inputs, a process and an output, and you can soon start to recognise those patterns and re-apply your past learning.
So do what you’d do with any new tech that you’d learn, and read the manual! There are loads of good books out there with practical steps for dealing with all kinds of scenarios, so if it’s a step you’d like to take in your career, then I’d strongly recommend buying one. A personal favourite of mine is The Culture Code by Daniel Coyle.
Let’s talk about mental health – this is important for everyone. In your own life, how do you create a healthy work-life balance, and keep your brain as happy and healthy as it can be?
This is especially important for me as someone that’s been through depression and anxiety, which I had to manage with anti-depressants and required psychotherapy/counselling to help me come to terms with. I’m relieved to say I’m much better these days, but I’ll never forget how it felt to be trapped in my own mind like that.
I also know how difficult it is to motivate yourself to look after yourself in that scenario, but for me personally, it made a huge difference. Once I dramatically cut down how much I was drinking, started eating better and started exercising, I slowly but surely started to turn a corner. It’s certainly not a cure-all, but it started me off on the right path.
Finally, do you have any other pieces of advice either work or personal to share to people in general?
Everyone is their own worst-critic, and I promise you’re almost definitely doing better than you think you are. Be kind to yourself, recognise your own achievements (rather than focusing on your failures) and celebrate them.
I find that writing down a list of everything I’ve accomplished in a day, just before I go to bed, really helps with that, and helps me get to sleep. Give it a try.