Thougths on SW development leadership and workaholism
Hello dear reader,
TLDR: Learn to make time to consider things properly.
my name is Iivo Huttunen (not really) and I am workaholic in withdrawal.
(Hello Iivo)

I have word hard for 14 years now. I fucked up and now I wonder what to do with all this time
unemployed people have. So, I practice typing, a thing I never found time for.

But why I am talking about that, instead of telling you how great things I did through my career, list my successes and so on?

Lessons learned – best lessons are learned by witnessing, experiencing things which go wrong.
Wisdom is often acquired the hard way.

Honesty is the basis of trust, and trust is the basis of any meaningful communication, and
meaningful communication is the basis of awareness, and awareness is the basis of success.
How could I expect honesty, if I do not practice it myself?

How can one judge risks and make informed decisions if another is deceiving by omission (or worse)?

So to “speed things” up, I’ll fast forward to the part of what a good leader is in my opinion. The
leader I strive to be.

Before everything, a leader must be aware – or strive to be as aware as possible. Aware of the
common issues with the industry. Aware of existing ways to mitigate them. Aware if the method is yielding the intended result. Aware of the team capabilities, morale and general situation.

Considerate of things and people. “Barking up the wrong tree” is rarely a wining move. It is not
enough to be aware and have access to information. The information must be given due
consideration, and discussion. Of course, time is limited, we must be considerate of that as well.

Reasonable. People often try to “renegotiate reality”. Thus, they often dismiss truthful, important (but “uncomfortable”) - information having effect on outcome. This
inevitably leads to decrease in awareness as people communicate what others want to hear.
I believe that “yesmanship” is highly harmful to a product and organization.

Open minded – that helps immensely with above mentioned points. Technology is complex – people
even more so. A good leader must be ready to consider unorthodox approach, sometimes.

To “quickly” mention few common problems I am painfully aware of, have explored, discussed and
considered for years, have reasonable expectations towards, and remained open minded to new solutions. Things which are often sacrificed on the altar of “timely delivery” – yet essential for said delivery, general productivity, cost and so on.

Continuous skill development. Tech skills have a rather short expiration date. Many possible ways to mitigate that, but an eternal struggle – especially who will bear the costs of it. The “company” always end up paying the lion’s share of it indirectly. I think accepting that and having a coherent approach to that is better.

Onboarding. You can have person with decades of experience fail miserably due to improper
onboarding. Improper onboarding can be horribly costly. Very complex topic, but documentation,
test coverage, building trust helps.

Maintenance, testing and maintainability – another thing which is often neglected, as its value is not immediate obvious. It is somehow assumed developers take care of it “on the side” at no cost.

Scope management – this is probably the holy grail of software development. Plans and estimations will eventually need to survive contact with reality. They will need to be adjusted; this is something we simply must accept.

Team morale and communication – impatient often goes with unreasonable and unfair. Even the
most cooperative people have their limits. In my experience it’s not so much about how good or bad
communicators people are, but what information they are willing to communicate. Some of the least structured “messy” communications often yield the most valuable insight.