Developing Developers

When managers consider training for software developers, they usually use the wrong entry point. Typically these trainings are about technologies, sometimes about methodologies. But both approaches are toothless for several reasons:

  • First of all – the need for training in a technology is usually a red flag. It doesn’t mean, that technology trainings are useless altogether, but normally a good software developer should be able to train him/herself most of the time in the relevant technology.
  • Trainings in methodologies are more effective, but most of the time the new learned methodology isn’t set to use after the training.
  • There are several other skills that are more important for success and are usually lacking.

And point three is what this article is about.

Continue reading “Developing Developers”

Dealing with uncertainty

As a manager in a technical field, I always have to deal with a great amount of uncertainty. Most questions cannot be answered with certainty: Will a technology still be relevant in 5 years? Which software architecture will fulfil future requirements? Which developer should we hire? Which project should get priority?

I’ve identified several patterns and algorithms to deal with this uncertainty and would like to present them here.

Continue reading “Dealing with uncertainty”

Why your success is not “massive”

When you read a lot of books on success or watch a lot of videos about self-improvement and the like, like I do, you probably have heard about the “compound effect”. I don’t mean the book, I mean the phenomenon. It’s that positive results compound over time—like compound interest—and increase your success exponentially. Well, while this sounds appealing and might be true in theory, there are several reasons why it might not work out to make you “massively” successful, as the authors claim. Continue reading “Why your success is not “massive””

Playing the Big Game

Some years ago I had a realization: There are people who play small and people who play big and I was a small game player. During my professional live I’ve worked hard on my skills, so it was not a skill problem. And I’ve always invested time in things that would pay off later, so it was no problem of urgent vs. important vs. significant. It was just that all the progress I made felt somewhat limited.

My thought process about big and small game started with a feeling. At the beginning there was no “concept”. But I started to continually reflect about whether the decisions that I were about to make where big or small game and then decided to go with the option that “felt” more like big game.

But of course after a lot of thinking, I’ve identified several key indicators to distinguish big game vs. small game thinking. Continue reading “Playing the Big Game”

Being overwhelmed

I think getting used to being overwhelmed is a leadership skill. Several times a week a difficult situation occurs and in the first moment I don’t know what to do. It can be many things. Maybe there are too many open issues and too little time or there is a new and unexpected problem or an unfulfillable demand from a stakeholder.

What I have figured out, is that the feeling of being overwhelmed is simply that: a feeling. It has nothing to do with facts. It’s just the emotional impulse when something unexpected or overwhelming happens for which I don’t have a solution at hand. So as always: I use an algorithm for that. Continue reading “Being overwhelmed”

How to deal with criticism

Dealing with negative feedback or criticism is one of the toughest challenges for people in the work place and rarely have I seen people that can handle it well. Most people get defensive, some get angry or discouraged and very few are grateful for the feedback they just received. So here are some things I do, to deal with criticism effectively. Continue reading “How to deal with criticism”

How to invest your time properly

There is an excellent TED-Talk by Rory Vaden about how to multiply your time. In short it is about investing time today in a way that will save you time tomorrow. So it is about investing time for long-term results. I have always been a long-term thinker and have always acted accordingly. I always try to invest my time for long-term time-profits. It’s the same with money. You can spend money for immediate pleasure or you can invest it for future returns. And although I still think that investing time and money for a better future is a good approach, there are two problems with that. Continue reading “How to invest your time properly”

How to manage many things at once without stress

Being in a management position will always require a person to handle multiple things at once. Usually this is a source of stress. Of course there might be some difficulties with focus keeping and persistence, but after eliminating those as possible causes, there will still remain multiple issues that need to be managed. In my early years of being a manager, I compensated that with huge commitment, overtime and constantly being alert. There is an easier way though that I would like to share. Continue reading “How to manage many things at once without stress”

Software Quality – The forgotten ingredient

You’ve probably heard it all about software quality. From the ISO criteria to test driven development, code metrics and reviews to automated system tests. It all sounds nice and appealing, and it is all very suitable to incremental product development with scrum and well defined processes for an established product and with sufficient budget. When you are managing single individual projects though, there is always one ingredient that is missing in those explanations about how to reach good quality: It’s the project plan. Continue reading “Software Quality – The forgotten ingredient”

Engineer Your Organization

As Jim Collins pointed out in “Built To Last”, companies that want to be successful over a long period of time need to engineer their organization so that it consistently produces great results without the dependence on specific individuals. When I observe software developers operating in an organization, I often have the impression that they have a hard time contributing to this engineering process. This is an observation that is incomprehensible to me, because engineering an organization is like engineering a software program. Continue reading “Engineer Your Organization”