Tech Mentorship Starts With a Mental Model

Published on by David VanDusen.

What does a software developer look for in a mentor? Does it change over the course of one’s career? Do different people need mentors with different approaches, and are there qualities that a mentor can have that work for every mentee?

These kinds of questions have come up regularly as I moved into the latter part of my career. Since I shifted from independent contracting to working for companies around ten years ago, I’ve been given the privilege of being a mentor to new and experienced software developers in various roles: team lead, instructor at a school, staff developer. The conversations that came out of those questions have opened my eyes to how different people approach acquiring software development expertise, and how different mentors approach guiding their mentees.

Software development is a sea of interrelated technologies. Simply knowing which technologies are relevant to a particular task is beyond the horizon for many who are new to the field. A common thread I’ve seen in successful mentorship relationships is the ability to chart the network of technologies that a developer knows and use that as a tool to navigate their growth.

In my experience, having a way of visualizing or metaphorically representing the knowledge of another developer can be an invaluable tool for helping them engage with new tasks and providing succinct direction. I recall mentorship sessions being exceptionally fulfilling when I employed this technique; I guided someone into unfamiliar waters, but they always knew how far they were from the safety of a technology they were already confident with.

The mental model I like to use when working with another dev looks like a map of islands in an ocean. Every technology that someone has expertise with is a land mass that peeks out above the waterline. The size of each island represents the confidence they have with its technology. Technologies that they see as related are near each other in the ocean, representing how easy it is to navigate from one to another. As related technologies are used and the confidence grows, islands may merge into each other. This represents the point when thinking about those technologies becomes holistic and travelling between them is effortless.

IP
TCP
TLS
HTTP
HTML
DOM
JS
CSS
Sass
JPEG
PNG
GIF
SVG
XML
JSON
SQL
An illustration showing technologies a web developer might learn represented as islands in an ocean.

The map can never be complete nor perfectly accurate. However, knowing a general direction to go is better than navigating completely in the dark. For example, if the above illustration is a representation of the current strengths of a dev, and they find themselves stuck debugging a program running in a web browser, knowing that there is a gap between how their understanding of the DOM and JavaScript, there are clear ways to bridge between them.

IP
TCP
TLS
HTTP
HTML
DOM
JS
CSS
Sass
JPEG
PNG
GIF
SVG
XML
JSON
SQL
Problem!
Identifying gaps in knowledge can be done by seeing how easily a dev traverses between technologies they already know.

Visualizing the situation this way might lead me to ask clarifying questions in an effort to bridge that gap. In this circumstance it might lead to an exploration of the browser’s DOM inspector, debugging console, and setting some breakpoints in the JavaScript source in order to watch the data structures as they change.

IP
TCP
TLS
HTTP
HTML
DOM
JS
CSS
Sass
JPEG
PNG
GIF
SVG
XML
JSON
SQL
Debugger
A new technology island created between two distant ones helps to bridge knowledge gaps and starts building confidence in a new area of the water.

As lucky as I’ve been with this mental model, yours will be different. However you visualize it, learning new tech is always easier when new knowledge can be tied back to something we’re already confident with. So, when you go to mentor another dev, try to develop a mental model of the technologies they have confidence with. It might help to give direction that leaves them feeling empowered to build robust connections between their existing expertise. 🏝