Coding to Leading — Tech Leadership Through the Eyes of Bobby McKinnon

by | Jan 16, 2024

Bobby is Compado’s VP of Tech

Clearly the face behind Compado’s technical infrastructure: Bobby leads Compado’s Tech department and holds reporting lines to all developer teams in Compado. He specializes in strategic tech leadership, scalable vision-driven IT, server infrastructure and Backend development.

This interview has been led by Compado’s editorial staff, remotely, with Bobby residing, at the time of the interview, in Berlin, Germany, on Wednesday, August 02, 2023. Press-related enquiries can be submitted here.

Say hello to Bobby McKinnon, the VP of Tech at Compado. With a rich 20-year journey through the realms of web development, Bobby has had the opportunity to explore a spectrum of roles and responsibilities in tech. As we chat about his transition from hands-on coding to leadership, you will see that tech leadership is not just a title – and that passion is non-negotiable. But let’s not spill all the beans, let’s hear it straight from Bobby!


Engineering Blog: “Bobby, could you share with us your career journey? How did you climb the ladder to become the Vice President of Tech?”

Bobby McKinnon: “Certainly. My path to becoming a VP of Tech wasn’t a straightforward one. Interestingly, I didn’t study software engineering; back in the early ’90s, it wasn’t as widely available as it is today. My story really begins in California in the early 2000s, during the DotCom Bubble. Back then, the tech scene was so vibrant that practically anyone with basic computer skills could land a job. I started my career as a software tester with Motorola, which at the time was a dominant force in San Diego. That role really set the foundation for my career in tech.

As time went on, I transitioned into building websites for cell phones, working as a Quality Assurance Engineer. This role was crucial as it taught me a lot about the intricacies of software development and the importance of quality in tech products. But it wasn’t just about the technical skills; I realized early on that if you’re a senior engineer and you have the drive to lead, you can be a leader. You naturally become the go-to person, and, yeah, there’s your path to leadership, right there..

However, I stepped into leadership much later in my career. I reached a point where I wanted to optimize processes and team dynamics. I knew what needed to be done and realized that I needed to be in a leadership position to make those changes. Luckily, I wasn’t afraid to take ownership, and that desire to enact change was what ultimately propelled me into a leadership role.

The transition wasn’t just about technical skills; it was also about people skills, which is a crucial trait for any leader. My first formal leadership role was in Berlin, about ten years ago [≈2013]. Like many developers, the idea of leading didn’t appeal to me when I was younger. But as I matured in my career, I understood the impact I could have in a leadership position, and that’s what drove me to where I am today.”


Engineering Blog: “In your opinion, what are the essential traits that a developer should possess to be well-suited for a leadership role?”

Bobby McKinnon: “Leadership in technology, especially coming from a development background, requires a blend of both classic and unique traits. First and foremost, to be a successful leader in tech, you have to genuinely love what you do. Passion is non-negotiable. If you’re not passionate about making software, it’s unlikely you’ll be able to inspire and lead others in this field.

But it’s not just about passion for the craft. As a developer aspiring to be a leader, you need to start looking beyond just coding. It’s crucial to begin optimizing processes rather than solely focusing on writing code. This involves streamlining workflows and always thinking about the ‘bigger picture.’ How does your work, and the work of your team, fit into the broader objectives of the organization?

Another key aspect is developing relationships outside of your immediate team. A leader needs to be a connector, someone who can bridge gaps between different departments and teams. It’s about understanding that the impact of your work goes beyond your immediate circle.

Lastly, being a hybrid of an expert and a communicator is vital. You need the technical know-how, of course, but equally important is the ability to communicate effectively. This means not only conveying ideas clearly but also listening to and understanding the needs and perspectives of others. Balancing these roles is what makes a developer truly cut out for leadership.”


Engineering Blog: “Considering the role of a Tech Lead, what would you say are the must-have soft skills for someone in this position?”

Bobby McKinnon: “The role of a Tech Lead is quite multifaceted, and the soft skills required reflect this complexity. First and foremost, a Tech Lead needs to have genuine enjoyment in working with others. This role isn’t just about technical prowess; it’s about collaboration, mentorship, and team dynamics.

Technical skill is, of course, a given. You need to be highly skilled in development – not necessarily the best, but certainly better than most. This expertise not only helps in making informed decisions but also in earning the respect and trust of your team.

