Lessons from Leaders at Haefele Software
A study on the leaders at Haefele Software and what has brought them success.
What is this article about?
This article came about from pure selfish reasons to be honest. I am a bright eyed, bushy tailed intermediate developer who’s looking to grow as fast and effectively as possible. I spend a good portion of my days reading up on industry titans or listening to podcasts of super successful people, hoping to gain small scraps of knowledge here and there that I can hopefully apply to my life.
I then got thinking that there are a lot of people around me that I regard as successful and since we are in the same company and industry, knowledge I could gain from them about their success would most likely be that much more applicable.
I approached Alan, our managing director, about interviewing a couple of employees to see what makes them tick so that I can learn from them but also that I can create summaries of those conversations that hopefully others could potentially find useful in some way. Alan gave me the green light.
This article is aimed at finding out what makes these individuals tick, what brought them to this point, how they approach working in teams, how they define a senior developer and a couple of other things.
Who was interviewed?
I had roughly an hour long interview with 10 different big dogs at Haefele Software. 7 of these interviewees were developers, 1 was our head of HR, 1 was our most senior business analyst and finally I also spoke to Alan, the managing director and founder. This spread was designed so that I could throw as wide a net as possible. I was able to get insights from multiple different team leads and senior developers as well as get some outside perspective from non-developers to really round out the study.
I had some structure and predefined questions for each interview so that I would be able to put some sort of cross reference data together but I tried my best to make everything feel like a naturally flowing conversation instead of a survey. I also made sure to not let interviewees know the answers from previous sessions so that each answer was honest and organic to that person.
Starting with some statistics
Our first interesting statistic is that of the developers (who are all team leads and/or senior developers of the highest quality), 4 of them started coding before high school, 2 started in high school and one only started in college. This supports the common trend that most developers stumble across coding in their teens and decide to give it a go.
Again just focusing on the developers for a second, 3 of our 7 had been professional for between 10–15 years, another 3 had been professional for over 15 years and we have one developer who has only been developing professionally for 6 years but is among the best none-the-less.
Looking at all of our test subjects, 3 of them have had 1–3 jobs, 5 have had between 3–6 jobs and 2 have had 6+ jobs. The two with over 6 jobs happened to be two developers that had been developing for over 15 years. When I asked the interviewees on what prompted them to change companies throughout their career, the most common answer was a sense of hitting a ceiling at that job and/or being the smartest person in the room which is something a smart individual never wants to be.
When asking all the interviewees about how long they think it takes the average developer to go from a day one junior to a proper senior, most of them agreed that it’ll take between 5–7 years. This supports the industry standard but obviously there are always outliers on both sides.
When asked about why they stay in this industry, the common thread was that the rate at which the software development industry is constantly changing keeps it interesting and makes each day unique. This applied to employees who work outside of development as well.
What do you want most out of your team?
So this question was asked without giving the interviewees any options or nudging them towards and specific answers. The point of that is that I’m wanting to see if there is a consensus across the board without provoking any alignments.
The first thing I found interesting was that only 4 people mentioned the ability to code as a desirable trait from their team members and even when it was mentioned, it was more of a passing comment than a proper answer.
Two qualities that were mentioned in 8 out of the 10 interviews was the ability to mentor or coach others as well as having high communication with the team. I can’t speak for other companies but at Haefele we very much focus on mentoring and training. Our view is that there is no point having an amazing skill set if you can’t impart some of that to those around you so it was great to see everybody align with this philosophy.
The number one trait mentioned in every single interview was a sense of responsibility. Everyone interviewed mentioned at some point that they want their team to take responsibility for your individual work as well as anything that the team outputs. This means owning up to your mistakes and if the team makes a mistake then that mistake is shared across the unit. This means raising your hand to pick up work and making sure you do everything in your power to get it done. ‘Responsibility’ is a big term and comes in a lot of forms but it’s the number one thing that is valued here at Haefele Software.
An interesting thing I discovered with this question is that generally all of the answers were of something positive about a team member as in they can communicate well or they are good at mentoring others but without fail, every person mentioned one negative trait that they didn’t want in a teammate. That trait is that a teammate has an ego or poor humility. This is an incredibly undesirable trait and was unanimous as something that we are not a fan of.
What your team values the most in you?
For this question, I turned the conversation on it’s head and make the interviewee rather think about how their team perceives them and what the team values and appreciates most about this individual.
Below I list each word that best summarized the answer from each person as well as an explanation of the context that it was used in.
Quotes from the interviews
With each interview, it was a long conversation and sometimes went quite in depth. Like I mentioned earlier, I treated each interview more like a discussion and approached each one with it’s own merit. As a part of that, I tried to get a quote that I thought to be one of the more valuable things mentioned during that discussion that doesn’t necessarily align to a question or a specific point of conversation. Here are 10 quotes from 10 leaders at Haefele Software:
Bradley De Klerk & Jonathan Balmer
Carlos De Allende & Hugo Luyt
Johan Botha & Guy Coleman
Rihan Meij & Shahn Middleton
Monique Geldenhuys & Alan Haefele
My Final Thoughts
As an intermediate developer hoping to grow and learn as much and fast as possible, this study was super beneficial to me. Having the opportunity to sit down, converse and ask my own questions from successful people with a combined total of more than 75 years work experience is something that not many people are lucky enough to do.
My approach of not telling any interviewees the questions beforehand and not prompting any specific answers or hinting towards what others had said yielded some very interesting results.
Firstly, it reinforced what everyone at Haefele Software presumes in that a team member’s approach and work ethic is a lot more valuable than someone’s ability to code or output work.
Secondly, it showed me that everyone was indeed a snowflake. There wasn’t a common trend here among everyone. I had asked each person if they did anything special during the day that they felt aided in their work and success. Some mentioned working out while others mentioned waking up early or staying up late but there were no two same answers. Some studied, some didn’t. Some had a couple of jobs and some had a few. Everyone’s story was unique.
Thirdly, on the subject of improving as a developer itself and becoming a senior, it was made clear that it doesn’t come down to technical ability every time. We generally have a high standard and we make sure our expectations exceed industry standards so most of the developers here know how to code. Even if they didn’t, coding is something that can be taught and practiced relentlessly to improve. A person’s approach to their work and their team is something that can’t be taught and that is what is valued the most. A person who takes responsibility for their work and the teams work, as well as goes out of their way to help mentor others and is humble when being mentored is someone who will become senior much faster.
Fourthly, each person admitted to having made countless mistakes. Each person tries their best but they all make mistakes. Just like the interns, juniors, intermediates etc. The big difference is that they’ve all just made more mistakes and made sure to learn from each one. If you’re not learning from a mistake made then it really is just time wasted but if there is something you to take away from a mistake, then it’s time well spent.
Written by Harley Ferguson, Developer at Haefele Software.