I had just run across this quote:

“We build our computer systems like we build our cities - over time, without a plan, on top of ruins.” — Ellen Ullman

…and was prompted to search the web for the author. Wasn't at all disappointed when I read this interview, and decided to share.

Demistify what? Modern code is a construct of patches over patches over hard-coded parameters that nobody understands how it works as a whole and nobody dares to put it through formal verification.

Airplanes crash, money is lost, data is stolen but nobody seems to care.

So we will keep winging it.

I really loved "Life in Code". The book's combination of intimate autobiography and job description, and a somewhat outsider's view on programming, which she sort of stumbled into, just felt right.

I also liked the interview posted by OP, it summarizes her opinions in a slightly different format. I somehow managed to miss it when I searched for interviews with her after reading the book. Thanks OP!

Things from the book that reverberated with me:

- Her relationship with her father, how she wrote some code to help him with his business. This mirrors a very similar experience I've had, writing simple applications for my dad during junior high and high school to help him with various things for his job. That was a sort of bonding between us.

- Her work in IBM, and how soul-crushingly it was, also reminding me of my first few months in a "real" job.

- Her work in a sort of artists' collective as a young woman, and how they slept in a remote farm and helped the farmer there. Which is wholly different from my own experience and therefore like a peek into a distant world, and yet very real.

- Her fluid sexuality - she had a girlfriend but is now married to a man, which the book mentions in passing but doesn't make a great deal of, which I found refreshing.

Edited to add: - Her descriptions of how San Francisco has changed over the years by the technology boom and bust cycles.

- How she almost became one of the first employees in Google because Larry Page was interested in her opinions.

And that quote from this book already referenced in a sibling comment, “We build our computer systems like we build our cities - over time, without a plan, on top of ruins.”...

That quote also affected me deeply since it has a deep connection to my day to day work. For the last decade I've been part of a changing team, maintaining a big sort of internal legacy system, that is sort of mission critical, which started as a messy semi-personal project years ago, and then grew and grew to the point where no one knows it all.

I've printed out this quote and hang it above my desk. I don't explain it to people, but the ones who bother to read it nod their head in understanding.

jbq wrote fantastic essay on a similar topic, Dizzying but Invisible Depth [1]. There was also an HN discussion at the time [2].

[1]: The original was posted on Google+ and is, of course, long-since gone. Wayback machine also doesn't seem to have captured it, but I found https://josh.works/dizzying-but-invisible-depth, which matches what I remember.

[2]: https://news.ycombinator.com/item?id=3115951

Demystifying code is a bit like asking biologists to demystify DNA. Is it going to happen any time soon? Doubt it.
"Close to the Machine" is a great book. I often think of the passage in it where the author is offered a large sum of money to take the job of maintaining a legacy system, but turns it down because it would be such a soul-crushing task which she could see in the person who was offering the job.
Read Ellen Ullman's "The Bug," an excellent novel[1] about one man's fight against a C bug.

[1 ]: https://www.goodreads.com/book/show/138805.The_Bug

The larger an organization grows, the more complex and arcane and bureaucratic it gets. More and more weird emergent behavior pops up that isn't directly related to the original charter of the organization. Companies, governments, academic institutions... all across the board.

Is it any surprise the code we right at the direction of these organizations does the same thing?

In other words, I don't think it's our relationship with code turning us into automatons. I think its our relationship with each other that pushes both our organizations and our code into those paths.

Perhaps I have been reading too much about the Wirth-descended programming languages, from Pascal to Clascal/Object Pascal, Modula-2, the Lilith workstation and Oberon the language (for which there are many implementations that cover almost all OSes and architectures); but I wonder if Wirth languages were more prevalent, with their emphasis in regularity and ease of reading... would the tone of this discussion be different?
I wish Peter Welch would take on the challenge of demystifying code, he's already written a fun diatribe on (against?) programming that even non-programmers can enjoy. See here: http://www.stilldrinking.org/programming-sucks
"There must be a new army of programmers who can question the intentions in the code. When our social and political adversaries are armed with algorithms, we, too, must take up the study of algorithms."

Good luck with that 'new army' thing.

You can hear the calls growing daily, in the EU, from Elon Musk, and from the political classes: "make the algorithms public."

Reality check, coming right up.