Change is painful for everyone – and (as we discussed in Part 1) a little sensitivity to this fact helps a lot. But understanding others when they are going through change is really just a small piece of a much larger topic – how to work with and influence others.
These guys did not influence each other very well, did they?
Influence is not about manipulating others to get them to do what I want – it’s figuring out how to work with others to get what we both want. And this is a primary ingredient in dealing with the incessant change that we pointed out in Part 1 is so much a part of creating software.
So let’s step back to some of the big examples of change we’ve been throwing around. Imagine again that we are introducing a new tool – a new source control tool like git, or maybe a dependency management tool like maven. We now know that this is going to be uncomfortable for everyone involved, but if we can appropriately influence those around us to work toward the common goal, we can make it more successful in spite of the discomfort.
It’s important that our software efforts are successful – because they make our lives better and the lives of those around us better. I’d say it’s so important that we should learn to wield all the influence we can muster with those that are involved in these efforts.
Influence is a skill – one that you can practice and improve at. And in seeking to become better in this arena, it’s important to understand that many people who think and write about this topic actually call influence by another name…Leadership. In fact one of my favorite authors, John Maxwell says that “Leadership is influence, nothing more nothing less”. I know many of us software-types might associate the word leadership with pointy-haired managers and over-ambitious MBA holders. But we shouldn’t short-change ourselves by unnecessarily avoiding a topic that can have a very direct effect on the important software projects we are working on today.
To repeat myself a little here, influence and leadership fundamentally deal with how we interact and connect with other human beings. Human beings are notoriously analog in their interactions – and often behave in unpredictable, confusing ways. The study of how to work with these odd creatures as such is then much more of an art than it is a hard science. So, the way you can become better at it is by learning from folks who are good at it, and by practicing it.
I am not by any stretch of the imagination an authority on leadership – I simply know the effects that the little bit of ability that I have in this area has had on my software as I’ve developed myself. It’s been amazing.
So – one place to start is with the author I mentioned earlier, John Maxwell. His new book is actually on the topic of how to grow ourselves – which is obviously helpful for those of us that hadn’t considered it something that we actually need to work on.
Mr. Maxwell has also written extensively on the topic of leadership: The 21 Irrefutable Laws of Leadership, Developing the Leader Within You, and many others.
I also recommend Dale Carnegie’s “How To Win Friends And Influence People” as well as Stephen Covey’s “Seven Habits of Highly Successful People”. There are countless books (and other media) on the topic – the more you can learn, the better of your projects will be.
So remember – because of the ridiculous amount of change involved in software creation today, being able to influence and work together well with your fellow developer, your user base, or any stake holder is an invaluable skill that will reap great rewards. But you will need to work at developing this, and that means getting as much information on the topic as you can find and practicing.