Skip to content

Latest commit

 

History

History
159 lines (126 loc) · 14.5 KB

Leadership_In_Software.md

File metadata and controls

159 lines (126 loc) · 14.5 KB

Leadership In Software

As a US Army Warrant Officer with 24 years of military service, including more than 48 months of overseas deployment time, and simultaneously a software developer with 24 years of experience writing software I am employed by two diametrically opposed cultures. These conflicting cultures bless me with perspectives many people cannot imagine or hope to understand. This document is an attempt to expose such conflict in writing.

Leadership

Leadership is the activity of influencing people by providing purpose, direction, and motivation to accomplish the mission and improve the organization. Leaders inspire people to become energized and motivated to achieve desired outcomes. An Army leader is anyone who by virtue of assumed role or assigned responsibility inspires and influences people by providing purpose, direction, and motivation to accomplish the mission and improve the organization. ADP 6-22, 1-74.

The US Army defines leadership in two broadly reinforcing doctrines:

Confidence

A feeling or belief that you, or someone else, can do something well or succeed at something. Merriam Webster, confidence

The keys to true leadership are the soft skills that inspire people to be more for the welfare of the organization. In software many people in positions of responsibility abandon inspiration through the hope to offload leadership onto external technical products such as frameworks, tools, and dependencies. Technology is not a substitution for the human element and leadership cannot be exchanged for it. ADP 6-22, 1-92 explains why this occurs:

Everyone has an identity or a way they see themselves. Leaders internalize the roles, responsibilities, and actions that they understand of a leader to be, know, and do. Leaders who are unsure of themselves filling the role of a leader will be limited until they have confidence.

The two ingredients that most commonly explains poor leadership are insufficiently developed confidence and/or prevailing self-interest. Confidence requires repeated practice overcoming and dominating both failures and emerging challenges. Confidence also requires reinforcement from external validation such as objective measures and social validation, also known as culture. When confidence is low and social validations are absent a new leader will naturally attempt to mitigate risk by limiting their field of responsibility as narrowly as an organization will allow thereby neglecting things perceived lower value or lower visibility.

Influencing

Influencing is persuading people do what is necessary. Influencing entails more than simply passing along orders. Through words and personal example, leaders inspire purpose, provide direction, and when required motivation. ADP 6-22, 1-75

The power to change or affect someone or something The power to cause changes without directly forcing them to happen. Merriam Webster, influence

Influence is the single most important factor of leadership and the factor that most explains why technical controls are not sufficient substitutes. The Merriam-Webster dictionary defines influence as a power, a means to cause change without force.

Influence is directly accomplished through the definition of goals, the means to accomplish those goals, providing necessary motivation, and rewarding successful resolution. Influence is a skill that must be practiced and is not a commodity for trade or an external asset to freely consume. Those whom to merely consume external influence are followers, not leaders. A follower is one in the service of another. A leader provides service to those whom they are responsible but are not in service of them.

Trust

A belief that someone or something is reliable, good, honest, effective, etc. Merriam Webster, trust

Trust is the most visible condition of leadership. Those of us experienced in leadership can identify an organization's level of trust within minutes of watching conversations and other social dynamics of any organization.

When a leader trusts their subordinates they will delegate to them as must responsibility as they are allowed. This frees the leader necessary availability to plan for the future, meet with external partners, and guide/observe their subordinate leaders more objectively. Leaders must inspire and earn the trust of subordinates through establishment of security, setting the example, timely information, and selfless service.

When a subordinate trusts their leader they will engage their work with increased motivation, precision, and initiative. A subordinate in a high trust relationship will disclose more details to their leader and demonstrate a willingness to assume greater risks in product development. Subordinates earn the trust of their leaders through accomplishment, accountability, continuous refinement, and delivery of precision.

In software trust is as frequently absent as much as the leadership it represents. Employees commonly switch employers every few years. Frequently moving between employers increases compensation for individual contributors much faster than remaining at a single employer. This means many employees are not around long enough to establish any form of trust relationship and the cultural norms of the industry reinforce less trust with limited leadership.

The loss of trust as a cultural norm is problematic in that it becomes a self-fulfilling prophecy. Not trusting or developing software developers as an expectation results in employees less motivated and less worthy of development. In practice that means developers must be protected and isolated from any form of formal learning or development to both shield the organization from risk and simultaneously reduce the expense of funded employee improvement.

Training

Leaders are developed, not born. Training, especially leadership training, is most entirely absent in software. This is completely understandable when trust is virtually nonexistent and leadership is a some vague mystery.

Development depends on having clear purpose for what, when and how to develop. Good leader development is purposeful and goal-oriented. A clearly established purpose enables leaders to guide, assess, and accomplish development. The principles of leader development describe goals for what leaders need to be developed to do: leading by example, developing subordinates, creating a positive environment for learning, exercising the art and science of mission command, adaptive performance, critical and creative thinking, and knowing subordinates and their families. FM 6-22, 1-5

It takes an intentional and asserted cultural effort to appropriately define and establish pillars of leadership as an institutional quality. In short, training leaders requires a culture of leadership that is both intentional and purposeful. Leadership training does not exist by accident.

