Software – The invisible infrastructure of daily life

We’re living in a world where software is the invisible infrastructure for daily life. There doesn’t appear to be any quantitative measure of what proportion of everything we use actually contains software, but it’s not outrageous to assert that almost everything we use depends on it. Whatever the real proportion is, with the advent of AI and the Internet of Things (IoT) it’s only climbing. Software has blossomed from primitive beginnings to become crucial in every facet of life in less than 75 years. In the 1950s software wasn’t a ‘product’ but something bundled with hardware used primarily for scientific calculations, military simulations, and data processing. Most of it was written in machine code or early assembly languages tailored to specific hardware, and it was written by the same engineers who built the hardware. A large program was a few thousand lines of code loaded manually via cards or magnetic tape. FORTRAN only emerged in 1956 and the term ‘software engineering’ was only coined in the late 1960s/early 1970s.

How things have changed. Today’s internet, search tools, social media, cars, medical devices, satellites, aircraft, trains, weapons, smartphones and so on depend on many, many millions of lines of code, see here and here for example. Modern health, financial, energy, government, intelligence, and defence capabilities all rely on huge amounts of software. Indeed, any item in our homes that can sync with a smartphone app contains software. In less than 75 years software has changed life, taken over the world, and become professionalised in the way it’s produced. Writing machine code for specific hardware in a way that ‘every byte counts’ has evolved into the professional, ever changing and improving, discipline of software engineering which incorporates design and development processes, methods, standards, tools and techniques that ensure that production software meets requirements, is scalable, tested, robust, maintainable, secure, and performant. Software engineering, of which coding is today just a subset, continues to evolve with, for example, the likes of Microsoft and Google anticipating that AI will render hand crafting of code redundant by the end of this decade.  

The software woven into our lives in recent decades has brought immense convenience and transformed communication, public services, business, and conflict, as world events illustrate. Today it’s undeniably critical infrastructure, but software, unlike most infrastructure, isn’t something you can tangibly touch! Compared to what existed 75 years ago, the software in use today is a vulnerable sprawling metropolis with vulnerabilities that bad actors can use to cause disruption. Are we safer today than in the 1950s now that everything depends on software? Hmm, that’s debateable, but what the Badger senses is that even with the advent of AI, software engineering as a discipline and the career prospects for software engineers focused on solutions, security, quality, robustness, and testing rather than coding, are good for many, many years yet…

An inspiring, impressive, and heartwarming moment…

Take a moment. Think about the most inspiring, impressive, and heart-warming moments that you’ve experienced during your career. Does one immediately come to the fore more than others? The Badger’s experienced many inspiring and impressive moments over the decades, but far fewer that were inspiring, impressive AND heart-warming! The one moment that is always the first  comes to mind meeting these three criteria was the witnessing of a speaker at a technical conference overcome their stage-fright and public-speaking demons to receive a standing ovation from the audience.

The young Badger had attended the conference, about novel software design practices, to give one of many twenty-minute presentations to the ~350-person audience from across industry. His presentation went well, ostensibly because he was well prepared and had lots of previous public-speaking experience from presenting at large conferences during his academic days. On returning to his seat afterwards, the Badger felt that usual human reaction of being both pleased and relieved! The next presenter was another youngster. As they took to the stage and walked to the lectern, their hands were visibly shaking, but what unfolded was more than just the initial nerves most people experience in such situations. What unfolded was, in its own way, awesomely inspiring, impressive, and heartwarming!

The speaker introduced themselves. Thereafter their body perpetually quivered, their voice trembled and incessantly faltered, and their presentation delivery fragmented with long pauses between sentences and often between individual words. It was obvious that the audience found the situation uncomfortable, and after ten minutes one of the conference organisers approached and quietly asked if the speaker was okay and would like to end their presentation immediately. The speaker insisted on carrying on and did so overrunning their allotted time by 50%. On closing their presentation, they apologised to the audience for their nervousness, thanked the audience for their patience and understanding given that they had never presented to so many people before! As they left the stage the whole audience gave them a standing ovation.