Another crucial skill is being an effective troubleshooter. In technology, things don’t always go as planned, and a Tech Lead needs to be adept at quickly identifying and addressing problems. This not only involves technical solutions but also understanding the team dynamics and how they can impact the troubleshooting process.

Importantly, a Tech Lead should have a passion for passing on knowledge. It’s about nurturing the growth of your team members, helping them develop their skills, and encouraging continuous learning.

Finally, a Tech Lead, sometimes, needs to act as a shield for their team. This involves protecting the team from external pressures or distractions and ensuring that they have a conducive environment to work in. It’s about advocating for your team’s needs and ensuring they have the resources and support necessary to succeed.”


Engineering Blog: “As a developer, how can one learn and transition into a leadership role?”

Bobby McKinnon: “Learning to lead as a developer is a process that involves gradually expanding your scope of responsibilities and skills. A key step in this journey is taking ownership of a project. This doesn’t just mean being responsible for the technical aspects, but also overseeing the project’s overall direction, coordinating with different teams, and ensuring that the project aligns with the company’s goals.

Developing project management skills is essential. This includes understanding how to plan, execute, and oversee projects effectively. It’s about more than just the technical delivery; it’s about ensuring that the project is completed on time, within budget, and to the required quality standards.

Another important aspect is building relationships with people from different parts of the company. This means being proactive, not just in your immediate responsibilities but also in how you engage with others. Suggest new ideas, volunteer for cross-departmental initiatives, and actively build relationships with those who communicate with you. This exposure is invaluable, as it not only enhances your understanding of the business but also helps you develop the interpersonal skills crucial for effective leadership.

In essence, learning to lead as a developer is about gradually stepping out of your technical comfort zone and embracing the broader aspects of project and people management. It’s a journey that requires patience, a willingness to learn, and an openness to new experiences and perspectives.”


Engineering Blog: “How can someone in the tech field recognize if they’re suited for a leadership role? And conversely, what are some indicators that leadership might not be the right path for them?”

Bobby McKinnon: “Identifying whether you’re cut out for leadership in the tech industry involves self-reflection and observation of your own interests and behaviors. In my experience, it’s relatively rare for developers to actively seek leadership roles, but there are definite signs that suggest a natural inclination towards leadership.

Firstly, if you find yourself curious about how the entire company operates, not just your department, that’s a strong indicator. This shows a broader perspective and an understanding that the work of a tech team is interconnected with other parts of the business.

Another sign is a keen interest in undertaking projects, especially those that involve coordination and collaboration across different teams. If you’re someone who is excited by the prospect of working with departments like Marketing or Finance, and not just confined to tech, it suggests you’re open to the multi-disciplinary approach required in leadership.

On the flip side, there are certainly signs that leadership might not be for you. A key aspect of being a good leader is empathy. If you find yourself constantly trying to prove you’re the smartest person in the room or often belittling others’ ideas, then leadership may not be your forte. Leadership is about elevating others, not just yourself.

Furthermore, if your focus is predominantly on your own achievements and goals, without considering the team or the broader company, this can be a limiting factor. Leadership involves a significant amount of selflessness and a focus on collective success.

For me, the realization that I wanted to pursue a leadership path came gradually. It was an amalgamation of my growing interest in how different parts of a business interact, my enjoyment in leading projects, and my desire to help shape and grow the teams I was part of. It’s important to remember that leadership is not just a title; it’s a mindset and a commitment to guiding and supporting others.”


Engineering Blog: “With your extensive experience in leadership, could you share some key learnings that would be valuable for developers aspiring to step into leadership roles? What do you wish you had known when you started out in leadership 10 years ago?”

Bobby McKinnon: “Over the years, I’ve learned many valuable lessons that have shaped my approach to leadership. One of the most important is the balance of sharing successes and taking responsibility for failures. It’s crucial to recognize that successes are almost always the result of team effort. As a leader, you should always highlight and celebrate your team’s contributions. Conversely, when things don’t go as planned, a good leader takes responsibility. This approach not only builds trust but also fosters a culture of accountability and continuous improvement.

Looking back to when I first stepped into a leadership role, there’s a key insight I wish I had understood then: being technically proficient and knowledgeable about products is important, but it’s not everything. The real skill in leadership, especially in a tech environment, lies in developing relationships with your team members. It’s about talking to people, understanding them, and building trust. This process takes time and patience, and it’s as much about listening as it is about guiding.

