Mental models are at the root of all teaching and learning.

Jakob Nielsen defines mental models from a UX perspective: “A mental model is what the user believes about the system at hand.”

James Clear, in a fantastic story about mental models, brings it back to its essence: “If all you have is a hammer, everything looks like a nail… When a certain worldview dominates your thinking, you’ll try to explain every problem you face through that worldview.”

When we look at web technologies, they are dominated by all kinds of mental models.

The new JavaScript programmers, those who came to the web in the last 5 years or so, believe that the web is JavaScript-first, with HTML and CSS as annoyances that never “work” correctly. Those who have been in the web field for over 10 years know you start with semantic HTML, layer on the CSS for styling, and use JavaScript sparingly. However, when we’ve taught the JavaScript-first model, we wind up with the modern day messes we see dominating the world of custom development.

One of the big advantages I bring to the technology space is a breadth of knowledge in many areas. I started with Dreamweaver and HTML, later bolting on CSS. I moved on to pushing content management systems to their limits. I learned in a time when we didn’t have a zillion command-line tools for managing files. I started working with CSS when there were no browser developer tools. All I had was the HTML and CSS from “view source.” I had to figure out what was broken on my own.

Now as I make the switch from teaching code to teaching no-code, there is so much I bring to this new world.

  • I can ground the problems that no-code tools solve in coding language. Or not.
  • I can frame the problems no-coders encounter in the words of a model that speaks to them.
  • Someone needs to teach HTML and CSS to those who will not use it professionally. Our current courses assume you have 27 different command line-based tools and make it look so difficult. But yet, we provide the “CSS editing box” for those who want to dump in their custom CSS. If you’re going to put CSS in that box, you have to know how to write it. And in some ways, this problem is more difficult than what the professionals face. Have you SEEN the crap that passes for HTML these days? Have you tried to override it?
Jen Kramer @jen4web