Once upon a time, there was a female software engineer. When she studied mathematics at university, she was one of a tiny minority of female students. That was the first time she internalised the idea that women can’t do the same things that men can do. The evidence was in front of her eyes. And it was there again when she switched to software engineering. In her first job, she was the only female developer. And compared to her colleagues, she was a late developer. It seemed they had all taught themselves to code as children and teenagers. But this was the mid 90s. She attended university in the early 90s, where she never owned a computer and barely used one until after she graduated.
A few years later, in her second software job, she kept asking to work on the more difficult, more interesting, code bases… but she was always denied. When she interviewed for a more senior position elsewhere, she was told she didn’t know enough. She wasn’t surprised. It confirmed all her worst suspicions about herself.
Twelve years into her career, she was laid off and it was a relief. She had never felt like she belonged. She didn’t want to work in IT any more.
Here’s a question for you: Do you ever have to Google anything related to your sphere of expertise? When you do, do you shame yourself for it? Do you feel as though you’re supposed to know everything, and there’s something wrong with you if you don’t?
If you feel this way, you’re not alone. The woman described above is me. But now I’ve been doing this for over 23 years, and I make a living out of teaching software engineering skills. Does this mean I’ve finally reached the “comfortably confident that I know all the things” stage of my career? Nope. Quite the opposite.
The more I learn, the better I understand how little I know.
These days, when I find myself beating myself up for my ignorance (and I’m sorry to tell you that I do still beat myself up), I remind myself that learning is a fundamental part of this profession. Rather than worrying because you still have stuff to learn, you should instead be concerned if you don’t.
But even when we know on some level that this is true, it’s not always what we tell each other. And as a result, we do untold damage by making each other feel stupid.
What if we didn’t do this? Imagine a world where you arrive at your desk each day excited about learning new things. Where you never worry that you don’t know enough. Where there is no such thing as imposter syndrome. Because it turns out that being an effective IT professional is not about what you know. But we think it is — and that causes problems.
I left the industry because I felt inadequate and stupid. It seemed that everyone else knew more than me. But I do a lot of teaching these days, which means I’m now very aware of how common this feeling is, and I’ve noticed some behaviours that I believe make it worse for all of us. I run through all of them in my talk, and I’ll present the following key ones in this article:
Laughing at others for gaps in their knowledge
Talking in jargon
Hiding a lack of knowledge
Laughing at others for gaps in their knowledge
I’ve lost count of the number of times I’ve witnessed colleagues emerge from interviewing a prospective employee and saying things like “Can you believe, I just interviewed someone who didn’t even know what a Z was?” followed by incredulous laughter. Haha, what a doofus, fancy thinking they could get a job here if they don’t even know that.
For Z, you can substitute your favourite surely everyone knows about this item, and I guarantee I can find you somebody amazing, experienced and successful who knows nothing about it.
But it helps us bond with each other, right? If we can have a bit of a laugh about how stupid those other people are? And it doesn’t do any harm, because they’re not in the room. They don’t know we’re laughing at them. No, they don’t. But you do. I do. Everyone else in the room does. I’m certainly not the only person thinking, I must make sure I don’t become the next butt of the jokes. Instantly feeling stupid, as I consider all the things I don’t know enough about.
The worst thing about this is, I’m likely to handle this problem by taking steps to hide my ignorance. I’ll join in the next round of laughter extra loud, to prove I’m one of you clever people and not one of those stupid ones. I won’t ask questions to clarify crucial details. And I will find myself increasingly…
Talking in jargon
This is another one that can help us to bond with each other and feel clever, but it comes at the cost of making others feel stupid. Every time you make assumptions about what jargon others will understand, or even worse, judge them for not knowing the same jargon as you, you make it less likely they’ll ask for clarification. It becomes more likely that gaps in communication will widen, and your product will not behave the way people expect or need it to behave.
And of course, not only do people avoid asking for clarification, they take active steps towards…
Hiding a lack of knowledge
Of course we all do this. We avoid “asking stupid questions.” We exaggerate what we know in job interviews and on CVs. We don’t admit it when we find ourselves in meetings where we have little or no idea what anyone is talking about. It’s just self preservation, right?
The more we work in environments where knowledge is considered to be a good indicator of our colleagues’ proficiency, the more likely we’re not being honest with each other about what we know. The last time I was in the market for a new job, I reached a point where if I saw companies imply that they possessed advanced techniques for filtering out only the very best and rejecting the rest, I automatically rejected them. Because in those kinds of environments, people will go to advanced lengths to prove they are indeed the best… which means never admitting any weakness and therefore covering up the unavoidable fact that they don’t know everything.
Are these people happy and confident? No. They are likely peddling furiously underwater and permanently paranoid that someone will find them out… for what? For being stupid? Well yes, that’s what it feels like. But what they’re really in danger of revealing is their own basic humanity.
And of course, the kind of culture I’ve described above, the kind I came to deliberately avoid when looking for good companies to work for, is that of…
This is where we decide that we are special, and large swathes of the rest of the profession are not, and all we need is to perfect our formulas for identifying the pearls and rejecting the swine. And what does it do? Yep. It makes us all feel stupid, terrified as we are that we will come up against these standards and fall short.
So, what can we do to address these problematic behaviours?
The Lucky 10,000
As described in xkcd’s excellent cartoon above, today’s lucky 10,000 will learn something exciting and new. And the rest of us have a choice: Embrace that journey and travel with them, or stand on the sidelines laughing at them for not having learnt it yet.
Making that decision to get excited about the learning our colleagues have yet to do, is about a lot more than individual choices in single moments. It’s about recognising that the range of knowledge in our industry is very wide. It’s wide, and it’s widening exponentially all the time. You could take two respected professionals with long successful careers, and find no overlap in their knowledge. Hell, you could find a busload of them with no overlap. It’s pointless to wring our hands over what people don’t know, and much more enlightening to embrace the learning of our colleagues and ourselves.
They don’t know as much as you think they do
I use this series of graphics a lot in my talks. Here I show only four of the images, but it’s enough to illustrate the point: When you look at an internal message board where your colleagues are discussing a range of subjects, it’s tempting to think to yourself, “Oh my, all these people are so knowledgeable and confident on all of these subjects, and I don’t know about any of them.”
But of course each one of those people is only posting confidently about some of those topics, maybe only one each, and chances are you have posted knowledgeably yourself on at least one of them. And they are likely suffering the same worries and insecurities as you are, looking at each other — and you — and thinking how much less knowledgeable they are than everyone else.
You’re not doing anyone any favours — least of all yourself — when you assume people know more than they do. We can all benefit from being realistic about each other’s capabilities.
Be confident in your own ignorance
At the start of this piece, I talked about how I ran away from this industry in relief, glad to be laid off and determined never to return. But a few years later I found myself in need of a new job, and recognising that despite having not previously valued them, those twelve years of engineering experience were worth something to me.
I returned to this industry, but this time with a different approach. In the intervening years I’d been working for a lower salary as a high school maths teacher, so it wasn’t hard to return to technology at entry level, joining all the new computer science graduates and behaving as though as I was brand new. This gave me a new lease of life. I wasn’t pretending to know anything I didn’t, but I was excited and eager to learn. I let go of any shame and made a point of asking simple questions.
Of course those previous twelve years did count for something, and it wasn’t long before I found myself in senior leadership positions. And it was something of a revelation to me that the more open and confident I was about what I didn’t know, the more people respected me.
Not only did it help me to progress and learn quickly, it also helped those around me to do the same. When senior figures ask simple questions and show no shame about what they don’t know, everyone around them is empowered to do the same. Everyone feels less stupid, and their knowledge and competence increase more quickly as a result.
These are the notes (and some cat pictures) from the first iteration of this talk, which I’ve now delivered in a few places. There’s a recording of the talk here. You can see details of when I have delivered / will deliver it here.
Making people feel stupid: What does it mean?
People listen to what others say.
They overhear them judging people for not being clever enough or not knowing enough.
They internalise it. They worry that they will be next.
What’s wrong with me?
Maybe you’re quietly judging me already. Maybe you’re thinking, she’s probably not very clever and doesn’t like it when she gets exposed.
Maybe you’re right! I often think that about myself. But I have a maths degree, 18 years experience, I’m a tech lead with a major international consultancy, etc.
So, that was me imagining that you might judge me for being stupid. Maybe you did and maybe you didn’t. But the point is, I imagined that you would. Because I’m so used to people in tech judging each other for being stupid.
I’ve always felt there was something wrong with me because I struggle to understand things unless they’re explained in simple concrete terms.
And yet I can do complexity.
I can build complex systems out of simple parts.
If anything, my flaw is a tendency towards too much complexity.
…which is why I deliberately break things down into simple parts.
…but I also forget complex terminology – I recall easier-to-remember equivalents instead.
I have missed out on jobs because people were bemused by my apparent lack of expertise.
I have been told in interviews that I wasn’t competent because I couldn’t respond to the kind of question that requires you to have memorised stuff.
Impact on the industry
Facts, Figures, Statistics:
There will be an estimated 1 million more computing jobs than applicants who can fill them by 2020. This figure was projected by Code.org, based on estimates from the U.S. Bureau of Labor Statistics on job creation and separately, estimates of college graduation rates by the National Science Foundation.
Only 11% of employers (US) believe higher education is “very effective” in readying graduates to meet skills needed in their organisations.
Some 62% (US) said students were unprepared.
US: There are more than 500,000 open computing jobs nationwide, but less than 43,000 computer science students graduated into the workforce in 2016.
In 2016, the White House claimed the federal government alone needed an additional 10,000 IT and cybersecurity professionals.
Hands up if you feel like other people are cleverer / doing things better than you?
Impostor syndrome: “Somehow everybody has failed to notice how rubbish I am.”
I hate – am almost incapable of – playing the game where everything is obfuscated and translated into a language that only the elite can understand.
Ironically this means that my impostor syndrome is at least partially based around the fact that I don’t seem capable of doing the things that entrench everybody else’s impostor syndrome.
I can hit the ground running, but I keep forgetting.
I have to prove it to myself over and over again.
Scenario A: Meeting where people talk jargon & nobody understands
Me: Hi, sorry I’m late.
Them: It’s fine, we were just talking about the ARM processor.
Me: Ah right, yes of course.
Shit, ARM, I know I’ve heard of that before. ARM, um…
[some stuff I don’t hear cos I’m trying to remember what ARM stands for]
Me: “Look folks, I’m so sorry, but I’ve forgotten what ARM stands for?”
Them: “Articulated retention matriculation.”
Me: I have NO idea what that is. I’ll work it out as I go along.
Somebody else: Actually guys, I think we should be considering AMRM at this point.
Reply: Articulated meta-retention matriculation.
[someone else, not me]
That’s a very good point! We definitely need to get meta at this juncture.
Oh God, I was only just following this, but now they’ve lost me. Meta? What does meta mean in this context? What does meta mean in any context? It’s one of those terms that always confuses me, I know that much.
Oh well, I said juncture. I love saying juncture. It’s the perfect word for situations like this.
[some stuff that Person2 misses cos they’re worrying about what meta means]
Diversity and Inclusion
People want to fit in.
They use jargon to create a shared identity.
They feel bad if they feel like an outsider.
People will leave, or not join in the first place, because they feel excluded.
This disproportionately affects under-represented groups.
“…men in STEM subject areas overestimate their own intelligence and credentials, underestimate the abilities of female colleagues, and that as a result, women themselves doubt their abilities — even when evidence says otherwise.”
Stereotype threat has been shown to reduce the performance of individuals who belong to negatively stereotyped groups.
If negative stereotypes are present regarding a specific group, group members are likely to become anxious about their performance, which may hinder their ability to perform at their maximum level. Importantly, the individual does not need to subscribe to the stereotype for it to be activated.
It is hypothesised that the mechanism through which anxiety (induced by the activation of the stereotype) decreases performance is by depleting working memory (especially the phonological aspects of the working memory system).
Talking in jargon
These insecurities cause people to increase the amount of jargon they use.
They want to prove how clever they are.
Their colleagues struggle to understand them, but they pretend they do, to avoid looking stupid…
Complex impenetrable language is what people deploy as a kind of force field
Weird vicious cycle: everybody obfuscates to protect themselves from potential exposure as somebody who doesn’t fully understand.
In the process they confuse everybody around them, who in turn become terrified that somebody is going to notice that they don’t fully understand what’s going on, so they join in the game, make everything they say sound complicated, and so the cycle continues.
There does come a point where you’ve been immersed in it for long enough that only some of it is confusing, and some/most of it makes sense.
That’s quite a kick!
You have to pay your dues to get to that point, and it feels good. You feel special.
So you pull the ladder up behind you.
You had to go up it, and so should everybody else.
You’re in the club now, and you want to savour that.
So you join with your new comrades in mocking those who still haven’t arrived.
You make no concessions in your language.
You’ve learnt what it means! It was hard! Why would you waste all that hard work and abandon your hard-won vocabulary by explaining things in simple terms?
Explaining things in simple terms takes twice as long anyway.
Giving the answer you think people want to hear:
The hairdresser asked me whether I had straighteners and I answered Yes. Why? Because I felt like it was the “right answer”. I don’t have straighteners. I’m never going to manage this labour-intensive haircut I’ve been given.
Scenario E: When talking jargon feels good
I felt all pleased with myself recently when I worked out how to join in with a hangouts conversation by using words like “discoverability” and “distinguishable”. I felt less insecure, and like I was now a proper grownup, a member of the club. But meanwhile there may well be somebody somewhere hearing nothing but “blah blah blah”…
Is it sometimes ok?
“I can’t spend my whole time teaching people, I need people who can hit the ground running.”
Many people project a sheen of knowledge.
Many limit themselves by seeking to preserve knowledge once they find it.
People focus on their own experience – making themselves look good.
But when they look at someone else, they have a different agenda.
They don’t stop to wonder whether they have ever said anything “stupid” like that themselves – and if they did, WHY?
Or they remember it full well and don’t want anyone else to remember, so distract attention by joining in with the attackers.
We identify the things we CAN remember, then we fetishise them.
We push them over alternatives.
Not necessarily because they are better – just because we feel more comfortable there.
Definition of competent
What really impacts on you and your team?
Is it lack of knowledge?
What does it actually take to be good at your job?
What is the definition of competent?
What is the definition of intelligent?
“Be curious. Read widely. Try new things. What people call intelligence just boils down to curiosity.” – Aaron Schwartz.
People who are not techies are impacted too
Examples of support staff, stakeholders, non-technical people… being made to feel stupid.
My personal experience – the happy story
How I learnt to attack new knowledge outside my comfort zone.
The irony is that my career – and my enjoyment of it – has improved dramatically since I started admitting ignorance.
Why Empathy is so Important
“They only care about making themselves look good.”
This in itself is judgmental.
Think about how it feels like to be them!
You can find yourself alienating others without ever having conscious malicious intentions.
Other people know other stuff.
One: When they know stuff you don’t, you feel insecure.
Two: When you know stuff they don’t, you can get impatient.
Conclusions / Advice
Maybe you see me as an idealist. Or maybe I’m a pragmatist. Over the years I’ve paid attention to what works in life and what doesn’t. What makes people ill, what doesn’t. These are all practical hints for survival.
Does it actually matter how much people know? Industry constantly moving, people forget stuff.
Some of the most important moments in my career have been the times I’ve realised that my colleagues are also confused.
Eternal thanks to those that admitted it.
People are often scared to admit confusion.
I often don’t know what I’m doing.
The range of knowledge in our industry is VERY WIDE.
Don’t expect other people to know what you know, and vice versa.
People forget things they once knew.
If people don’t know enough, WHY is that? What’s deterring them?
What would happen if we changed the rules?
Focus on aptitude – recruitment becomes easier.
Encourage people to explore and experiment and learn WITHOUT RISK.
Stops people pushing less optimal solutions.
Make explicit statements to newcomers to your team, at start of meetings, etc – have a policy towards curiosity – keep repeating that simple questions are ok, that mistakes are ok, that if somebody doesn’t know something it’s in the interests of the whole team to help them learn. Plus, active encouragement to give feedback if these aims are not being met.
Tweet from Tim Post (@TinkerTim) re Stack Overflow:
“You can’t work on problems that you’re unwilling to admit. Wanting help often means being vulnerable enough to ask for it, and that’s where we are. Let’s keep making the internet better, without hurting people in the process.”
WE SHOULD ALL ENCOURAGE PEOPLE TO ASK QUESTIONS.
The Stupid Manifesto
LET’S STOP MAKING EACH OTHER FEEL STUPID. INSTEAD, LET’S…
Have an explicit policy of curiosity towards all things
Encourage each other to shout out if we discourage curiosity
Ask what people NEED to know, not what they know
Never judge someone because their knowledge doesn’t match ours
Give our colleagues every opportunity to learn and explore WITHOUT RISK
Give new people a chance to show us what they can do
ENCOURAGE EVERYONE TO ASK QUESTIONS
Acknowledge the broad range of knowledge in our industry
Remember our industry never stays the same
Remember we all forget stuff
Lead by example: Be honest when we’re confused
Focus on aptitude, not knowledge
Remember what it feels like when we are still learning
This was originally the submission for a talk which I’ve now delivered in a few places. There’s a recording of the talk here.
“I know nothing.”
“I know less than nothing.”
“I am an impostor.”
“The more I learn, the more I realise how little I know.”
These are sentences that will be familiar to the vast majority of IT professionals. But how about these?
“They know nothing about X.”
“They have no relevant experience.”
“Wow, I just discovered my colleague doesn’t understand Y. I’m shocked.”
“Can you believe, I just interviewed this dev, and they didn’t even know what a Z was?”
Over my 18-year software career, those last two have been said to me countless times. They are said derisively, scornfully, impatiently. And every time those words are said, we lose both existing and potential members of our profession. We lose them because they feel stupid; because they believe they can’t keep up; because they have given up on ever really knowing what they’re doing; because they’re terrified that people are saying the same things about them.
We work in an industry where knowledge is highly valued, and where every time we look for a new job we have to prove how much we know. We find ways of posturing to one another, of proving how well-informed we are. Sometimes we join in when others’ knowledge is criticised – relieved that we are not the target ourselves.
And yet, we know that everybody has gaps. There are a million different paths through software development, touching a million different combinations of technologies and skills. On a day-to-day level we have to specialise on one task at a time. The skills we don’t need right now are necessarily forgotten, or delegated to someone else. And that’s fine.
If somebody already feels like they don’t “fit in”, then this kind of pressure and insecurity can be the final shove that persuades them to leave the profession or not try and join in the first place. Women and non-binary people, people of colour, older people, LGBT people and many other under-represented groups are strongly impacted by intellectual elitism. But of course, ALL software professionals are impacted.
Let’s stop putting pressure on individuals to know everything, and focus instead on how teams can work together to build and provide the unique combination of skills required to deliver their current project – in the certain knowledge that whatever that combination was today, it will be different tomorrow.
Instead of knowledge, let’s focus on aptitude. Instead of judging people about what they don’t know, let’s help them to feel excited about all the new things they’re going to discover.
Instead of saying “For God’s sake, do you really not know about X?” let’s say “Fantastic, you don’t know about X! Lucky you. That means you get to learn it. What can I do to help?”
(I’m hoping to do talks on this topic at events in 2018 – let me know if you have an event you’d like me to talk at).
I’ve pulled this out of a larger discussion. The detail of that discussion is not important, but a thing happened there which often happens in many discussions in IT: The possibility was raised that some people might be less well informed than they ought to be.
It’s a bugbear of mine. I think it’s a hidden menace in the software industry so I wanted to put something here.
And no, I do NOT think the menace is that people in IT are ill-informed. Quite the opposite: I think the menace is that we constantly judge one another for being (we believe) ill-informed.
I am often reluctant to admit that I don’t recognise a piece of IT terminology, because I think I might be judged for that. I think it might lead to people taking me less seriously in the context of whatever the discussion is.
But here’s the thing: There are thousands of books out there. Thousands of principles and phrases which encapsulate software development principles. Every single one of us will have books that we have not read and yet which some of our fellow colleagues believe are crucial to a good understanding of software development. Every single one of us will have phrases and terminology we have, by whatever chance, not come across before, even though they may seem crucial to a particular colleague.
There is a temptation sometimes to judge one another for not having knowledge of a particular thing. This attitude feeds strongly into impostor syndrome and the insecurities we all feel about how well equipped we are to do our jobs. The solutions to this are:
a) To rejoice whenever we encounter somebody who doesn’t have knowledge of one of our favourite things. It means we get to introduce it to somebody new! Hurrah!
b) To not assume that just because somebody has not come across a particular way of framing a problem or solution, does not mean they do not have knowledge and understanding of the underlying principles.
c) To always always feel safe to admit any gaps we might have, as that encourages others to do the same. This means we all get to learn more and foster a culture of continual learning and experimentation, which is crucial to good software development.
d) To have faith in the fact that we are part of a larger community of seasoned experts. This compensates for the fact that there is NO SUCH THING as a fully informed individual. We all have gaps. But together we can inform one another and create a powerful force.