The speaker’s dogged determination to complete their presentation in the face of their inexperience and rampant nervousness was inspiring. The fact, as the Badger learned talking to them afterwards, that they had consciously put themselves in that uncomfortable situation because ‘it was necessary’ in order to improve and have a good career, was impressive. The audience standing ovation was heartwarming because it demonstrated our inherent human empathy and respect for ‘those that try’. For the Badger, the moment also highlights that we all have weaknesses and that facing up to them by doing the right thing with dogged determination, and resilience in the face of personal discomfort, builds respect and demonstrates the ‘right stuff’ required to be successful. What happened to the speaker? They ultimately became a senior executive at an international corporation, and a much sought after keynote speaker at international conferences!

A vintage Fortran Source code listing…

The Badger found an old paper Fortran source code listing, in good condition considering its age, at the back of a cupboard this week. It triggered memories of his programming activities early in his IT career. It also caused him to reflect on the changes there have been in IT as a result of the tremendous advances in digital technology, and the way we live and work, over the last 40 years. As illustrated below, this period has been one of continuous, rapid change.

In the 1980s, personal computers began to make their way into businesses and homes. The likes of IBM, Apple, and Microsoft introduced devices that revolutionized how people accessed information and performed tasks. The introduction of graphical user interfaces (GUIs) also made computers more user-friendly enabling a broader audience to embrace technology. The 1990s brought the birth and expansion of the internet, drastically changing communication, commerce, and entertainment. It brought a new level of connectivity and made information accessible globally at the click of a button. E-commerce giants like Amazon and eBay emerged, transforming the retail landscape and giving rise to online shopping.

The 2000s saw the rise of the mobile revolution. With the introduction of smartphones and tablets, technology became ever more integrated into our work and personal lives. Apple’s iPhone and Google’s Android led the charge, creating app-driven ecosystems that allowed users to perform a myriad of tasks on-the-go. Mobile internet access became ubiquitous fostering a new era of social media, instant messaging, and mobile gaming. In the 2010s, Cloud Computing with Amazon Web Services (AWS), Microsoft Azure, and Google Cloud brought scalable, on-demand, computing resources. This facilitated the rise of Software as a Service (SaaS) models which enable access to software applications via the internet and help businesses to reduce infrastructure costs and improve scalability.

In recent years, ‘Big Data’ has meant that organizations can leverage vast amounts of data to gain customer insights, optimize their operations, and make data-driven decisions. AI technologies such as machine learning, natural language processing, and computer vision, are also rapidly being integrated into applications from healthcare and finance to autonomous vehicles and smart home devices. In addition, the COVID-19 pandemic accelerated the adoption of remote working and digital collaboration tools, and video conferencing platforms like Zoom and Microsoft Teams have become essential communication and productivity tools.

Anyone working in the IT world over this period has had an exciting time! The Fortran listing reminded the Badger that it was produced when programming was a very human, hand-crafted activity. Source code today is produced differently, and AI will dominate programming in the future. The Badger’s career spanning all these changes  was challenging, exciting, creative, and one where dynamism, innovation, teamwork, hard work, and a ‘can do’ mentality were embedded workforce traits. Is that the case today? It has to be in a future which is dominated by AI.

‘A crisis’ – the name for a group of dysfunctional experts.

Many years ago, the Badger took a late morning phone call from his boss asking him to pop into his office for a chat. A reason for the chat wasn’t mentioned, and so it was with a little trepidation that the Badger took the lift to the floor where his boss’s office was located. On approaching, the Badger saw his boss through the open door with elbows on the desk, head in hands, looking morose. Sensing the Badger’s arrival, his boss sat back, smiled, asked for the door to be closed and waved the Badger to a seat.

‘What’s the collective noun for a bunch of experts responsible for designing a huge software intensive system on a fixed-price contract?’ the Badger was asked in a relaxed manner. His boss didn’t wait for an answer. ‘A crisis’, they said with irritation and a flourish of colourful language that would cause apoplexy today. They explained that this answer derived from problems on a multi-tens of million pounds, fixed-price IT development project with a dysfunctional Design Authority (DA) team. This team, apparently, was full of acknowledged experts who seemed incapable of agreeing or deciding anything that was crucial to the progress of the overall project team’s software developers. At the start of the project line management had apparently insisted on staffing the DA team with experts who’d been between assignments and non-revenue earning for some time. The Badger’s boss admitted that, in hindsight, it hadn’t been wise to allow this to trump an individual’s technical and personal suitability for the project.

