It is people, stupid!
Like many IT professionals who work in leadership roles, I started my journey as a software engineer. After I survived rigorous training in mathematics, physics, and analytics, and after several challenging projects where I worked with an assortment of peers, I was promoted to manager. By the time a few years had passed I found myself managing fifteen like-minded professionals in four different facilities across the U.S. The group that contained my team was held responsible for three different stacks: a monolith application the team has supported since the late 1990s; a set of new microservices that were set to replace the monolith before a change of plans; and another set of microservices which used a different programming language, but was more polished in terms of design and architecture.
My team consisted of talented individuals who were dedicated and passionate about technology, each with relevant experience and skills to be effective. However, as time passed and jobs were completed, I observed that these team members were engaging in heated debates more frequently. A favorite programming language compared to another, desktop applications versus web applications, and essentially the “us vs. them” arguments that have existed in the tech sector since the beginning. For a while I couldn’t understand why the discussions were necessary, debates over programming languages didn’t help with the challenges we had in front of us. After the debates began to hinder execution and cause difficulties with completing strategic objectives, I knew something needed to be done.
Fortunately, renowned author Ron Licthy introduced me to a book called “Peopleware: Productive Projects and Teams” written by Tom Demarco and Timothy Lister. It is an excellent reference book for IT managers from two veteran consultants who have authored many volumes on the subject, which I recommend for anyone in a similar position. One fundamental concept struck me from its pages: most problems faced by a technology organization are not technical, but social. The counterproductive arguments mentioned before is just one example. In most cases, it doesn’t matter if the bug tracking tool you use is Bugzilla or JIRA. Without time allocated to work on tech debt, software will become increasingly difficult to maintain. Because of the human element, it is fruitless to expect a software tool to solve organizational problems.
Again, the hard problems we face in IT organizations aren’t usually about technology. They are about people, how they communicate with one another, how each individual manages priorities according to the greater goal, and how strengths can be paired to produce the most efficient results. No programming languages, framework, architectures, or tools can help one solve fundamental people problems. For managers trying to solve organizational problems using technology, I strongly recommend you look at the root cause. “Peopleware” places emphasis on the human side of project management, making it a great foundation for finding that root cause.