War Room Wisdom for Software Developers

January 25, 2024 •

https://martinbaun.com/blog/posts/war-room-wisdom-for-software-developers/army.png

The military has many concepts that can be used in software development. I started applying these principles a few years back, learning the following.

Movies depict wrong leadership lessons

Military movies showcase soldiers who fear their superiors more than any enemy they face. Dissent among the ranks is ruthlessly quelled, and any act of insubordination is promptly and severely punished. This compels them to blindly follow orders, regardless of any detrimental effects such orders may have on the person.

Managers in software engineering apply this approach, having learned it from the military or from growing up in an authoritarian household. This management style demotivates many software development teams. It is impractical to micromanage every developer due to time constraints.

The modern military cultivates a culture of mutual trust from the top down and bottom up. Commanders empower their subordinates to execute decision-making with a similar goal. Team leaders in software engineering should consider taking a leaf out of the modern military's handbook. Read Principles for Managing Remote Teams and Freelancers to learn simple strategies that will help you improve the camaraderie within your team.

The underrated front office

The unnoticed contributors are often those who manage software development projects. These people are charged with keeping the team on track, facilitating communication, and resolving disputes.

Every software developer relies on their team lead to define the project's priorities, making this leadership role vital. As a team lead, I'm responsible for finding the quickest way to get the project back on track should something go awry. A development team can generate excellent software with exceptional teamwork, even with a few bad apples among them. This is less likely to happen if the team has poor leadership.

Military command principles have an impact on software developers. Several management principles employed by the military can be applied in the software development process. I summarized them under ‘Intent as a vital part of mission command.’

Intent as a vital part of mission command

These core principles follow select events and traits from different times and eras. They are all applicable today.

  • Napoleon’s French forces tolerated junior officers taking the initiative. If soldiers deemed executing an order impossible, they were allowed to act within its intention.
  • The US military established the commander’s intent. This introduced mutual trust, as leaders placed greater trust in their subordinates to act within operational intent when faced with changing circumstances.
  • Communicating intent to subordinates to encourage sharing of leadership responsibilities.

How do you incorporate this as a team lead?

Ensure you write a "Why" for each task

Developers are far more likely to take pride in their work if they understand the value their work brings to the organization. This also enhances their esprit de corps and overall job satisfaction.

Communicate the "What" behind each task

You'll have developers on your team that work best with minimal supervision, while others may need more guidance. The latter may need a more specific rundown of what you expect them to do to achieve their goals. It is vital to package it as a suggestion instead of an order. Independent developers require much fewer suggestions on how to do their work. Read 7 Tips for Effective Communication in Remote Teams to learn valuable tips that will help you improve your communication.

Distinguish between different types of developers

I identify those under my wing that require more guidance than their independent counterparts. It might be counterintuitive to micromanage such developers. Instead, I offer suggestions and let them choose the best action with the end goal in mind.

Regard your developers as your children

This means motivating your developers. They will probably write better code faster, push fewer errors, and voluntarily work more hours by being motivated. I achieve this by taking an interest in their lives and career growth and caring about their work-life balance.

Do not mistake motivation for remuneration. Money attracts and retains employees but is seldom a great motivator. Employees want to feel happy about their jobs.

How do you incorporate this as a developer?

You may have little power as a developer to change the workplace culture. Depending on your work environment, you could pass up some suggestions for improving your working conditions.

Open up to your team lead

You can shoot your team lead a few ideas on improving your workplace culture so long as they are receptive. You could ping them this article and let them know what's working for others in the space.

Dealing with an aloof team lead

Try politely floating the idea of the mission command style of management. Make sure to ask their thoughts on whether it would work. I would suggest it as something they could consider implementing, as it may improve the productivity of various software development phases. Be careful with your delivery, lest it comes across as critical of their management style.

Modern militaries are embracing communicating mission intent and end goals to their junior officers. The goal is to decentralize decision-making, allowing soldiers to improvise solutions should things come up. I’ve tried and tested this approach in the software development process, bringing about increased productivity.

Read our most recent piece to find out why the IT sector is the greatest and why there are many great employment possibilities. Find the truth and consider all the options. Interested? Follow the link to the article Why IT Is The Best Sector to Work In.

Conclusion

Authoritarian leadership styles are old and practically ineffective in this day and age. Collaboration, trust, and effective communication bear more fruits. It’s easier to catch more bees with honey than with vinegar. This adage is applicable in software development.

I collaborated with my developers to create Goleko. It is a state-of-the-art project management tool that manages projects fast, easily, and simply. This is one of the seven productivity tools I availed to my team. Read 7 Best Productivity Tools for Remote Teams to learn of the other tools that can improve your team’s productivity.