The Six Deadly Sins of Technical Leaders

Table of Contents

Introduction

I probably would not have written this post if Michał hadn’t encouraged me. Over the past few months, I’ve slowly come to terms with a realization that I was hesitant to accept, yet it is quite understandable.

The Project Reality

What is the project reality in many companies? There exists a business, often referred to as the client who doesn’t know what they want, and at the same time, they are both the generator and sponsor of projects. Typically, the business defines the project scope vaguely while expecting precise cost estimates. As a result, IT somehow estimates these costs. However, it eventually becomes clear that not everything was accounted for, and the client often changes their mind. Thus, there is usually no way to complete the project on time without overtime or deadline extensions.

Due to significant underestimation, there is “no time” for good project practices, and instead, every programming anti-pattern possible is used. Consequently, the situation worsens, becoming increasingly chaotic. It’s easy to blame the business for being disorganized and not knowing what they want, but let’s take a look at ourselves. Increasingly, examples I’ve encountered lead to conclusions about the source of problems—who is really at fault? It’s the leaders and/or managers with a technical background who struggle in the cutthroat business environment, where the problems begin.

The Six Deadly Sins

If I were to list the main sins, they would be as follows:

  1. Too Focused on Technicalities
    In times of crisis, technical leaders tend to engage in what they are most familiar with instead of saving the team and project. They tackle critical issues with the latest framework instead.

  2. Underestimating the Production Processes
    Unfortunately, we technical people often mistakenly believe that having a great technical concept will make everything else in the project fall into place. This is absolutely false! It requires significant effort to keep the team, client, and project under control.

  3. Yielding to Business Demands
    A common explanation for why IT agreed to a project without adequate resources or time is because of business pressures. We are seen as too soft, allowing business to dictate terms because they control the budget. This is nonsense, attributed to a lack of assertiveness and the ability to find mutually beneficial solutions. Conversely, a stubborn “NO” is not a solution either.

  4. Inability to Resolve Personal Issues
    I’ve often witnessed situations dragging on for months where someone in the team is offended because their opinion was disregarded. Few have the courage and skills to address and resolve such issues.

  5. Isolating in Boxes
    We tend to isolate ourselves in our own spaces, content when no one disturbs us while we focus and work. Even when we become leaders, this habit persists. However, being a leader is primarily about interaction and problem-solving, which cannot be achieved while hiding in a box.

  6. Lack of Communication
    The golden rule of agile design is to make project decisions as late as possible. Many people have taken this to heart, but in a different context—they often inform about problems in the project as late as possible, usually when it’s too late.

Conclusion

Addressing these issues requires a shift in mindset and capability development to navigate the business environment effectively, enabling technical leaders to better serve their teams and projects.

(Text translated and moved from original old blog automatically by AI. May contain inaccuracies.)

Related Posts

Code Cleanup: Not Just About Refactoring Part 3

Introduction

Due to formatting issues on the blogspot, it is advisable to read this article as a PDF file. You can download the PDF version of the article here.

Read More

The Hacker Way

A few days ago, Paweł Wrzeszcz sent me Erik Meijer’s talk “One Hacker Way” (watch here) from the GOTO Conference in Copenhagen. It is a very provocative talk, which is great. It questions the Scrum method and challenges the status quo in Agile. Given that Scrum is a dominant framework in software development, a critical view is healthy, especially as Agile has become a significant business machine over the past 20 years. When implementing Agile at Scale, core ideas can easily become distorted. (Check out Dave Thomas’ “Agile is Dead” talk here).

Read More

Effective Understanding of a Topic

This time, the topic slightly ventures beyond IT projects. Recently, I’ve been doing a lot of research work where I need to construct a coherent extract of practical information from a multitude of knowledge sources. After extensive work in this area, I’d like to share a few tips that I’ve had the chance to apply multiple times.

Read More