Saturday, December 27, 2014

The Architect’s Place in Society

When you think about our modern world, you quickly see that almost everything you depend on has some sort of software component.  Even things that used to be simple, like the food we eat is now sitting on a very complex and technological base that always includes complex software systems.  Each of these systems was designed by some flavor of software architect.  Some were very good at their jobs, but inevitably, some were not.  If we think about other complex tasks that have such fundamental impact on our lives, there are much more stringent controls on how these systems are designed and operated.

In most cases, this is a byproduct of maturity.  Things like roads and medicine have been around much longer than things like software.  Thus, the state of the industry and the regulation surrounding them is also much more mature.  We can look back into history to see epic failures in all of these mature disciplines.  Each failure has added to the body of knowledge about what not to do.  This results in our current regulatory and industry best practice structures.  None of those things exist in our business.

Yes, we have our share of epic failures, but in most cases these failures do not lead to loss of life.  Thus, we are largely free to make mistakes and we are the only ones hurt from those mistakes.  Or so it appears.

What started out as domain for academics and then later for hobbyists has become very foundational to our modern world.  It is the internet which thrusts the architect into the center of almost everything we do.  Today, the impacts of Internet failure are largely commercial.  A major company gets taken down by hackers and this is annoying or even worrying but it is not catastrophic.  President Obama described the Sony attack “an act of cyber vandalism.”  Thus, it is lower in the pantheon of crimes one can commit.  However, there are other systems, other platforms that would be far more dangerous.  Things like building control software or air traffic control systems.  Water and power management systems.

Ironically, these systems are very slow to advance and seem almost comical in their primitive design to the child of the internet.  However, it is this lack of connectivity that makes them safe and secure today.  A prime example of this is the way US nuclear weapons silos work.  “Ancient” technologies like eight inch floppydisks with zero connectivity are the norm.  It turns out this is a very good thing.  Imagine someone like North Korea getting the root admin password for the computer that launches a US ICBM.  This is something that doesn’t bear thinking about and is not possible today.  Looking forward, we know that this cannot continue.  At some point, the architectures and platforms we are designing today to sell books and play games will underlie the power grid, the air traffic control system and everything else we do.  As these systems evolve and mature, our industry practice and regulatory structures must also mature and evolve.

Thinking about the future of our industry, we must think of ourselves as critical to the functioning of our society.  We should be holding ourselves to the same standards that doctors, lawyers and civil engineers hold themselves to.  While I’m sure there are plenty of examples of where these systems have failed, we also know that in the vast majority of cases, the system works.  Think of your own life experience.  If your child is very ill in the middle of the night, would you hesitate to bring her to the emergency room?  Would you wait until you knew that the “good” doctor you trust was available?  Certainly not.  You would immediately rush her to the nearest emergency room with the full expectation that they would know what to do.  And in 99.99% of cases, that is exactly correct.  The vast majority of doctors in this country are very skilled and know what they’re doing.  The system of board certifications, internships and residency produces a very high level of professionalism that results in a very high standard of care in this country and in most western societies.  There are variations and you could make arguments about what could be improved (certainly, that’s true in the USA) but overall, the system works.

Take this same example to software.  Let’s say that your daughter had a digital virus.  Let’s say that for some inexplicable reason, you needed a computer technician to save her life.  What would you do?  Would you go down to Best Buy and have the dude from “Geek Squad” have a go?  I definitely would not.  I know that those people have no idea what they’re doing (no offence to Geek Squad or Best Buy, but I bet they would not want my daughter’s life in their hands either).  I have some people I know and I trust but there is no way in hell I would allow some dude to work on her in a life threatening situation.  Granted, I am a computer professional so I know things that non-techie folks don’t, but I don’t think that our industry would work the same way if children’s lives depended on the outcome.   It just would not happen.

Naturally, this does not actually occur and this is why our standards are so loose.  What I’m asking you do to is to think forward when actual lives ARE on the line.  When this DOES actually matter.  Then what?  How will we respond as an industry?  This is the critical question that we must answer.

As architects, our job is not to simply examine the world as it is today.  Our job is to project into the future.  To seek this future truth that does not yet exist and cause it to exist.  This is the only way we can know if things are true.
I am currently working on a new book which will explore this issue and other issues around the professional development.  Feel free to join in on the comments below to share your thoughts about this issue.

No comments: