Welcome to the next feature in our Leaders in Tech editorial series. Speaking to leaders in the industry to capture their stories, career highs and lows, their trials and successes, their current company and their role, most recent projects, advice to others, and the individuals who they most look up to in the industry.
This week, we talked to Stephen Hill, Senior DevOps engineer at Kaluza Flex, to find out more about why he joined the tech industry, what his role entails, what are the challenges he faces as a tech leader, and his advice to aspiring engineers and developers.
What is your current role and responsibilities?
I’m a senior DevOps engineer (whatever that means these days!) in the platform engineering team at Kaluza Flex, my responsibilities change pretty frequently! My day ranges from writing code, deploying and updating infrastructure, designing new systems and patterns for both new or existing products/tools, leading incidents and participating in post mortem analysis, and all the way to mentorship/pairing with my peers.
It’s a pretty full-on role! It touches so many aspects of both the business & the full SDLC. I love the challenge it provides and I feel like my role has the opportunity to really influence and impact the business.
Can you tell me a bit about your journey?
This is a fun question, I like this sort of question when I get asked! I took a less traditional route to get to my career in SRE / Software development.
I studied at the b-tech level and then undergraduate level in communication and electronic engineering.
I really disliked academia and only ended up with a BSc because I couldn’t find a job at the time I finished college if I am being completely honest! Uni was never the plan for me, I just fell into it due to a degree being a barrier for entry to getting into the tech industry at the time, thankfully we aren’t that sort of industry anymore. What I didn’t know at the time was getting my CCNA in the process opened all the doors I would need.
Once I finished studying, I took a job as a 1st line tech support engineer for a small MSP where I cut my teeth in server-side & client-side support.
I quickly moved into 2nd line support after 6 months in the job, tending more towards network engineering in the HP & Cisco ecosystems. This is where getting a CCNA as part of my degree ended up paying dividends and accelerated my career.
After 12 months as a 2nd line engineer, I took my first 3rd line/infrastructure role in another MSP where I lead a team of 1st / 2nd / 3rd line engineers for project work as well as support work.
After 1.5 years in this MSP job, I decided to go in the house to be a lead infrastructure engineer at a leading marketing technology company. This offered the opportunity to design a new software-driven data center using Cisco ACI & UCS systems which lead me down the software development route.
I decided after 3 years in the infrastructure role I wanted to go full DevOps and use all the skills I had built-in “on-prem” infra to run cloud-native services and learn how to pull all my skills together and leverage software to do the heavy lifting for me.
I got an opportunity to join Save the Children as a junior DevOps engineer, this is where I was lucky enough to have a great mentor who helped me transition my skills from on-premise Linux & windows systems to fully cloud-native applications running in AWS & GCP. We quickly started getting into the world of Terraform & Kubernetes, transitioning legacy Java applications running on RHEL servers to fully containerised versions running in Kubernetes that could be spun up and torn down on demand.
After 1 year in the Junior DevOps role at STC, I got asked in for an interview by a “tech for good” startup called SuperAwesome, who offered me a mid-level DevOps role that gave me the opportunity to take my newly built cloud-native skills to new levels at a global scale running Kubernetes in production over 4 continents and 3 different product offerings.
I spent a year working at SA where my head of engineering and chief architect mentored me and showed me how to take the raw skills I had learned and take product development and commercials into account as well as leveling up my understanding of scale and reliability across time zones and tech stacks.
This brings me to my current role! Kaluza Flex has allowed me to take my skills as a seasoned infrastructure / DevOps Engineer and matched them with my passion for sustainability and the fight against climate change. It has always been my dream to match my personal passions and beliefs with a career that I have enjoyed so much over the years. I now hold a senior title but I’m still learning as much today as I did in my first month as 1st line computer tech answering calls about people’s wifi not connecting!
I think the thing that my route to where I am now has taught me, is that there is no right or wrong way to get into a career in tech. As long as you want to continually learn new things, embrace change, and have a passion for what you do, anything is possible in this industry.
Nearly all of my skills are self-taught and I supplement this with mentorship & resources such as Pluralsight to ensure what I’m learning is then being applied and refined in the right ways!
What drew you to the tech industry?
The main thing that started me down the tech career path was PC gaming when I was a kid. We didn’t have much money growing up but we got by, as a result, my mum picked up a 2nd hand computer for free from my school when I was around 8 or 9 years old. It had one game installed called chips challenge which I played obsessively!
I then got a hand-me-down PC from my uncle which was in semi-working order. He helped me swap out parts from the existing computer to get the new slightly more powerful one working so I could play more demanding games. As soon as I learned I could upgrade my computer for next to nothing I found taking computers apart and fixing them fascinating. So I decided to study in post-secondary school. After that, the rest is history!
Who do you look up to for inspiration or mentorship?
I’m very lucky to have had an incredible bunch of people around me my whole career. At every job I’ve ever had, there has always been someone willing to help me and put up with continual questions about how stuff works and what to learn next!
My head of Engineering from SA still offers me mentorship to this day even when I no longer work at the company anymore. He’s just a great guy and is never afraid to ask tough questions and challenge you to think differently about a problem.
I also follow Kelsey Hightower pretty closely, the way he thinks about DevOps and the whole reliability/software engineering community is incredible. His perspective and insight in all the interviews he’s done are invaluable!
How do you keep your team motivated despite conflicts and obstacles?
Ah, tricky question! Every day is different from this perspective, every challenge, every obstacle, and every different team dynamic you encounter.
My role is spread across multiple teams most days meaning I encounter a number of obstacles and conflicts depending on the context. I actually find conflict is the easy problem vs blockers & obstacles! Conflict usually comes from 2 different and conflicting viewpoints or a cultural issue.
Aligning different viewpoints often requires a mediation approach in my experience, I try to treat conflicts as 2 or more people just being passionate about their approach instead of someone being wrong and someone being right. I think the responsibility of senior engineers is to go in open-minded and try to offer a middle ground for the opposing or misaligned viewpoints. I find that it’s rare for there to be a clear “right” approach so I encourage each party to see things from the other’s point of view and sometimes even ask them to argue the point from the other side’s perspective and vice versa! (this was a great tip from a mentor of mine!) This often ends up taking the emotionally charged element out of the conversation and leads to more objective thinking.
When it comes to maintaining motivation through obstacles, my main go-to is pairing and group design sessions. I love getting as many eyes on a problem or an obstacle as possible, especially when the decision affects the whole team (these days what decisions don’t in software). Often, I see engineers struggle over a problem for hours or days ending up demotivated because they feel like a failure.
At Flex we are lucky because we use sprint metrics and cycle time to try to identify these issues before they have an effect on morale. We try to aim for a cycle time of under 3 days for any user story meaning every day at standup we can sanity check the current workload and offer a safe space for engineers to ask for help and reach out to their teammates if they feel stuck. Data is definitely power in this domain, the more you can surface issues in an objective way the easier it becomes to talk about them openly and honestly.
I always think obstacles have the ability to reduce morale the most if they aren’t tackled ASAP and engineers don’t feel supported by their team. It’s so important to keep motivation high by offering a safe and collaborative environment where pair programming and mob reviews are the accepted norms when challenges arise!
What are your current goals? What are you currently working on?
My current personal goal is to keep improving my knowledge of Go, we heavily utilise Go in Kaluza Flex and it’s still quite a new language to me. Python and JS are where I started coding so Go is definitely the current challenge! I really enjoy working with the language and so many of the DevOps tools out there are using it so it’s giving me a whole new understanding of technologies that I’ve worked with for a long time like Kubernetes, Helm, Prometheus, etc…
Another goal I’m pursuing at the moment is trying to foster communities in our new remote working reality. Kaluza went fully remote very early into the pandemic and that brought challenges with it around maintaining and building communities with your colleagues. I and a few other colleagues are trying to build these internal communities to bring engineers, product managers, and data scientists back together and build meaningful interactions and collaboration with them.
In a fully remote world, we’re failing more than we are succeeding but we’ve learned a lot so far. It’s hard to feel connected when the world doesn’t offer that opportunity for water cooler chat and coffee breaks in the same way it used to, but with the team, I’m part of I’m sure we will keep persevering until we get it right!
In terms of team goals, we are putting a huge focus on streamlining our delivery timelines and processes. We are a very experienced team in platform engineering that has a pretty good tenure too, so now that we are pretty well established and our group’s norms/rules have been formed we’re really pushing to improve our delivery time (cycle time) and get really good at goal setting through OKR’s and a tech roadmap for 2021!
What are you the proudest of in your career so far?
I think my proudest achievement so far was making the leap from a traditional infrastructure engineer to DevOps / Software Engineer. It was something I wanted so badly but I was terrified I wouldn’t make it when I took the leap.
It took a tonne of hard work, late nights, and a fair bit of frustration trying to get my head around the software development world but once I got there I realized so many other opportunities open up to you once you understand the full end to end lifecycle of software.
Still so happy to have chosen to make the leap and proud of myself for taking the risk and sticking at it!
What is the favourite part of your job?
I absolutely love difficult problems! Still to this day, I will take a ticket that is about some annoying bug/performance issue / weird intermittent behaviour over any new greenfield project!
I just love troubleshooting weird and challenging issues, I think I learn the most when I’m digging through code, external dependencies, or entire open-source projects to figure out why I’m seeing some weird behaviour that I didn’t expect. It gives me a deeper understanding of all the tech I work with and helps me develop and apply troubleshooting techniques and thought processes to problems which then benefit all other areas of my job.
What has been your greatest challenge from working as a tech leader?
I think the hardest part of any senior engineer’s position is keeping yourself humble, staying open-minded, and treating everyone around you as an equal and a peer.
I’ve often caught myself being dismissive of people’s ideas and opinions because “I’ve been there, done that” in the past. The more you learn / implement/experience it’s easy to get caught in the trap of thinking you know best because you’ve done it all before.
It’s an everyday challenge not to give into a natural instinct to be defensive or dismissive of others when they challenge your ideas. But when you get good at questioning yourself and your actions before you make them, it becomes a habit.
The more you listen, the more you fail in public, the more you allow others to voice their ideas, opinions and perspectives the better it will make you at your job too! Others teach me far more than I can learn by myself and it’s so important to be in the habit of keeping an open mind to any and all ideas.
What’s the most important risk you took in your career and why?
Definitely my decision to move from a pure ops role into a software engineering role after reaching quite a senior position. Taking a cut in salary and moving from a senior infrastructure role back down to junior felt pretty nuts at the time!
This risk accelerated my career, it was hard work but I always look back on it with a sense of pride. The outcome has been 10x what I could have imagined back then, I would never have dreamt of being able to work in an organisation that does something that I care about so much while still doing work I enjoy.
What have you learned from your experience so far?
I think what I’ve learned in my career so far is best summed up by a couple of quotes I always go back to from Kelsey Hightower.
I’ve already screwed up on this one because I keep referring to seniority in the interview haha!
“It’s a weird definition to say I’m a senior engineer but the thing is you can be a mature engineer and be humble enough to know that it’s gonna be a cycle. You’re gonna be really good at stuff and they’re going to be new to stuff and you should always try to go and figure out a world where you can be new to stuff. Okay that’s how you’re going to grow.” – Kelsey Hightower
This is the first thing I always come back to when I struggle with new tech or learning a new thing. It’s one of the best things you’ll ever learn, you’re never really a senior engineer, you’re really good at some stuff and you’re gonna suck at a lot of other stuff and it will keep repeating! This always keeps me grounded and helps with keeping a good sense of self-worth when stuff is hard.
The next 2 quotes sum up everything I’ve learned about treating people well and making sure you spend most of your time and effort building relationships and bringing people with you.
‘When people disagree with you, don’t miss the opportunity to listen, and possibly learn from them.’ – Kelsey Hightower
‘It is important to share the success because I always tell people there’s no way you succeed by yourself ‘ – Kelsey Hightower
Both of these quotes really resonate with me because all the years I’ve worked in the tech industry it’s been my relationships with colleagues, mentors, friends, and even the industry as a whole that’s got me to where I am.
Yes I work hard, yes I invest time into technical skills and yes you have to know what you’re doing to create a successful career. But I see so many engineers who are technically brilliant fall into the trap of being arrogant know-it-all type of engineer. If you end up being that person, there isn’t a way in hell you’re going to get anything done. No one wants to work with that person.
I think all of these more people focussed elements of my time in tech are so important because I used to be that exact kind of engineer when I was early in my career. I was very talented and it gave me a bad attitude because I thought everyone else was stupid for not being able to do what I could do.
Turns out I was the stupid one, I made a whole bunch of costly mistakes due to my own arrogance which really humbled me. My colleagues, friends, and mentors picked me back up even though I was a pretty big jerk at times. Best lessons I have ever learned; foster relationships, learn from others, bring everyone with you and most importantly learn how to be wrong, then be willing to tell everyone when and why you were. Everyone around you will respect you no end for it and you’ll feel more comfortable and confident in who you are too!
Do you have a memorable story or an anecdote from your experience you’d like to tell?
Absolutely! It was a contender for the proudest moment in my career when I was thinking about this in fact.
I was part of the team that launched verified parental consent to use location data in Pokemon Go for child users when I was working at SuperAwesome. We managed to make the most popular mobile app of all time, completely safe and COPPA / GDPR-K compliant for its whole child audience.
It’s an incredible story because people often talk about having a real impact and purpose in their work. That day when we launched globally with Niantic in an already insanely popular app and made the virtual world a little bit safer for kids will always stick with me.
One of the greatest teams I’ve ever been part of!
Finally, do you have any advice for aspiring engineers who want to grow in the tech industry?
I think my best advice is, again, just to build relationships. Try to do good and, to quote one of Kaluza’s core values; “do the right thing”. I truly believe no one will remember you for the code you write. But they will remember you for how you made them feel.
If you build relationships with colleagues, friends, mentors all you then have to do is put the work in and the skills will come to you over time. Without surrounding yourself with good people who challenge you, you will never grow. And always remember to share that success!
To sum up, be a good person, find something that motivates you every single day you turn up to work, make friends at work, find a mentor and always remember; you’re a beginner at something!