A long time ago, in a mainframe far, far away …. there was the programmer priesthood.
Back at the dawn of the computer age, post World War II, computers were these hulking behemoths that took up whole floors of buildings and required industrial strength air conditioning units to keep those computer monstrosities cool enough to operate properly.
And they certainly weren’t cheap either. We may complain about our $1000 iPhones and our $2000+ MacBook Pros, but these prices are PEANUTS compared to the multimillions of dollars it required to purchase these first-generation computer systems back at the earliest dawn of the computer age.
Of course, it wasn’t just the prohibitive cost of purchasing and keeping these systems up and running that meant only the military, government and universities could afford them.
In order to program one of these computer systems, one had to be part of the digital “priesthood”, a small sect of designated technical staff who could actually use and program these computers. You really needed to know your stuff to learn how to program these first-generation systems.
But back then, you needed specialized hardware and knowledge of low-level computer languages or assembly language (very difficult to comprehend) in order to harness the power of these early generation machines.
It’s probably hard to imagine now, but those systems back then were on a “timeshare architecture”, a little bit like a timeshare on the beach. Only one person at a time could use one of these mainframe systems at a time. You actually had to sign up for a particular time slot of the day (or night) in order to use the computer.
Let’s not forget that these first generation systems used physical punch cards to feed instructions into the computer. And woe betide that poor, first-generation code monkey if they accidentally dropped the punch cards on the floor! The cards had to be in the exact order the programmer designed them for, and if even one was out of sequence, it would muck up the execution of the entire program.
Compared to even the most mediocre and underpowered computers and smartphones we have today, those early systems positively pale in power, speed and capacity. Those early programmers were always constantly worrying about optimizing their code to make sure it could fit within the tiny memory and disk space confines.
Prohibitively expensive, difficult to program, and forced to run in a batch, timeshared architecture, I almost feel BAD these first generation programmers had to deal with all these difficulties as software developers.
Of course, a lot of water has gone under the bridge since those earliest days of first generation computer systems.
Computers are infinitely faster with CPUs and storage capacity these days. Even the cheapest, bargain basement computers and smartphones can run circles in their sleep, compared to the first generation systems.
In terms of computer languages, I’ve actually lost count of the number of languages a software developer can choose from to program a computer.
The software compilers and programming editors and environments these days are far ahead of the simple text editors available back then. Many modern editors can autocorrect programmer code in real time, and offer helpful suggestions to correct errors and optimize your code.
The days of timeshared systems where you had to program your computer in a passive batch process are long gone as well.
Many modern programming environments allow you to type in code and see the results of your code in real time.
In fact, the whole concept of a small priesthood of highly specialized software programmers is an outdated one.
The earliest generation programming languages were very cryptic and hard to read. It took a lot of code to accomplish something useful.
But computer languages have evolved greatly since those early days…they are much more expressive nowadays. Many of the higher level languages almost resemble human languages now. They’re much easier for us puny humans to understand, and thanks to our compilers, translate those human-like languages into the low-level native tongue which computers actually need to process and execute correctly.
In fact, the days of writing new applications from scratch, while still a very much part of software development today, is certainly not the ENTIRE software development landscape.
The Age of the “Business Casual” DeveloperThe age of the 'business casual' developer has arrived. Click To Tweet
No longer do we need a priesthood of dedicated software engineers to get computers to do our bidding.
Many of the everyday applications we use on our computers are very open to tinkering and customization.
Even in the earliest version of the web browser, there was a handy little tool named “View Source”.
What it did, when selected from the browser menu, was display the raw HTML source code of a web page.
This was an incredibly useful feature.
I still clearly remember a non-programmer work colleague telling me about this “view source” feature. He often used it to examine the contents of a web page.
It taught him the structure of HTML, which is the raw coding language behind a web page.
Keep in mind my work colleague was a business analyst, not a computer programmer.
Yet this handy little view source tool gave my friend enough knowledge and know how to eventually learn how to create his own web pages.
In a sort of back door, stealthy fashion, he essentially became a “business casual developer”.
In fact, his skills were so good, he was eventually able to create interactive websites outside of work on freelance projects.
All thanks to the power of a web browser that gave him a little “x-ray” vision into the innards of a web page.
This is the kind of power many applications offer today. They often possess the power of “scriptability”.
Microsoft has had baked scriptability and the power to extend the functionality of their flagship Office suite of software (Word, Excel, Powerpoint, Outlook) for many years now.
With a little bit of scripting know-how, a business-oriented person who uses these kinds of productivity applications on a daily basis can learn how to extend their functionality and fine tune these applications to perform custom functions that deliver specific business functionality.
Believe me, it doesn’t take that much time or effort to learn. I’ve known several business analysts who haven’t touched a line of code in their life, but did a little bit of research and analysis and learned how to customize these productivity apps to do their bidding.
The age of the “business casual” developer has certainly arrived.
And if there’s one surefire way to raise your “stock” to your employer, it’s adding additional value-added skills like scripting and programming to your repertoire.
Who knows, you just might like being a business casual developer so much, you could end up a “formal dress & tie” programmer before you know it!