Hi Michael! 😊 Thanks for joining us to chat about all things dev and tech. Could you give a quick introduction and background about yourself?
Hi! Firstly I’d like to thank you for having me, it’s great to be able to talk about some of my experiences and hopefully help others along the way.
If we look at things in chronological order, my journey will probably make more sense:
Back in 2011 I started my career in the industry at a small software house in Liverpool called Village Software. I entered their graduate scheme and was trained up in all kinds of technologies. I stayed there for close to eight years, after which I decided to step up into more of a leadership position.
In 2019 I changed roles to become a software development lead at Code Computerlove, a digital product studio in Manchester. Here my role was split between people management and technical leadership around the products our team owned. This was partly hands-on, but was more often around working closely with stakeholders and delivery to create effective digital strategies for their business.
And last but not least, we come to the present day. I currently work as an Engineering Manager for Moonpig, the UK’s #1 online retailer of greetings cards and gifts. My current roles and responsibilities are effectively split between people management and technical leadership. This means that I can regularly be found in 1-1 meetings with the developers in my team, looking at their personal objectives and ensuring they have everything they need to succeed. The other side of my role involves working closely with the product owner to help plan out the future work within our part of the Moonpig business domain (fulfilment).
In short, I’ve found a passion for working closely with people within the tech setting, helping them achieve their best potential.
What are your own opinions on what employers can do to not only hire the best people for the job, but also give a process that is fair and efficient when it comes to testing skills?
To summarise in three words, my opinion is “keep it relevant”.
Looking at it from the side of a business who is recruiting, I think it important to make sure you’re testing candidates on the skills which are relevant to the role. Although this sounds like an obvious one, there are still many companies who have technical assessments which aren’t a true reflection of the day-to-day work that candidates will be doing.
By providing a test which focuses on a problem very similar to the business domain, employers can see how candidates will likely navigate their way through technical problems in real life. When combined with a pairing session, candidates can really gauge their potential new colleagues and get a good feeling for the type of work they will be doing.
I guess the contrary to the above is when businesses try too hard to be like they’re a part of the FAANG group and interview as such. It is a waste of time, let alone stressful, to get a candidate to walk through a complex set of algorithms on a whiteboard when in reality they will be tweaking some CSS here and there, pulling out some queries from a database or configuring some CI/CD pipelines.
As a candidate unless you’re looking at getting a role at the likes of Google or Facebook, or you know that the level of skill required for the role warrants that level of off-the-cuff knowledge, I’d see it as a red flag.
From your own experience, what is good/bad about the process of applying for new roles?
From a high level perspective, applying for new roles is great for opening your eyes to the market. When we are in an active role and not looking elsewhere, we can often find ourselves living in a bit of a bubble and not paying much attention to what the rest of the industry is doing. The act of looking and applying for roles can be a good way to:
- Gauge the market rates for your current or desired role
- Understand the sought-after skills within the sector
- Open your eyes to new ways of working
When you get into the nitty-gritty of going through the interview process, you’re presented with a real opportunity to dig more into the company you are applying for. You get the chance to meet people, get a flavour of the culture and ultimately build up a kind of “gut feel” of whether they’re a good fit for you.
I guess the bad side of applying for new roles is the commitment needed. With interviews often being multi-stage, requiring take home tests and numerous calls (this is just for one application!), it can quickly become tiresome. This is where it is important to do some research to ensure that if you apply for a role, you know what the business does, what their direction is and even what tech-stack and approaches they use internally. Recruiters are great at making some of this information more obvious for you given they work closely with the companies to find candidates. Don’t waste your precious time applying for roles just for the sake of it.
How do you personally stay motivated when you face a big programming challenge? ⚡
As cliché as it sounds, breaking things down into smaller problems really is the way to go.
Regardless of what level you’re looking at (i.e. product idea conception through to development), we can almost always break things into smaller and more-manageable chunks. For example:
Idea -> Project
Project -> Epics
Epics -> Stories
Stories -> Tasks
Tasks -> Sub-tasks
I’m a man who likes analogies, and I also like to watch professional cycling. I think a big challenge (programming-related or not) can be synonymous with one of the cycling Grand Tours such as the Tour de France.
The overarching challenge for (most) teams is to win the general classification and get to wear the yellow jersey. However, that is determined by the rider with the least time on the clock overall by the end of the 3-week race. In order to get to that end goal, teams and the individual riders all contribute towards that effort every single day in each race. Every race is unique in that the terrain varies, weather might pose an issue (or even stop the race entirely) so everybody must adapt. The culmination of the teamwork and strategy is what leads to the winner winning, often by small incremental gains each day of the race to the point they can spray the champagne bottle on the last day.
So what does this have to do with programming challenges? Well, quite a lot in my eyes. We work in teams towards larger goals, but we also contribute as individuals with our own experience and take on things. Each daily race in the above analogy is synonymous with us working on the broken down stories/tasks within our bigger challenge. These daily/weekly task can often get impacted by things such as increased scope due to discovery, or even blocked entirely due to dependencies on other teams or systems (think of this as races being hindered by bad weather or extreme terrain).
To sum it all up, working on the smaller parts of a challenge whilst still maintaining the longer-term goal of the task is super important. Small steps help reduce the complexity, maintain the clarity and allow a constant stream of micro-wins whenever we add just a little bit of extra value into what we’re building.
You’ve recently written a blog on imposter syndrome, how do you personally overcome this?
Good question! Yes I’m well aware that I suffer from the phenomenon of imposter syndrome and I thought it was important to write a post about it. For me personally, the problem mainly surfaces itself whenever I change roles. This could be a mixture of anxiety that comes with making big changes, but it’s also about the self-doubt that I can actually do the things I’ve been hired to do.
As mentioned in my blog post, personal reflection has been one of the most important tools for me to overcome the pressure of imposter syndrome. I like to keep small notes on my phone of any key situations where I feel like I have grown as an individual, handled a situation really well, or even in some cases not handled it well enough. In the situations where I’ve identified that I need to improve, the reflection allows me to start creating a habit so that should I face the same situation again I automatically shift my approach to the problem and move away from my default behaviour.
By keeping a diary that I can reflect on, I can look back at any point and see the progress I’ve really made and shove those negative and self-degrading thoughts aside!
How did you get into mentoring by the way? It’s an incredible thing to do and if you can, more people should do it!
I’ve naturally fallen into mentoring through my passion for seeing people improve. This has ultimately led to me working in tech management roles with a passion to continue on that trajectory throughout the rest of my career.
Whilst the mentoring was initially done in my day jobs as part of my role, I opened up to helping people within the wider industry on platforms such as LinkedIn. I kind of woke up one day and realised that I really love seeing people do well in their work, life and career. If there are nuggets of information or some element of coaching that I can provide to help anybody (not just my team) to succeed, why shouldn’t I?
Since then I have had the pleasure of taking part in lots of different talks, podcasts and interacting in 1-1 sessions with students, graduates and even other tech leaders to feed back into the industry. They’re also a great way to network and learn more about people and what other businesses are doing.
You talk a bit about mental health awareness on your LinkedIn. Are you able to talk about your own first-hand experience with this and how it has shaped you as a person? 🧠
I’ve grown up with a father who has suffered from bad depression since I was born. His issues stemmed from an incident whereby he saved a family from drowning in Chester back in the 1990s, after which his outlook on life changed and he struggled to come to terms with what had happened.
Having grown up with mental health around me from such a young age, I’ve learned a lot around how to understand and empathise with those who are struggling. This has helped me support friends, family and even colleagues who have suffered from mental health issues themselves.
There was also a time a few years ago where I entered quite a dark period of my life. There were some significant changes in my life and it all became difficult for me to comprehend. Although it only lasted for around 6 months, it was such a surreal experience to not feel much happiness despite being surrounded by so many great people in my life. Although I never sought any help and wasn’t medically diagnosed with anything, having gone through that experience it has only made me feel even more understanding of how the mind works.
What more do you think can be done by employers and society to encourage a happy, healthy (both mentally and physically) workforce?
Three words spring to mind as being the most important (to me): work-life balance
We are in the 21st century and need to act as such. The pandemic has only emphasised that we employers can be both flexible, trusting and empowering to the point that people can still get the job done effectively whilst working around their desired lifestyle. Understandably there is a limit to the flexibility depending on the business in question, but it is key to allow people to strike this balance effectively.
Even simple things like not micro-managing employees because they’re working remotely, but instead trusting them to do their work creates a psychologically-safe environment to work in. Adding in things like the ability to drop off every day between 3-4 to do the school run or take an afternoon off so that you can make that theatre show with your other half are little things that matter.
Another thing which has only been highlighted even more since moving to Moonpig is the need to have a creative and supportive learning culture. When there is an environment where people can feel safe to ask questions, learn new things and feel supported in improving, people can really flourish in their roles and ultimately feel happier.
What actions do you consciously take in your daily life to remain healthy both physically and mentally?
I like to create a clear boundary between my work and life. Unless I’m on-call with work, I turn off my notifications on Slack and ignore emails until I’m back in the office. This allows me to ensure that family time is just that, with my family without stressing myself out over work.
Outside of work I love to get out of the house as much as possible. I love to visit local National Trust sites with my wife and children to get some exercise, fresh air and walk the dogs. It’s a great way to get away from the desk and (depending on the location) get decent amounts of fresh air.
I’m also getting back into running, something I used to do many years ago. Although I’m starting off small with a couch to 5k programme, my ultimate goal is to run another marathon when I’m fitter. Running gives me an escape where I can be with myself, focus on the rhythm of running and get an overwhelming sense of joy when I complete yet another seemingly-impossible run.