Developing leaders involves a holistic, comprehensive, and purposeful group of activities. More than any set of activities, success stems from a culture where leaders with a mindset and passion for developing others use daily opportunities to learn and teach. FM 6-22, 1-10

Historic Example: A Culture of Training

As a historical example English King Henry V conquered France. This was made possible by the accidental victory at the Battle of Agincourt in 1415 where an exhausted and poorly equipped English army retreating back to England encountered a superior French force. The English force comprised about 1,500 knights and 7,000 archers. The French force comprised about 10,000 knights with superior armor and 4,000-5,000 footmen comprising archers and crossbowmen and possibly an additional 10,000 armed valets to the knights for a total fighting force of around 25,000 men. The French force also had superior training and were well rested.

At the end of the battle the English were victorious with approximately 112 dead. The French were utterly destroyed with over 6,000 dead including 90-120 great lords and several thousand taken hostage. The English won because they didn't have the numbers or will to maintain the norms of chivalry at the battle and because they had the longbow.

The French were fully aware of the longbow as the English used it to destroy a superior French force at the Battle of Crécy in 1346. For nearly 70 years the French were aware of this technology and made no use of it in their own forces and prepared no defences against it. The reason why the French ignored the longbow is because it takes years to train archers to become effective with it, which required a dedicated culture of recruitment and training. Had King Henry no died almost immediately after his conquest France would likely be an English possession today.

Ethics

Ethics are a branch of moral philosophy, but this paper is only concerned with a narrow category of professional ethics. Morality is concerned with virtues of right and wrong and how such considerations reflect upon an individual person's character or an organization's reputation. Ethics are more specific than morals in that they are concerned with conformance to rules of practice.

In most professions conformance to a code of ethics is required to attain employment. In many cases these codes of ethics are legally sanctioned and required to practice in a given profession such as: law, medicine, school teacher, truck driver, real estate, electrician, engineer, police officer, and many more. In the case where a profession requires a code of ethics any violation there of may result in complete forfeiture of practice. Violations in the case of legally sanctioned code of this will likely result in some combination of civil and criminal penalties in addition to complete forfeiture of practice.

Software has no ethical definitions, yet professionally ethics always apply to all professional matters. In the absence of clearly delineated rules of conduct, as is the case in software, ethics reflect the intent, or purpose, behind a decision and the proximity of that purpose to one's own self interest, as opposed to the stated purpose of the product or business. Ethics are an utterly foreign concept to most software developers as they are something that is never taught or enforced. Communicating ethics to software developers is often challenging because software developers have no frame of reference and may view any such guidance as an unnecessary constraint upon what is otherwise maximum liberty and high self interest.

It takes strong leadership to enforce ethical norms. It takes incredible leadership to form those ethical norms where they do not previously exist. Ethics are perhaps the greatest differentiator between software and any other professional industry, including military.

Professionalism

True professions are guided by an ethic that establishes the personal and institutional standards expected of its members. A professional ethic creates a shared professional identity, and provides an enduring set of moral principles, values and beliefs that guide that profession as it provides its specialized service to society. ADP 6-22, 1-44

Software, as an industry, lacks professionalism. There are no ethics, guidance, rules, or beliefs to establish any form of shared identity amongst software developers. In other professions, such as firefighter, there does exist a common identity. The rules to operate as a firefighter may differ slightly in different geopolitical areas, but the required skills and ethics are universal. This is achieved because firefighters, like most professions, require licensing that define identity, norms, and ethics.

Licensing performs a critical function that is completely absent in software: defines a minimum baseline of competence to operate. Like ethics, licensing is a concept that is completely foreign and poorly understood among software developers. To ensure employees maintain their technical proficiency licenses require continuing education and/or re-certification after a designated time period.

Another critical function served by licensing is objectivity, which is also foreign to software. In every software interview I have participated in the interview starts by determining basic competence for the job. This is unfortunate, because it robs the interviewer of the opportunity to evaluate more important criteria when basic competence could be immediately determined by a variety of external factors such as licensing. These basic assessments of competence are almost always highly subjective and prejudicial in some way, though unintentionally, and rarely reflect any concept of allowed real world practice.

Summary

It is interesting holding employment in two unrelated industries simultaneously. One with a strong core of leadership that is well defined by doctrine and the other with nothing of the sort. Through that comparison it really feels software is an immature industry where the children run the daycare. Any attempt to raise the bar is frequently greeted with either hostility or irrationally self-indulgent excuses.

There are many subjects in software that their mere mention immediately spring to mind the Dunning-Kruger Effect. One of those subjects is certainly leadership. When a person's entire career confined to a single line of work in a single industry they have nothing to compare it to, so its natural to believe the software industry is performing spectacularly on leadership and thus no more is needed. However, when your sample size for any kind of comparison is 1 of course you are 100% awesome. You are also 0% awesome, so unqualified self-assessments based on nothing mean nothing. This is why it takes an outside observer to form any kind of qualified opinion.