The Badger was then asked to sort this out and get the project back on track! He joined the project with an open mind and quickly assessed the situation. There were some leadership and management dynamics to adjust, but the DA team was indeed the key problem. Its members were all respected experts with specialist knowledge, but each was focused on expanding and protecting their expertise rather than the big picture and the project’s fixed price delivery. Teamwork, within the Design Authority itself and with the rest of the project, was poor. Experts can add enormous value to any team if used correctly, and so the Badger carefully considered how to rectify the situation. He repopulated the Design Authority with good people drawn from other parts of the project. The experts were released to their home units to be used a couple of days a month for consultancy if required by the new DA team. The experts and their line managers grumbled, but the project went forward to success.

The point of this tale? Simply to highlight that experts who keep their egos in check, never lose sight of the big picture, and have both specialist knowledge and the personal characteristics for teamwork, are valuable assets on tough delivery projects. Those that don’t have all of these attributes are more suited to short term specialist consultancy…

Dodgy software releases and a house brick…

The Badger’s first thought on hearing of the recent global IT outage was that the cause  would be a cyber-attack or a messed-up change of some kind. It turned out to be the latter, which triggered a smile because the advances in tools, techniques, processes, and professionalism over the last three decades, hasn’t made it impossible to release software that causes havoc! The outage is a reminder that there’s some fragility in the underbelly of our computerised world, that complexity always comes with risk, and that individuals and enterprises should never have all their eggs in one basket.

The Badger was reminded of his involvement in stabilising and completing a troublesome software project a few decades ago. The software was installed in the client’s premises and being extensively tested on computers that were connected to specialist equipment and other systems. The project team was focused on the defect fix, build, and release cycles needed to support the testing, which was  producing a continuous stream of faults, many more than anticipated. The fix/build/release team, under enormous and intransigent internal and client pressure, struggled to make inroads to the growing defect backlog, and to produce timely update releases. Costs escalated, shortcuts were taken, release quality suffered, and the client was angry that new releases fixed some defects but introduced new ones! The team were demoralised, defensive, and disgruntled. Team spirit had evaporated, and financial incentives were making little difference.

The situation was improved by two things. The first was the injection of hard-nosed,  technically-savvy, leadership that kept all stakeholders at bay and also demanded rigour, quality, and process professionalism from the team. The second was to use a house brick to rebuild team spirit! Every Friday, a team member was allocated the brick for having made a mistake of some kind. The brick sat on their desk until it was reallocated the following Friday (if someone else had made a mistake). No one wanted to be a recipient of the brick! Rigour, process diligence, and fix to release quality improved. The brick also triggered good-natured banter across the team whose morale, motivation, and cohesiveness improved dramatically. On project completion the brick was mounted on a plinth and presented – amidst raucous merriment – for posterity to the person who’d received it the most! No one ever took offence at being awarded the brick, but would that be the case today? Doubtful.

Those whose change caused the recent global IT outage were probably a team of good people operating under relentless pressure from their stakeholders. Lessons, of course, must be learned, but deriding them for a mistake that exposed a global IT fragility would be a mistake. You never know, deploying a humble house brick might help them ensure they don’t make the same mistake again…

‘My way, or the highway’…

Many years ago, the young Badger and some others were injected into a major, fixed-price, software development project to turn it around. It was seriously off the rails. Shambolic planning and poor processes meant deliverables were missed or late, some design aspects were problematic, and much of the code produced was poor quality. The large project team was demoralised and in need of effective leadership. The company was haemorrhaging money and the client was considering termination and litigation. In the face of potential reputational and financial disaster, the company decided it must sort the mess out rather than fight a costly battle in court.

Shortly after the Badger and others were injected, the company CEO called us to his office to introduce our new boss, the senior Project Director newly assigned to lead the recovery overall. The Project Director, recently back in the UK after two years in the company’s USA subsidiary, was burly in stature, had a voice that shook the ground when they spoke, and a stare that injected fear. They brimmed with self-confidence and were lyrical about how they had turned around other projects. The Badger thought that his new boss would be a challenge, and so it proved!

