There’s a rather thought provoking article by David Mitchell at The Guardian site
right now. It’s relatively short and worth reading, and I say that
even as someone who isn’t all that interested in the NHS project that
frames the article’s opening paragraphs.
Mitchell makes two points that I found myself both agreeing with as a
developer and sysadmin, and leading me to further thought. First:
Nothing sharpens the brain like a whetstone of tedium
In the context of our work tedium could be any number of things. For
some it’s documentation, labeling cables, seemingly minor manual
config changes made in production up or the ever present yak shaving
in some form or another. A drive to erase this boredom or tedium has
resulted in many of the excellent tools in use today, such as Chef,
Puppet, and other powerful automation software. Repeated slogging
through boring steps led someone to think “I can do this better”.
Of course, not all tedium is bad and needs to be eliminated. In
programming there’s no substitute for the hours of typing code in an
editor that improves your grasp of a language, the way repeated
physical exercise hones the body. The ability to focus for increasing
lengths of time on a given problem or task is a valuable skill. Ones
mental acuity, that ability to concentrate, focus and understand, can
be greatly improved with effort. These are valuable skills that
improve over time, accompanied by some percentage of tedium, the way
practicing scales may see to a new guitarist.
The second point Mitchell makes actually comes from Alex Hope,
co-author of the recent
Next Gen report:
Coding is the new Latin. He is also quoted in a recent BBC news article by Rory Cellan-Jones
Computers are here to stay and yet for the most part many still view
them as “an imposition, a distraction, something stultifying that
dominates our lives but we somehow feel shouldn’t”. The way they are
explained and taught is a perhaps a direct outcome of this, sometimes silently unacknowledged, viewpoint.

…even a rudimentary knowledge of Latin cuts down the labor and pains of learning almost any other subject by at least 50 percent.
Code needs to be the common language to teach people about the world
we now live in. The perspective and understanding gained from learning
to solve even a simple problem using python or ruby can give people a
sense that these machines they now depend on are not so foreign or
unknowable. It certainly does more than teaching them how to SUM
numbers in a spreadsheet.
David Mitchell compared code as Latin for the assumed tedium, but I
think it can be done better. Everyone should be able to at least read
and understand the flow of some code.
One of the most intriguing things I’ve noticed about the devops
movement is the emphasis on a culture of inclusion and instruction.
This is one of the main reasons I enjoy being a part of it. Certainly
learning to code is not generally an issue with people who are either
in development or systems administration, but we need to continue to be
better at instilling our love for what we do and why we do it in
others. Not just within our culture or respective fields, but
everywhere.
In a healthy organization no one should be content to
just “throw code over the wall” or not think about how all the pieces
fit together. We’re certainly working to change
that, but it can go further. Everyone who touches computing resources
in an organization can have a basic understanding of ‘what makes it
tick’. They may never be driven to tinker and make changes on their
own, but they can be helped to see and appreciate the inner workings in a favorable light.
We shouldn’t be keepers of some ivory tower but instead mentors and instructors,
sharing excitement and understanding, the very thing we should already
possess and that brought us to the field we are in. I believe teaching others to
code and to understand code, even though they may not choose to do so
themselves, can have a significant impact on their comfort level and
enjoyment in working with the tools we use today.