Monday, December 2, 2019

It Takes Labor and Intelligence to Make Magic

It looks like magic but it is something else.
The software business is a strange beast.  Developers wrestle with ones and zeros to create things that only existed in someone’s imagination.  We exchange terabytes each second to help us shop, get driving directions, or book a vacation.  The raw computing power we hold in our hands dwarfs the computing power which puts people on the moon.  Science fiction author Arthur C. Clark said any sufficiently advanced technology would be indistinguishable from magic. We live in these magical times, where we can get anything on our phones.  It hides an ugly reality that it takes a tremendous amount of labor and intelligence to construct these systems.  It takes more energy to maintain those systems and keep the global economy spinning.  I need to pull back the curtain and reveal the hard work behind the magic.

Software is written to solve problems or to automate a process.  The first electronic computers were created to break the Nazi Enigma codes and to calculate the trajectories of artillery shells during the Second World War.  These machines were ugly and ungainly.  The early computers did not have formal systems of logic or operations.  Smart people would have to come up with those systems.  Fortunately, the allies had people like Alan Turing and Grace Hopper to pioneer those advances.

The vacuum tubes of the early days of computers would give way to the transistors and then semi-conductors.  The transition from glass tubes to silicon wafers leads to an explosion of innovation including programming languages like Pascal and COBOL.  IBM used a startup company from Seattle called Microsoft to create the first operating system for personal computers.  The world wide web was born, and soon businesses sprang up to generate billions of dollars of wealth.  In hindsight, all of this “progress” appears inevitable.  In reality, it is the work of tens of thousands of engineers and software developers who will forever remain anonymous.

These were people who sacrificed time with family and friends to stare at green computer screens attempting to squeeze additional seconds of processing time out of applications.  These were people who came up with algorithms that allowed efficient organ donations.  They were UI/UX designers who discovered horizontal scrolling hurt sales and created designs that improved closing rates.  It was late nights, cold coffee, and exhaustion, which constructed the technology we take for granted.  I am one of those anonymous foot soldiers in this march of progress.

As I became more experienced as a software engineer, I realized the way we lead those projects was not improving with the technology. We were doing the same crazy things and expecting the same results.  It is why I become a member of the agile reformation.  I wanted to make a change.

Today, many of the people making decisions about technology have not constructed that technology.  These people have ideas but no practical knowledge of how to make those ideas work.  Confronted with this reality, they have engineers, developers, and designers to make the idea a reality.  Unfortunately, because they think technology behaves magically, they believe its creation is a magical process.  It is not magic but the product of hard work and intelligence.  No amount of wishful thinking will change the realities of Moore’s Law.

It is why we have the agile manifesto and principles.  We want our work to be more sane, satisfying, and sustainable.  It is only four values and 12 principles, but they make all the difference in an organization. We do live in a magical world.  It is a world created by the sweat and toil of smart people.  By understanding the labor which goes into technology, we can make the world a little more magical.

Until next time.



No comments:

Post a Comment