The following day the Project Director called the entire project team into a conference room to introduce themselves more widely, talk about their approach to the task in hand, and to answer questions. They spoke for half an hour, during which the atmosphere turned from one of quiet optimism, to one of abject gloom and disengagement. The room full of intelligent software professionals did not react well to the Project Director loudly proclaiming, in finger-jabbing mode, that a) they were a problem,  and b) being told repeatedly that it would be ‘my way, or the highway’ in the future. The Badger, who winced many times while his boss spoke, lost count of how many times this phrase was repeated. No one asked any questions, and as the team left the room afterwards, a software engineer told the Badger that ‘the highway’ seemed a good option, because they’d no idea what ‘my way’ was, and that even if they did, the Project Director wasn’t a person they’d go the extra mile for.

All leaders, of course, have a ‘my way, or the highway’ streak, but in this case the over-zealous public exposure of it turned what should have been a motivational call to arms into a disaster. The best leaders choose their words carefully when speaking to those whose support is needed in order to convert difficulties into successes. Preaching ‘my way, or the highway’  loudly and continuously comes with the danger that the good will needed from a team to overcome problems deteriorates rather than improves. Frequent articulation of ‘my way, or the highway’ is thus simply a marker that there’s danger ahead…and that ‘the highway’ might actually be a good option!

From slide rule to calculator app to…ChatGPT?

On a shelf in the Badger’s home office is a pristine British Thornton slide rule in its original case. It hasn’t been used in years. In fact, it’s hardly been used since the Badger bought it during his first week as a university student because it was a recommended tool for his subject. Various friends have poked fun at it over the years, jauntily calling it – and the Badger – a relic rendered obsolete by first electronic calculators, and latterly apps on smartphones. Nevertheless, a friend recently gifted the Badger a vintage slide rule instruction pamphlet to ‘complement this Museum piece’! The gift was accepted graciously. It heightened awareness not only that anyone born since the 1970s will never have used a slide rule, but also that the student Badger had actually hastened this tool’s demise by buying a pocket electronic calculator as soon as they became widely available and affordable.

The slide rule’s 300-year reign as a personal calculating tool ended abruptly in the mid-1970s. By the time the Badger had completed his degree, every student on his course had bought a Sinclair Cambridge, Sinclair Scientific, or Texas Instruments electronic calculator. When youngsters josh about the slide rule on his shelf, the Badger reminds them that Buzz Aldrin used one during the Apollo 11 moon mission, and scientists and engineers used them when designing, building, and manufacturing the first computers. They are often amazed, but always respond by highlighting the virtues of the calculator app on their smartphone.

Reading the vintage slide rule pamphlet reminded the Badger that his purchase of an electronic calculator as an undergraduate was an early part of the microelectronics revolution that’s changed every aspect of life since. Reflecting today, it seems amazing that personal calculating devices have morphed from a tactile, non-electronic slide rule into a calculator app on a smartphone reliant on microelectronics to function. Of course, what’s happened to personal calculation devices is merely a specific example of the massive impact that rapid technological advance has on our lives.

Today the Badger’s slide rule is a decorative bygone. His most recent electronic pocket calculator is also infrequently used and languishes in the desk draw because the calculator app on his smartphone has become his default pocket calculator. But even use of this app is waning! Why? Because just speaking to Google or Alexa does straightforward maths. The days of needing a calculator app thus seem numbered, especially if AI like ChatGPT ultimately has the impact that Microsoft anticipates. So, here’s a thought to end with. While the Badger’s slide rule will always be an antique talking point sitting on someone’s shelf, an obsolete calculator app will just disappear into the ether and have no decorative value whatsoever. Hmm, perhaps the Badger needs to stop reading the instruction pamphlet and drink less coffee…

Software updates and a ‘Smart’ washing machine…

A visit to a nearby UK home appliances retailer to browse washing machines proved unexpectedly fun. The Badger’s 10-year-old washing machine still works well, but groans, knocks, and squeals are becoming more prominent, and so it seemed prudent to do some succession planning. Having searched what’s available online, it seemed sensible to survey appliances in person, especially as there’s an out-of-town home appliances superstore nearby.

