Preface: the software inferno is a tale that parallels The Inferno, Part One of The Divine Comedy written by Dante Alighieri in the early 1300s. That literary masterpiece describes the condemnation and punishment faced by a variety of sinners in their hell-spent afterlives as recompense for atrocities committed during their earthly existences. The Software Inferno is a similar account, describing a journey where “sinners against software” are encountered amidst their torment, within their assigned areas of eternal condemnation, and paying their penance. In an attempt to preserve some of the original Inferno‘s spirit and archaic prose, I have reused a few fragments of originally translated text taken from SparkNotes3 and am grateful to include this classic verbiage.
The topology of the Software Inferno is captured in the accompanying figure and describes the setting for the sorrowful tale you are about to read.
The Journey Begins
Midway through our software project, I found myself in a dark wood, the right road lost. I cannot well recount how I entered it, so full was I of discontent at that point where I abandoned the true path. Yet, the true path is what I had hoped this journey would restore to my troubled soul, and will now tell of the things I have seen.
From amidst the darkness of the wood, I looked on high and saw a hill whose shoulders were cloaked by the rays of the sun, whose crest I was drawn to in hopes of reacquainting myself with the true path. As I climbed higher and higher among the perilous ridges and furiously flowing waterways, I came across three beasts blocking my way. The beasts were a nasty and snarling lot, well known for tormenting not only strangers such as myself, but also for being at odds with one another. A difficult task mine would be to satisfy the coincident demands of the Cost, Schedule, and Quality beasts as a condition of passage. Given my wayward state of mind, I was able to successfully quell the wrath of only two of these beasts at any given time, and had little choice but to descend from the hill and ponder an alternate course for reacquainting myself with the true path.
While I was falling back to the low place from where I had started, before my eyes appeared one who through long study seemed to be a noble woman. “Have pity on me, I am lost!” I cried. “What so thou art, or shade, or real woman?” Responded she, “I was born Augusta Ada King, to parents Lord Byron and Anne Isabella Byron, resided at England, and became Augusta Ada King, Countess of Lovelace.” Replied I, “Art thou then that Ada Lovelace and that fount from which flowed the first computer program?” Attested she did, “Indeed it is I.”
I recounted my woeful tale to the Countess Lovelace about having lost the true path, my thus far futile attempts to rediscover it, and of the horrible beasts I had previously encountered while ascending the mountain trail. Said she to me, “Thee it behooves to hold another course.” To my great relief, Lady Ada, the Countess of Lovelace, offered to serve as my guide in the quest of finding the true path but warned that the journey ahead would involve passing through the Software Inferno, a horrible place of eternal punishment for those who have committed sins in the realm of software development.
The countess bade me to follow, behind her I kept.
Ante-Inferno
“Leave every hope, ye who enter!” bore the inscription on the gate at the edge of the Software Inferno. Here were sighs, laments, and deep wailings resounding through the starless air. Strange tongues, horrible cries, words of woe, accents of anger, voices high and hoarse, so were the unwelcoming environs of the Software Inferno.
As we approached the Inferno’s edge, the countess said the woeful sounds we heard were those of software developers condemned to the Ante-Inferno. These developers were the wretches who could not decide whether they should for all time labor with conscience and morality using the skills of their trade for good, or to use those skills to promote evil, thievery, and illicit self-benefit. These were the hackers, the rogues, who either disrespected the true path by lucid choice, or failed to unambiguously endorse it by way of indecision. Both Heaven and Inferno have denied them entry, so they shall forever wallow here, tormented by ankle-biting bugs and typing on keyboards with the products of their strokes going nowhere, of importance to no one.
The countess beckoned that I follow her to the edge of a nearby river separating us from the first circle of the Software Inferno. Coming toward us in a boat, an old man with white ancient hair cried, “Woe to you, wicked souls! I come to ferry you to the other bank, into eternal torment, into heat and misery, into the Software Inferno!”
Into the boat stepped the countess, behind her I kept.
Canto 1: Limbo
The countess and I disembarked from the ferryman’s boat and found ourselves at the edge of the Software Inferno’s outer circle, also known as Limbo. The countess confessed that she herself was a Limbo inhabitant and had only been granted a short respite to act as my escort. She explained, “Through no fault of our own, we who have been condemned to Limbo are guilty only of being born too early in history, too young to have been aware of or to have properly paid homage to the visionaries responsible for shaping the software-engineering environment as you know it today.”
Among the luminaries I recognized joining the countess in Limbo were the likes of George Boole (formalization of Boolean algebra), Gottlob Frege (first-order predicate calculus), and Grace Murray Hopper (Cobol inventor). They, too, suffered from the same fate as the countess: being born too early in time to have shown proper reverence to software-engineering demigods such as Alan Turing, Grady Booch, James Rumbaugh, Ivar Jacobsen, Alan Kay, Bran Selic, James Gosling, and others contributing to the basis of modern software engineering.
Presumably in exchange for having lived virtuous lives, the lone merciful consideration bestowed upon the blameless souls relegated to Limbo was life in the absence of misery such as that suffered by the unfortunates condemned to the more inward circles of the Software Inferno.
On led the countess, behind her I kept.
Canto 2: Lust
As the countess and I approached the Inferno’s second circle, opine we did for the relative comfort of the circle we had just departed, as the inundating and blinding light emanating from the circle ahead bothered our eyes. It originally appeared as if the glow ahead was borne of a single source, but our ever-growing nearness showed that it was actually an assemblage of many individual light beams, each specifically focused on a single of the circle’s many inhabitants.
The countess explained that the sins committed by these woeful souls were ones of lust. It was not a fleshly lust that these tormented souls were guilty of, but a lust for power, fame, fortune, and riches, at the betrayal of reason, commitment, and responsibility. These miserable wretches salaciously stoked only their selfish desires, regardless of the impact to those closest to them, without regard for their personal integrity, and in absence of good conscience. Among the condemned here were those who ignored or breached their wedding vows, denied their children an involved parent, or failed to honor their own parents in old age. Their blind pursuits were made in the name of the next deal, the next promotion, the next bonus, or anything else that was a means of accruing celebrity, power, or standing.
It was here, amidst the doom of the Inferno’s second circle, where these obsessed souls would be eternally admonished with fitting punishment. A blinding spotlight focused on their each and every move, affording them the single-minded attention they had sought during their earthly days. So intense their illumination, the cylinders of light tormenting these souls prevented them from sleep and overwhelmed the natural blush of all that coexisted in the circle with them. For all of perpetuity, these ill-fated wretches were condemned to seeking shelter from the beams that followed their every move.
From the brightness led the countess, behind her I kept.
Canto 3: Gluttony
The countess and I slowly regained the comfort and use of our eyes as the extreme brightness of the previous circle waned. Coincidently, a new assault commenced on another of our senses in the form of horrible noises emanating from the Inferno’s third circle, which lay just ahead. A curious sight awaited as we entered this circle: its inhabitants had the bodies of pigs, but they appeared to have retained their earthly heads from past days. The most repulsive sounds of slobbery and crudeness came from their mouths as they wallowed from trash heap to trash heap, eating all in sight, attempting to satisfy their unrelenting appetites with an absence of any and all grace.
The countess explained the souls doomed here were guilty of wasteful, excessive, and inappropriate consumption during their past lives. Their gluttony was largely stoked by immense wealth had suddenly fallen upon them as the result of IPOs, buyouts, and soaring stock prices. Fueled by their newly found prosperity, they gorged themselves with the finest foods, drank to excess, became dependent on prohibited substances, and contentedly watched their bellies grow fatter and fatter as badges of their success. The wealth that they had acquired robbed them of moderation, self-control, and any remembrance of those in the world who knew not from where there next meal might come.
So did the gluttonous spend eternity atoning for lifestyles of their earthly days: eating filth-ridden, rotten, and vermin-infested scraps of food that were unfit for beast, let alone human.
Away led the countess, behind her I kept.
Canto 4: Greed
The rhythmic, metallic, clinking sounds emanating from the Inferno’s oncoming fourth circle were unlike anything my ears had heard before. The clamor became louder as the countess and I approached, and soon we were enlightened of its origin: pennies. Pennies were steadily falling from the sky, without end, often striking the heads of those wretches condemned to this fourth circle, and then clinking to the ground, striking other pennies that had fallen before them.
The Countess Ada explained the wretches condemned to the Inferno’s fourth circle had demonstrated a habitual pattern of greed for wealth and material in their earthly days. Among the casualties of this greed included the programmers, designers, analysts, administrators, testers, and architects upon whose backs their wealth was gained, with nary a hint of appreciation offered for their hard work, loyalty, and dedication in return. The countess continued to describe that many of these greedy souls failed not only to justly reward their benefactors, but also to give back to community, to charity, or to educational institutions with even the smallest crumbs.
The woeful inhabitants of the fourth circle of the Software Inferno were without shelter, and were forever under the deluge of falling pennies interrupting any attempt to sleep or rest, providing them ample time to reflect on their greed of past times.
The countess bade me to follow, behind her I kept.
Canto 5: Anger
My still-ringing ears were gratified to have been spared the raucous din of falling pennies. But, the red glow and heat emanating from the nearing fifth circle did not bode well for the potential discomfort of other senses. As the countess and I approached, the heat became more difficult to bear, and the source revealed itself: innumerable piles of paper rubbish burning with flames shooting up high into the sky. The pitiful souls inhabiting this arid wasteland were desperate with thirst and appeared intent in its reprieve by dropping their buckets into the many wells dotting the terrain, amidst the burning piles, and hopeful of lapping any cool water that might be contained therein.
The countess explained the parched wretches condemned to the fifth circle were the angry, those who poisoned their software organizations from the inner cores. Their incessant vitriol, opinionated bullying, unending negativity, and caustic attitudes destroyed all prospect of harmony and collaboration in the workplace, creating only strife and misery for those around them. Not only did these toxic souls decline to apply their self-proclaimed wisdom to act in the place of the leaders whom they condemned, but they also undermined the efforts of anyone who attempted to assume those leadership roles themselves.
As more closely I watched, the angry who had hoped for cool water with which to slake their thirsts instead spat the water out that they retrieved with their buckets, for it was poisoned, just as the workplaces they had poisoned in the past.
On led the countess, behind her I kept.
Canto 6: Heresy
The radiant heat of the previous circle soon yielded to metallic sounds that I believed to be shackles, clanking amidst irregular movement. As we approached the Inferno’s sixth circle, the origin of these sounds became more clear. Their origin was from the many groupings of exactly nine people, chained to one other, with each individual intent on trudging in a direction and pace of his or her own choosing.
The countess explained these chaotically traveling souls were strongly at variance with well-established beliefs and laws of software engineering developed by experts of the related subject matter. Their unabashed contempt for universally accepted truths spawned decision making that wrought great damage upon software projects in their charge. Some challenged Fred Brooks’ sacred counsel1 in futile attempts to rise above their failings by adding new people with woefully insufficient qualification to rescue already-late projects. Others flaunted their derision by disregarding software design patterns sanctified by the Gang of Four,2 instead opting for inelegance of their own in attempts to solve problems whose solutions were already proven, well known, and time honored.
The wretches condemned to this circle would spend the rest of eternity reliving the torment they had inflicted on others as the result of their heretical actions. As members of these shackled groups, they would be forever reminded how even the simplest of wills is difficult to execute in their number, and that nine people are not able to arrive at their desired destinations nine times faster than a single individual.
On marched the countess, behind her I kept.
Canto 7: Violence
As we approached the Inferno’s next circle, the sounds of clanking shackles gave way to agonizing cries of torment that would suddenly and forcefully begin, but then gradually fade into moans of hopelessness and despair. Again and again, and much to my horror, our ears heard this cycle of misery repeat. I was certain that my eyes would soon fall upon a torture chamber overrun with miserable souls being tormented and made to suffer by horrible monsters, but observed nothing of the sort. Instead, I saw many people on the ground that were either asleep, writhing in pain, foaming at the mouth, with discolor of skin, or showed other symptoms of horrible pestilence.
The countess explained the parched wretches condemned to the fifth circle were the angry, those who poisoned their software organizations from the inner cores.
The countess explained that these moaning scourges were condemned to the Inferno’s seventh circle for committing acts of software violence against innocent and unsuspecting people. In front of our very eyes were the phishers, malware creators, and cybercriminals whose acts of hostility caused damage on the wealth, privacy, and general welfare of fellow netizens. Some had even inflicted great strife upon the unsuspecting and undeserving simply for sport, as hobby, merely to dispose of their restlessness.
More carefully I watched, and now understood the cause of their despair. While these wretches slept, becoming defenseless and unsuspecting, small flying worms appeared from the sky, alit on their skin, attached, and deposited toxins in them to inflict unspeakable pain and suffering when they awakened. Some attempted to avoid sleep with hope of avoiding the worms that wrought the virus and disease, but it was for naught. Comfort and refuge for these wretches was elusive for all of eternity as retribution for their sins.
Onward strode the countess, behind her I kept.
Canto 8: Fraud
As we approached the Inferno’s eighth circle, the countess and I were besieged with an overwhelming stench that became more foul with each step taken. Which sins could have been committed by the miserable wretches here to deserve such reckoning? Explained the countess, “The souls condemned here are the frauds, liars, and deceitful: ones who feigned expertise, knowledge, and relevance of technology to others in their past lives, purely for their own advantage.”
Ahead of us dwelt the self-proclaimed advocates, crusaders, and evangelists of technologies such as UML, XML, Agile, MDA, object orientation, and the like. The fraudulent and deceptive were condemned here for having misdirected the adoption or usage strategies of technology on software projects in which they had had a role. These wretches willfully, and without apology, preyed upon the naïve and desperate, falsely convincing them that their pet technologies would bring relief to the torment-stricken for motivations of self-interest.
In the distance I spied a massive body of liquefied pulp, clearly being the source of the stench that fouled our nasal cavities. There were thousands of miserable souls wallowing in this morass, each struggling to stay above the surface of the simmering, bubbling, and putrid stew. Feeding this morass was a stream of material falling from the sky, in what seemed to be an endless supply. The countess explained that materials feeding the pulpy sewage in which these wretches floundered included unneeded UML diagrams, unachievable schedules, irrelevant training material, flowery PowerPoint charts, and other products the admonished had caused the creation of in their past lives. It was a fitting manner for the fraudulent and deceptive to spend eternity bathed in the stinking waste of their own creation.
On led the countess, behind her I kept.
Canto 9: Treachery
The Software Inferno’s innermost circle lay ahead, situated atop a great mountain of substance and color whose like I before had not seen. Higher and higher the countess and I climbed, amidst a stench that my nostrils knew not could be more foul than the putrid stew we had left behind in the eighth circle below. When we could climb no more, before us labored a countless number of wretches, dumping shovelfuls of the mountain’s body onto the souls of the eighth circle far below, providing the source of the noxious stew in which they wallowed. Said the countess to I, “The souls condemned to the ninth circle are guilty of sponsoring and acting upon errant guidance given by the fraudulent wretches stewing in the eighth circle with great impact to programs in their charge, without challenge, and in defiance of the more sage.”
Great had been the struggle to bite my tongue thus far on the journey, but no longer was I able. With consent of the countess, I called to the nearest wretch having a load of foulness in his shovel, “Sir, which act of treachery did you commit to be condemned to this horrible place?” Replied he, “I am falsely accused of treachery, yet guilty only of being deceived by the fraudulent.” Responded I, “Is it not treachery that you dismissed the counsel of your wisest sages, to the harm of your charge, because it came at the risk of forsaking the fruit and spoils promised by the fraudulent, upon which you relied for your own glory?”
Cried I to another miserable soul within earshot, “You sir, which treachery have you committed to be eternally condemned to a forsaken place such as this?” Replied he, “I am also falsely accused; my guilt is only failure to act against the angry.” Responded I, “Is it not treachery for you to force your people to drink from a poisoned well and suffer its effects while you contentedly drink from your private one having fresh water?”
As fate would have it, not only were the treacherous forced to languish amidst the stench of products whose creation they had sanctioned, but their backs also eternally strained under their burden.
From the Software Inferno led the countess, behind her I kept.
The Truth Path
Thus completes the catalogue of evil filling the Software Inferno, of the people condemned therein, and of the admonishments cast upon them. I observed much suffering, horror, and despair in my travels but am now much the wiser for having done so and am confident this journey provided the enlightenment necessary to restore my trajectory back onto the true path.
My journey served as a reminder that simultaneously placating the beasts of three—Cost, Schedule, and Quality—is even more challenging when working amongst those who commit sins such as those condemned to the Software Inferno. In fact, I now believe my inability to secure safe passage beyond these temperamental beasts early in my journey was a reprimand for not having worked more diligently to help rid past projects of such sins and sinners.
Proactive leadership, value-based action, and balanced judgment are required to tame the beasts of three. The angry cannot be allowed to poison the workplace, the fraudulent cannot be allowed to derail the common good, and the treacherous cannot be allowed to lead with a wayward compass. Developing quality software, on schedule, and within budget is difficult enough without also having to deal with avoidable and crippling disturbances.
With my journey complete, I must now make haste and return to my earthly existence. Shout must I from the highest mountain all that the countess has shown me to be the true path. Leaders must heed the sage, create harmony, and actively rid workplaces of scourge. The self-absorbed must take inventory of their lives and readjust their priorities. The successful must remember those who help them succeed, and share fruit.
Many more will be my shouts as the result of what the countess has shown me to be good. But lament I do not having any special power to make well the ear of the deaf, to sway the stubborn, to soften the angry, or to enlighten the fool, because it is for souls such as these that the Software Inferno patiently awaits.
Related articles
on queue.acm.org
Death by UML Fever
Alex E. Bell
http://queue.acm.org/detail.cfm?id=984495
Coding for the Code
Friedrich Steimann and Thomas Kühne
http://queue.acm.org/detail.cfm?id=1113336
Software Development with Code Maps
Robert DeLine, Gina Venolia, and Kael Rowan
http://queue.acm.org/detail.cfm?id=1831329
Join the Discussion (0)
Become a Member or Sign In to Post a Comment