One of the main things I learned when I learned to paint with oils is how deeply the characteristics of the materials involved — canvas, gesso, oil, pigments, solvents — influence the form of the work. As a painter, you think differently when working with oils than when working with acrylics or watercolors.

The same is true for any creative endeavor. Whether you’re designing a new evening gown or the landscaping for a vacation home, your thinking about the subject (and hence the form of the final output) will be deeply informed by how well you understand the constraints and possibilities afforded by the materials.

The more mastery you have over the medium, the more effective you’ll be. Mastery calls for more than conceptual knowledge. Conceptual (or “book”) learning is not enough; you need hands-on time with the object of your design to understand what it can and can’t do.

One of the perennial discussions among UX design practitioners is whether or not they need to know how to code. While I don’t believe designers must know how to code, I’ve observed that designers with first-hand knowledge of what code can do — and what it takes to implement things in code — are more effective. Designers who know code communicate more clearly with developers, and have more realistic expectations of what the medium can accommodate. They also have a better understanding of the possibilities the medium affords and can suggest options that wouldn’t have occurred to them otherwise. The result is better outcomes, done faster and with less pain for everyone involved.