What do non-programming designers have to know? | Janet H. Murray’s Blog on Inventing the Medium
My colleague, Janet Murray, wrote a nice blog post (linked below) identifying what parts of programming that designers need to know. There’s a significant intersection with the CSPrinciples work. She points out that the purpose of a designer learning programming is not to get them to build things for themselves — she says that that would dramatically limit the designers. Instead, she wants them to understand how code is created, what it can do, and how flexible it is. It’s very much about developing a mental model of a notional machine and gaining procedural literacy.
But even expert programmers, especially the self-taught ones, can be ignorant of the key architectural principles that make for good design: information abstraction, modularity, and encapsulation. So I would encourage any designer with a desire to learn programming to become as expert as they can at it because it will help them to think procedurally and to understand the plasticity of the medium. But I’d also remind them that it is the principles of computational architecture that will last them over their career, not the coding.