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.
Approachable — Bradley De Klerk
Brad likes to be as approachable as possible. He wants anyone from a seasoned veteran coder to a first-day-on-the-job junior to feel that they can come up to him with any problem that they are having, code related or not, and be able to talk about it.
Honesty — Carlos De Allende
If you’ve worked with Carlos, you know that he fires straight and he fires true. A man that is often not wrong who has a very clean and pure approach. If there is an issue, let’s talk about it. If you have a problem, let’s solve it. If you’re doing something wrong, this is what it is and this is how to fix it.
Genuine — Alan Haefele
Alan confessed that he hopes that he’s coming across as genuine to those around him. As our leader, we all often look to Alan for guidance so their is big pressure on his shoulders. He takes that in his stride and let’s us know that he’s figuring this all out, just like us and that we can grow and learn together.
Confidence — Hugo Luyt
As a team lead on an intense project, Hugo has a lot of responsibility. He hopes that his team enjoys his confidence the most. What he means by this was that if Hugo makes a decision, he’s confident about it. Even if he’s unsure about if it’s the right decision, he’ll make that with confidence and the openness to let the team know where is head is at and what the plan is.
Awareness — Monique Geldenhuys
As our head of HR, Monique hopes that her awareness is valued the most. By this she means her ability to pick up on how a team or individual is doing, sensing if anything is wrong and then doing her best to help aid anywhere she can.
Guidance — Shahn Middleton
Shahn is one of our technical directors and highly values guidance. Being one of the best there is, Shahn is able to impart wisdom on most development subjects but he feels that someone needs to seek it out deliberately. Shahn is more than happy to spend all day explaining a concept to someone that wants to learn but to somebody that has no interest in growing or seeking out help, Shahn won’t find the time for you.
Time — Rihan Meij
Rihan believes that time is his greatest asset and yet he’s more than happy to give it to others. What Rihan means by this is that no matter the circumstance, if you’re needing to come to the office early or stay late, Rihan will be there right with you. He’s a true believer in being in the trenches with your team.
Transparency — Jonathan Balmer
Jonathan is our lead business analyst so his job is heavily webbed between clients, developers, management etc. He feels that his honesty and transparency on how an individual, a team, a project or client are doing help everyone involved understand all the pieces in play.
Approach — Guy Coleman
Guy is our other technical director yet status is the last thing on this man’s mind. Having worked with Guy multiple times myself, I can tell you that he always tries to bring a sense of calm, ease and laughter to the work at hand. Guy hopes that his approach to the work and working with a team is valued so that this never feels too much like just “a job”.
Fire Extinguisher — Johan Botha
Johan is the team lead and a senior developer on our oldest and largest team, however, Johan spends most of his day helping others. He’ll constantly have fires spark here and there and it’s up to him to put them out. He confessed that if he spends his whole day just making sure the rest of his team can do their job, it’s a day well spent for him.
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:
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.