The lone ranger
This post belongs to small series of posts. The main post is Heroes.
In this post I will discuss my Lone Ranger pattern, a type of human behavior of software engineers, and the impact I think it has on its surroundings. Now the lone ranger is obviously someone who mostly operates alone. Lone rangers get the job done by themselves and are counted upon to save the day. Alas, the day needs constant saving. Now some rangers take pride in their heroic actions, but nevertheless, most of them would very much like to put an end to all their heroics and the constant state of emergency. If they could they would love to go back to normal and live a quiet happy life. But given the situation that’s not always an easy thing to do.
When I talk about a Lone Ranger in a software development context I am talking about the lonely heroic behaviour of software engineers. The Lone Rangers are the software engineers, that are always on call, always there when the shits hit the fan, always ready to save us with their heroic actions. They are our indispensable heroes, typically encountered in production environments.
Where Lone Rangers roam
Most of my encounters with this type of ‘heroes’ where, again, in the consultancy world. In many cases there was a single IT consultant that was entirely responsible for a client, handling everything of a certain system. It was almost always the case that the lonely hero consultant was barely keeping everything afloat, trying to catch a break, keeping up the illusion for the customer that everything was under control, hoping that eventually, everything will quiet down or that they can pass the client along to one of their colleagues before things fall further apart.
My time as a ranger
My first-hand experience with lone rangers was obtained by being called in to assist them. After which I frequently ended up to take over from them. On such occasions I found myself to have become the lone ranger by heritage. At the beginning of my career, I didn’t mind this. In fact, I didn’t realize it was happening. Especially in the early days of my career, I got a certain rush and pride from it. When multiple customers were frequently calling me, needed me, it gave me the sense of being important. That I must be full filling a crucial role when I was being called upon even during my vacation. At the same time, I knew that this wasn’t a sustainable way of doing things. And I knew that the software delivered wasn’t something to be proud of. But apparently, this was how it was done in the ‘real’ world. Poor customers. Poor software…
In retrospect, it did give me a lot of experience of how NOT to build software. Which is an expensive but valuable lesson.
The making of Lone Ranger
So how does one ‘evolve’ into a Lone Ranger? I’ve seen it happen for a variety of reasons. Lack of technical, engineering knowledge certainly played a huge factor in this. The consultant was sometimes given more than they could chew, which was not their fault but prevalent in the industry. If the customer required an expert in X, one quickly gets promoted to “expert” by the consulting firm. There was the running joke that if you ever saw the cover of a book on the subject, then you were an expert. The skill level is an attribute of the software engineer that the customer themselves are often unable to judge correctly. They need to trust that the expert they are hiring is indeed an expert.
But even when one has great technical expertise one could evolve into a lone ranger. When there is sufficient pressure but simply too much work for one person then one needs to start applying “quick fixes”. People start taking shortcuts that end up hurting the software and increase the number of ‘exceptions’ that one needs to be aware of. When you don’t have the time to do it right you do the equivalent of wrapping it up with some duck-tape. Hoping to fix it “later”. Later, of course, means never and over time layers of ducktape start covering each other. This is what makes the lone rangers and their knowledge indispensable. Even if they would rather not be. But they are the only ones that know why the ducktape is there and what lies beneath it. of course, having ‘no time’ is no excuse. But it is not always easy to so no to the boss or client.
Due to a lack of knowledge, discipline, or inability to say no, things have gotten out of control.
No doubt there are other potential breeding grounds for Lone Rangers. But being sent out as ‘the expert’ that will fix everything is a very good starting point.
Danger of rangers
Bus factor 1
The main dangers from Lone ranger come of course from the fact that they operate alone. Apart from them, there is almost no one else that really knows what is going on. Which makes the rangers indispensable. A bus factor 1 of one. This is not a healthy situation.
False sense of security
Since Lone Rangers work solo it is often the case that no one else really knows how bad the situation is. Their heroic actions can give us a false sense of security. In heroes we trust. It is not because we are constantly being saved that we fully appreciate just how bad the situation is and how urgent certain actions need to be taken. It is very well possible that we don’t even know how often we’re being saved.
Burn out
The situation is not only dire for the customer and the poor software. The lone rangers themselves often run the risk for a burnout. Which is especially dangerous since they can’t be missed. They are often revered by the customer since they are the ones saving the day. But that is a sentiment that often passes over time as the customer gets tired of the never-ending problems.
Bad software
Software that was written by a single person is often of poorer quality the software that was written by a team. The same goes for maintaining software. Now if we add pressure, deadlines and production issues into the mix it takes a very disciplined person that can still maintain the software in good health. When there is no else who is looking at how problems are being solved, it is all too easy to take shortcuts and prefer the quick solution above the durable. Technical debt tends to increase when there is no one looking over our shoulder. Because we know which shortcuts we took. And we can always fix them later…
If you need constant saving, you might consider hiring some professionals
Conclusion
The lone rangers may look like they have everything under control. But things are brewing beneath the surface. And it will inevitably explode. Of course, sometimes things can still go wrong, an urgent intervention can be needed. But this should really be an exceptional case. And when it does happen, it should be dealt with swiftly followed up with a thorough post-mortem so that we learn how to avoid this in the future, making sure it does not happen again. Because we don’t want to let the exceptional become the norm.
If roaming lone rangers are not on our radar we very well could make the evening news on some idle Thursday. So make sure we know what is going one. Exceptional interventions should be very exceptional. Chaos should not be the norm! Everyone should be replaceable.
References