The profession of software development.

A commercial jet airline in flight.
Photo by Chris Curry / Unsplash

The stereotypes surrounding software developers are numerous.  Sandra Bullock was the shut-in hacker in the 1990s film “The Net.” The cast of “Silicon Valley,” embodied the “move first and break things,” ethos of the rise of Facebook.  Finally, the frat brother atmosphere of gaming companies is legendary. Software developers are many things, but not many people outside of the business consider them professional.  Today, I would like to take the time to discuss professionalism in software development.

Many of the things we use operate on code.  The turbochargers in our cars are computer-operated.  Trains rely on computer algorithms to run on time.  We can shop for groceries from the comfort of our sofa.  This is possible because of the combination of increasing computer power and the work of intelligent people who write the software code to exploit that power.  It is a detail-orientated and challenging task.

Software development is custom work with little automation, so each piece of software is made by hand.  Each phone application or website we see today began as a blank slate that needed data, graphics, code, and business processes. Line by line, a software developer wrote what you see.  Database administrators, user experience experts, and network security specialists will contribute as the site becomes more complex. It is like manufacturing a hot rod with all the mechanics hammering out the individual parts and then attempting to assemble them into a working car.  The complexity and challenges are difficult for people who do not understand it. 

People understand the pressures doctors endure.  Each day, doctors make decisions that might affect the lives and deaths of patients.  Attorneys are responsible for up to billions of dollars during civil suits.  In criminal trials, they have to power grant or deny a person their freedom.  Likewise, bankers must make an informed decision about investing and loaning money to protect their depositors. Finally, teachers educate and look after the well-being of children.  Our culture understands these pressures and rewards particular respect and deference to these individuals. 

Software professionals are in that gray area.  What they do is essential, but it is invisible until something breaks. The story of the Boeing 737 is a tragic example.  Software developers compensated for an engineering flaw in the aircraft.  Given the time pressures, they created a control system that prevents planes from crashing.  What was not considered was how pilots would behave in critical situations.  The flaw in logic would cost the lives of over 300 people in airline crashes.  It also cost the CEO his job because people no longer wanted to fly on 737 aircraft.  No one knew the standard of excellence for software until planes began to fall from the sky.

The software profession has a youth bias; many contemporary programming languages have been around for less than twenty years.  Less than five-tenths of a percent of the entire world population know how to write code. Caucasians and Asian people dominate, and it is an overwhelming male occupation.  The attire is comfortable, and software professionals are more interested in getting things to work than being likable.  Compared to other professionals, software developers do not look the part.

The trends above make the profession seem clannish.  The time pressure often forces these professionals to take shortcuts.  Finally, the skills are so demanding that compensation is a powerful incentive for people with mediocre talent to join the profession.  People outside the business see developers with the same respect as mechanics or plumbers. The funny thing is these professionals lack respect until we need them.  Then we will pay big money to use their expertise and services.

So, software developers deserve respect because they keep the contemporary world working.  The world runs on code.  It is a shame we needed planes falling out of the sky to understand that reality.

Until next time.

Edward J Wisniowski

Edward J Wisniowski

Ed Wisniowski is a software development veteran. He specializes in improving organization product ownership, helping developers become better artisans, and attempting to scale agile in organizations.
Sugar Grove, IL