Building trust is a slow process, but it’s the foundation of a strong and effective team. As a leader, you need to invest time in getting to know your team members, understanding their strengths, weaknesses, and motivations. This understanding allows you to guide them more effectively, tailor your approach to meet their individual needs, and ultimately, get the best out of each person.

In summary, the technical aspects of leadership are important, but the human element is what truly makes a leader effective. It’s about building relationships, fostering trust, and creating an environment where everyone feels valued and motivated to contribute their best.”


Engineering Blog: “In your role, how do you manage to balance being an expert developer while also being an effective leader? Isn’t there a conflict, given that the time spent on leadership tasks could detract from staying hands-on with coding?”

Bobby McKinnon: “That’s a great question and it’s a balance that many in leadership struggle with. Personally, I don’t have as much time to code as I used to. However, maintaining my expertise in development is still crucial. I need to be able to judge and guide the work that my team does, which requires a solid understanding of current technologies and methodologies.

The first part of finding this balance is leveraging the experience I’ve gathered over the years. Having programmed for so long, I find it easier to understand new frameworks and technologies as they emerge. This doesn’t mean I need to know every detail, but rather I need to understand the principles behind them.

My focus has shifted from being an expert in coding to being an expert in architecture and how different services work together. This means aiming to be a top-level expert, knowledgeable about broader, strategic aspects of development rather than the nitty-gritty details. It’s about understanding the larger picture and how various pieces fit into it.

Despite my limited time for hands-on coding, my passion for it hasn’t diminished. This passion is incredibly valuable; it keeps me connected to the core of what my team does and ensures that I remain relatable as a leader. It’s about finding the right balance between staying technically informed and investing time in leadership and management responsibilities. In essence, the role evolves from being a specialist in coding to being a specialist in leading and guiding those who code.”


Engineering Blog: “ lists ‘Be the Best Dev Possible’ as a prerequisite for becoming a good leader in web development. Do you agree with this perspective? Is this idea unique to web development, or do you see it applying in other areas of tech as well?”

Bobby McKinnon: “The notion of being the ‘best dev possible’ can certainly help in initially establishing credibility and respect, which are important in a leadership role. Being highly skilled in your field can open doors and provide opportunities. However, this alone isn’t enough to ensure success in leadership, especially in the diverse and dynamic field of web development. It’s crucial to understand that leadership extends far beyond technical expertise. In fact, nowadays, the importance of communication skills, interpersonal abilities, and emotional intelligence cannot be overstated. These skills are just as important, if not more so, in a leadership role. They enable you to connect with your team, understand their needs, motivate them, and create an environment where they can thrive and be productive.

So, while being an expert developer can give you a head start, it doesn’t guarantee success as a leader. The role of a leader involves a more holistic skill set that balances technical prowess with a deep understanding of people and effective communication. This is true not just in web development, but across all areas of technology. The best leaders are those who can combine their technical knowledge with strong interpersonal skills to guide, inspire, and lead their teams to success.”


Interviewer: “ mentioned,  “A tech lead I used to work with was always calm. There was no conflict or pressure that could make him snap. At least nobody saw him stressed out.” How important do you think calmness is for developers who aspire to leadership roles? Also, could you share any personal strategies for managing stress?”

Bobby McKinnon: “Calmness is indeed a key trait for any leader, and it’s especially vital in the tech industry where the stakes can be high and the pressure intense. This isn’t just about personal temperament; it’s a critical leadership skill. As a tech leader, you’re often faced with situations that could have significant financial implications or could severely impact a project’s timeline. In such scenarios, having the serenity and experience to handle major issues effectively is crucial.

It’s important to remember that most tech crises are not unique. With experience, you come to realize that these situations have occurred before and can be navigated through. This understanding helps in maintaining calm and approaching problems with a mindset geared towards damage control and structured problem-solving, rather than panic.

Calmness also plays a significant role in how you’re perceived by your team. If a leader is calm during a crisis, it instills confidence in the team and creates a more constructive environment for solving the problem at hand.

When it comes to managing stress, one key approach is perspective. Remind yourself that while the situation may be challenging, it’s not insurmountable. This helps in maintaining a level head. Another strategy is to rely on your team. Delegation and trusting your team’s abilities can significantly reduce stress. Lastly, don’t forget to take care of yourself. Regular breaks, physical activity, and ensuring you have time away from work to recharge are all important for maintaining overall calmness and well-being.”