Software development is hard. And getting good at it is even harder. One regularly reads about the latest and greatest technology one has to know about, or the latest greatest technique that one has to adopt, or they are to be seen as 'doing it all wrong'. Continuously up-skilling oneself with a deeper knowledge of current tools, languages and techniques, while at the same time learning new ones is quite a daunting task.

When moving this blog over to Ghost and reading through older entries, I came across a post where I was raving about how great Microsoft technologies are, and how I prefer using them over any other technology. Which is funny, because the only thing Microsoft-related I use now in my daily work is Visual Studio Code.

At the time of writing that post, I hadn't done much in other languages. I had tried, but couldn't seem to get it. And a bruised, defensive ego clung onto the drag-and-drop do-it-all-for-you Microsoft tools that I had grown so familiar with, making everything else seem so foreign.

Lack of courage makes the unknown seem risky, both consciously and unconsciously. Our time would be more efficiently spent doing things we are familiar with. Also, our ego would be more protected doing things we know we can achieve.

In introducing new languages, techniques and practices to individuals and to a team, before there is buy-in, people need to feel empowered, part of which includes being en-couraged - given the courage to feel that they can succeed in performing. Social scientists sometimes refer to this as perceived behavioural control or self-efficacy, which is a factor affecting whether a behaviour is performed or not.

This is an aspect that differentiates technical leaders who just dictate change from those who effect change. The latter spends time with individuals, understanding both the technical and emotional aspects at play, and seeks ways to reduce the deficiencies through en-courage-ment techniques such as pairing and em-power-ment techniques- giving the power to effect change - such as training.

In attempting to understand possible causes for the lack of buy-in and adoption of new tools, languages, techniques and practices, discouragement and disempowerment may be lurking, disguised as stubbornness or general apathy. The approach then is not one of force, but of gentleness.

Patrick Kayongo

I create and maintain software. Pan-African.

Johannesburg, South Africa