When interviewing software engineers, I often ask ‘what is the most important skill for software engineering?’ I am not sure what answer I expected to get before I started to ask this question. Maybe something around mathematics or logic. Perhaps, I was looking for insight into computer science itself. Over the past ten years, I have consistently gotten the same answer.
Critical thinking.
I now expect this answer, so when I get it, I probe with some follow up questions.

How do you apply critical thinking to code?
How do you apply critical thinking to the environment in which the code will be used?
What other skills contribute to critical thinking?

I also work with a great many people in the design profession, directly at TeamFit and Ibbaka, through the larger innovation and design thinking communities, and at home where my wife and three adult children all work in one area of design or another (furniture, apparel, architecture and object).

I have begun to probe for critical thinking as a core skill for designers as well, and to try to support and cultivate it among young designers.

Two skills closely associated with critical thinking on TeamFit are ‘asking questions’ and ‘active listening’. This makes sense. Critical thinking implies that one not take assumptions at face value and dig in to uncover the biases and frozen accidents that lie behind most design (whether the design is in code, images and models, or some combination of both). Asking questions is not enough, one must also be able to actually hear the answers. I find the latter much more difficult.

Another skill that underlies critical thinking is the ability to put things in a larger context. This generally requires domain knowledge of some form. So when interviewing software engineers or designers for critical work, I try to understand the contexts they have worked in and the breadth of their domain knowledge. Critical thinking plus knowledge of at least two domains is needed for real excellence. When looking at the skill map for a designer, look at both the foundational and the domain skills, and not just the design or tool skills. Here are the foundational skills of one top designer.


The same person has only a couple of foundational skills on TeamFit. Does this undermine my hypothesis or show gaps in the TeamFit data? I think the latter, so finding ways to get a more complete picture of people’s skills and experience is a key design goal.

On the other hand, this person has a rich set of design skills.

I think this is actually a symptom of how most of us, myself included, think about our work. We focus on the skills we apply day-by-day but neglect the foundational skills that all of our working skills are built on. This is true of individuals but also of companies. How much does your company invest in building foundational skills like critical thinking and learning compared to its investment in training on tools or processes? But to test this, let’s look at the skills of another designer, this person also has an active arts practice.

Foundational skills.

Doman skills.


Hmm, another person with lots of design skills and few domain skills. I wonder if this is a common pattern among designers and software engineers, a focus on the very demanding skills of their trade.

The other foundational skill that we try to cultivate within our group is ‘learning.’ I looked at my own foundational skills and to my surprise learning is not one that comes up! (I do like that I have some foundational skills where I am still a Newbie or Learner, there is hope for me yet. One of these is ‘managing ambiguity,’ something I am actively working on.)

Reflecting on this, I find that I too spend most of my time learning specific things and relatively little, almost none really, thinking about how to be a more effective learner. As a result, it never occurs to me, or to anyone else, to call out learning as a specific skill. StrengthsFinder did capture this though. My top five StrengthsFinder strengths are Strategic, Achievement, Ideation, Input, Learning. Working out how to integrate Belbin Team Roles and StrengthsFinder with TeamFit is one of our active research themes.

What I take from this walk through a few people’s foundational skills is that (i) TeamFit as an organization must get better at understanding and supporting its people’s foundational skills and (ii) I need to spend more time in a reflexive mode, where I am working on how to improve my own foundational skills.