Monday, January 6, 2020

The Profession of Software Development

Software developers are much like plumbers. 
The stereotypes surrounding software developers are numerous.  Sandra Bullock was the shut-in hacker in the 1990’s 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.  The reason this is possible is the combination of increasing computer power and the work of smart 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 web site 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.  As the site became more complex Database administrators, user experience experts and network security specialists will add their contributions. It is like the manufacture of 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 do it to understand. 

People understand the pressures doctors endure.  Each day doctors are making decisions that might affect the life and death of patients.  Attorneys are responsible for up to billions of dollars in money 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 how to invest and loan money to protect their depositors. Finally, teachers educate and look after the wellbeing of children.  Our culture understands these pressures and rewards a particular level of 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 were able to create a control system that prevents planes from crashing.  What was not taken into account was the way 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 what the standard of excellence for software was until planes began to fall from the sky.

The software profession has a youth bias; many of the 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 in such demand that compensation is a powerful incentive for people with mediocre talent to join the profession.  Taken together 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.  It is 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.

No comments:

Post a Comment