After arriving at the store and browsing the computers, peripherals, phones, and digital gadgets close to the entrance, the Badger navigated to the washing machines at the back of the store. It was quickly apparent that there were more costly ‘Smart’ models with network/internet connectivity/apps on display than traditional ones. A salesperson sidled up and drew attention to a ‘Smart’ model on special offer, extolling the conveniences that its ‘Smart’ capabilities provided. The Badger listened politely and asked, ‘How long does the manufacturer support the software?’. This flummoxed the salesperson who said ‘Never had that question before. Give me a moment and I’ll find out’. They disappeared and soon returned with a colleague, who simply said ‘a few years’.  The Badger, who wants a new washing machine to last around 10 years, was rather amused that they obviously didn’t know the answer to his question.

The Badger thanked them for the information and moved on to the TV section where nearly all the models on display were ‘Smart TVs’.  While marvelling at the picture quality of a high-end model, another salesperson asked if he had any questions. The Badger asked, ‘How long does the manufacturer support the software?’ Guess what, the salesperson went to find out and came back with the answer ‘a few years’.  The Badger chuckled and mentioned that an Amazon Firestick was therefore probably much better value! The salesperson swiftly moved to a customer showing real interest in making a purchase.

Software updates have been part of the IT/tech industry since its inception. Over recent decades, however, mobile and internet connected technology has not only put enormous functionality at our fingertips, but also progressively increased the need to keep the security  of connected devices up to date.  The need for, and frequency of, software updates has thus generally risen. But here’s the rub. Manufacturers often stop supporting their software  years before an equipment you’ve purchased is truly end of life.  The recently enacted UK Product Security and Telecommunications Infrastructure (PSTI) Act, however, is thus welcome progress towards making brands be more upfront about their software support

Smart’ everything, at a premium price, is becoming the norm, and so if you’re buying devices and appliances in a physical store then always ask about software support and compliance with the PSTI Act. Consider the response you get carefully, and remember, buy something that meets your real need, with your head not your heart.

What’s colourless, odourless, beneficial and toxic, and runs the world?

The Badger has a small, framed, vintage print of the Periodic Table of Elements from his school days on his desk. It’s been a constant reminder over the years that everything in our physical world is made up of elements in this table. While at his desk listening to a rather frustrating podcast featuring a climate emissions evangelist and a business leader arguing about fossil fuels, the Badger’s eye was drawn to this trusty print. Something said in the exchange between the protagonists in the podcast made the Badger mentally tune out and recall how his school chemistry teacher used to describe elements in the Periodic Table and common chemical compounds. The trigger for this was the business leader saying that ‘fossil fuels run the world economy and hence our lives and will do so for some time yet’.

It made the Badger look at the framed print on his desk, think of his school chemistry teacher, and decide that it’s not fossil fuels but something colourless, odourless, beneficial and toxic, that cannot be touched or felt and that can be produced by any country, that really runs the world and its economy today, namely software! Fossil fuels and industries that heavily use them bear the brunt for most activism on reducing global carbon emissions, whereas software, which constantly proliferates at the heart of our ever-expanding digital and ICT world, seems to have a lower profile on the ‘green’ activism scale. Notwithstanding Microsoft’s drive to be carbon negative by 2030 and the existence of the Green Software Foundation, it feels like the design, development, testing, release and use of software in every facet of life deserves much more quantitative ‘green’ attention if global digitalisation and the processing and storage of huge amounts of data isn’t to become the next generation’s emissions and resource sustainability crisis.  

Some argue that software and global digitalisation can help to cut our overall global emissions by 15% or more.  However, researchers at Lancaster University suggest not only that this might not be so, but also that while ICT has driven efficiency and productivity improvements over the years, the historical evidence shows that global  emissions have still risen relentlessly.  The devil’s always in the detail, of course, and spin and greenwashing are everywhere, but surely there’s a need for much clearer, quantitative, transparent data and public awareness about emissions  relating specifically to the design, production, and use of software – that colourless, odourless, invisible, cross-border item that runs the world?

The Badger’s school chemistry teacher knew nothing about software, but they were inspiring, articulate, a creative describer of matters of importance, and a stickler for quantitative assessment. They would have applied the same approach for assessing the production and use emissions of software as if it was an element in the Periodic Table…and, perhaps, so should we.