Misconceptions Surrounding Designers Learning to Code
Screen-based digital products have very clearly defined limitations and established platforms. Designing for a two-dimensional screen with a cursor and keyboard is relatively simple. With little knowledge of the underlying technology you can sketch out solutions that very closely resemble the final product. With your two-dimensional sketches, you can get feedback and interaction from users and iterate toward a design solution that exists within a framework with which users already have an established association. In emerging technology, that established platform does not exist, and the few limitations that do exist are far less defined.
Sketching with Code
Designers need to learn to code. They do not need to learn how to write production-level .NET web applications that are going to be pushed out to servers and used by millions of people. The type of coding that I’m referring to is a sketching medium that comes from a place of exploration, and it has very little to do with final implementation. This type of design coding is quick and dirty, relies heavily on frameworks, and is more about proof of concept than actually building a product that can scale up and be extended when needed.
Related to the conflation of code and implementation is the idea that when a designer learns to code she’s making a career change, that knowing how to code makes you a developer. A lot of these misconceptions come from our compartmentalized ideas of what it means to be a designer and what it means to be a developer. The current pervasive relationship between a designer and a developer is that the designer will make nontechnical decisions around the structure, functionality, and appearance of a product, and the developer will implement those decisions the best he can. How this relationship changes in designing for emerging technologies is that the materiality in which the designer is designing with the technology and data itself. For designers to have the command that they’re used to having in more established platforms, they must be able to create prototypes and interpret the data that our prototypes produce.
In terms of technical skills or traits that are needed for design in emerging technology, the most important among them by far are curiosity and the willingness to learn new skills to make things. The boundaries of what you’re designing are practically nonexistent, so there’s not a single set of skills that you must learn. For example, to prototype a sensor network within a physical space to a similar level of fidelity of a static pixel-based wireframe, an emerging technology designer would need to have a very basic level of knowledge of computer programming, microcontrollers, sensor technology, wireless networking, three-dimensional modeling/printing, data collection, data structure, and data visualization. I am in no way saying that you need to understand any of these things before beginning a project; you just have to learn them as you go and slowly build your skill set as you encounter those problems.