Scribes were valued professionals in the ancient Egypt. Being a scribe came with benefits such as not having to worry about mundane tasks like manual labor, taxes or serving in the army. The profession required a long training. Frequently the knowledge and title were passed on from fathers to sons.
Scribes were valued, because they had mastered the art of storing information on inanimate objects using the magic of writing. This was an extremely important task, not due to the artistic value of Egyptian literature, but due to the massive need for storing information generated by the society, mainly in governance and commerce. Scribes were not valued for the eloquence or clarity of their writing. They were valued for writing itself. Speed, accuracy and beauty of their writing were relevant factors when choosing a scribe. It was also important to be able to build necessary tools, like paper and inks, since you couldn't just walk to a store and buy them.
Why don't we have scribes anymore? We do. We're all scribes. Writing isn't a task only a select few of us are fit to master. It was difficult to master, but the reasons were that it wasn't taught widely, and the ways how it was performed were extremely laborious and complex compared to modern techniques. We didn't know better at the time. Much like erosion in nature, sharp edges in the ways we communicate tend to wear down leaving just the essential features needed to get the message across.
The profession of scribes did go through some steps between the almost holy status and the present day. Some of the simpler cases were automated. As writing and reading were becoming more commonplace, many specialized areas developed into separate professions. Some became accountants. Some became journalists. Some even decided write their own books. Different domains had different requirements.
And now for something completely differentish.
Programmers are valued professionals in the present day. Being a good programmer comes with benefits, like generally not having to worry about employment or sufficient income. Armies are also interested in having armies of programmers in their ranks. Being a good programmer requires a long training, and even after formal training one needs a lot of practice.
Programmers are valued, because they have mastered the art of storing actions on inanimate objects using the magic of programming. This is an extremely important task, not due to all the interesting things programmers are capable of instructing computers to do, but due to the massive need to act based on information generated by the society, mainly in governance and commerce. Programmers are not valued for the cleverness and correctness of their code. Speed of development, lack of obvious errors and beauty of the user interface are relevant factors. It is also important to be able to build necessary tools, like automation scripts, since you can't just expect the same ones to work with different requirements and environments.
Programming is hard. It's hard for us, though, not because there are hard and even undecidable problems we're trying to solve. Programming is hard, because it's a new area and we haven't figured out how to do it properly yet. We haven't had the generations of erosion to weed out some of the worst ideas we've implemented early on. What's worse, we've gotten really good at hiding unnecessary complexity under layers of tools and abstractions.
There is a lot of inertia, but the profession is slowly changing. Trivial programming, such as shoveling well defined information from one place to another in a specific way, is going to be automated. Data scientists do write short programs, but only to the extent they need to accomplish the task at hand. Same goes for AI. Some are coaching domain experts to describe what it is they want in an accurate enough way for it to be implementable as a program. Different domains have different requirements.
Although there are interesting parallels between scribes and programmers, the situation is in a sense worse. The concept of a program is in part an artifact of the scarcity of skills and available labor for producing them. Just as we don't need to own thousands of cards written by scribes saying all the possible things we might want to say, we don't need to have programs written by someone else for doing all the information processing tasks we might wish to perform.
Instead of more feature packed software, libraries and standards, we will hopefully end up with cleaner ways of expressing what to compute. This could look like, or sound like, a mix between natural language and development at an interactive read-eval-print -loop.
In this sense we haven't even reached Egyptian scribes yet. We can barely speak.
Posted: 14.8.2020 by aoh