DEV Community

Cover image for What Software Developers can learn from Gutenberg
Thomas Hansen
Thomas Hansen

Posted on • Updated on

What Software Developers can learn from Gutenberg

Before Johannes Gutenberg invented the printing press, there was only one book for all practical concerns in the western hemisphere. This book was the Bible. The price of one Bible was the same as the price needed to buy a medium sized farm, capable of sustaining a household of 20+ people. In today's money this would probably be at least 2 million dollars, maybe as much as 5.

The reason why a Bible had such a price tag, was because the job of assembling a Bible was insanely resource demanding. It would take one monk about 18 months to manually copy the text from one of his existing Bibles into an empty manuscript. This ensured only the rich could afford to buy a Bible, and we don't have many Bibles today from that period for these reasons.

Today if you visit London or New York, evangelic born again Christians will throw Bibles at you from street corners, shouting at you "Have you seen Jesus?" The cost of assembling a Bible today is probably less than 2 dollars. Some simple math with your calculator hence concludes with that the price of assembling a book has dropped 1 million times, from 2 million dollars 550 years ago, to 2 dollars today. This price reduction on books is often by scientists contributed as the sole reason we are living in an enlightened society, based upon reason and science, because as the price for books dropped, the market for alternative books increased - Implying books not being the Bible started becoming popular.

This effect is easily understood by realising that nobody would have heard about Isaac Newton, Rene Descartes, or any of the other "champions of science and enlightenment" unless these revolutionaries could somehow spread their teachings through books and the written word. Think about it like this; No Gutenberg, no science, no Newton, no Descartes, no modern medicine, no enlightenment, no modern education system, no computers, no cars, no internet, and no world wide web. In fact, the only reason why I can use DEV today to write this article, is because one guy had a great idea 550 years ago, and that guy's name was Johannes Gutenberg. If the Origins of Species by Charles Darwin was the most important book ever written, the printing press was definitely the most important invention. Besides, no Gutenberg, no Charles Darwin. Without the printing press, we'd still be living in the middle ages, with superstitious belief systems, and possibly the inquisition and witch burnings still infesting our daily lives.

The printing press created modern society

Software development automation

As a software developer I sometimes feel like one of those monks from 550 years ago, sitting by the light of my candle, copying Bibles to those willing to pay for my work - And similarities are to be found everywhere. I won't dive into them in too much details today, but 550 years ago 1% could read and write, today 1% can create software. History is repeating itself ...

We need to automate the software development process the same way Gutenberg automated book production

The above has been my sole obsession for more than a decade, and we're arguably closing in on our goal too. The lessons (and objections) are very similar. 550 years ago monks would say; "This isn't a 'real' book, it's got no illustrations, it's got no soul, it's built with cheap paper, etc, etc, etc".

From their point of view such arguments made perfect sense, because they could see the writing on the wall, which was that their days were numbered. However, for those who embraced the future instead of fighting it, new professions emerged, such as working in print shops, selling books in books stores, becoming an author writing creatively instead of copying stuff, etc, etc, etc.

Evolution itself even describes this problem as a "local evolutionary optimum". Software development as a profession is such a local evolutionary optimum. However, like all local evolutionary optimums, it's destined to collapse over time. I should know because I read about it in a book ... ;)

550 years ago we copied the Bible, today we copy from StackOverflow. Seriously, can you explain the difference to me?

It's literally that simple. Software developers are the new priesthood, and we've got just as many superstitious belief systems and dogmatic perceptions as the old priesthood. There's no (real) difference here ...

If you want to see how far me and my team has made it in regards to replacing this priesthood, you can register a Magic Cloudlet below in 5 seconds, and have your own "printshop", where you can produce software a million times faster than your average 21st Century monk.

Discussion (8)

Collapse
mshafiey profile image
Mohsen

It was an interesting comparison

Collapse
polterguy profile image
Thomas Hansen Author

Thx mate :)

Collapse
nombrekeff profile image
Keff

Interesting read! I've thought of this before, sometimes I feel like that monk too

Collapse
polterguy profile image
Thomas Hansen Author

Hehe, thank you :)

Collapse
pyrsmk profile image
Aurélien Delogu

Interesting comparison of what the Bible cost in the middle age against today!

But I don't r really follow the analogy, because Gutenberg did not automate the creation process but the copying process. I don't think we can automate some coding processes because we'll always need someone to translate the needs of one client into a logic layer. We also cannot automate researches, many things in video games, etc...

Automating is important, it ensures that we're not losing time so we can optimize our processes and costs. But IMO the developer still have many things to do in its daily life that cannot be automated, by principle.

Collapse
polterguy profile image
Thomas Hansen Author

I partially agree with you, however as to ...

Gutenberg did not automate the creation process but the copying process

First of all, if you're anything like the average coder, most of your code is copied and pasted from StackOverflow. A lot of your code is also probably templated code that you're copying and pasting around. An example of the latter is if you've created one Angular Material Table, you've created all Angular Material Tables. A third example is generics and template code, allowing us to "solve QuickSort once" due to allowing for it to "sort anything" by creating a Sort method that's a generic method, taking two elements by reference, assuming the callback returns which if "first". "Templated code" is arguably how Magic works.

Fourth, and most importantly, Gutenberg might not have automated the creation process, but so did certainly Andy Warhol. I'm using Andy as examples in my McDonalds article and how he automated the creation process. He used Xerox copy machines to create art that's currently being sold for hundreds of millions per piece ...

Collapse
kingcan37 profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
Sean Canning

I do agree with some points but you mainly come off as biased and pretentious :(