UNiDAYS talk on Imposter Syndrome in Software Development

Table of Contents

Picture source: Alicia Liu @aliciatweet

The following is a list of notes covering my talk to our development team at UNiDAYS

What is Imposter Syndrome?

“Impostor syndrome can be defined as a collection of feelings of
inadequacy that persist even in the face of information that indicates
that the opposite is true. It is experienced internally as chronic
self-doubt, and feelings of intellectual fraudulence.”

I believe nearly every person at one point in their career will feel
this way. It is extremely common and just knowing about it is enough
for most people to realise they have it and to start working their way
out of it. Sometimes instantly.

I want to talk a little about it today, my experiences with it and
hopefully shed some light on this condition so that others can
identify and help each other in the future.

Learning to code is hard. It isn't a case of learning off by heart
regulations for a Gas Safety Certificate or understanding the law to
handle your accounts.

There are many different languages for you to choose and learn. You
can't even choose just one as often you need to understand multiple
technologies to make something work.

LAMP for example, or any front end development where you have a
seemingly infinite amount of frameworks.

There is no one tool that is fit for all purposes. You will have to
choose the language that best suits you and the situation.

This may mean having to learn a brand new language altogether to solve
a particular problem.

So now you have rocked out of University, got a distinction and you
have your first job. You walk in confident and soon realise that you
know nothing.

Maybe you do the right thing, realise you don't know everything and
start to ask questions, take your time and learn from others and
find things they don't know to learn.

Then over the years, yes, years, you start to feel confident in
general coding and things move on from there. Always knowing you will
never know everything, or there will always be someone better than you.

Or there is the other path. You realise you don't know anything and
you hide away. You spend hours on Stack Overflow (which is a good
thing!) and run late on your projects.

You get left behind and get angry when people question why you are
not completing work on time.

In your head, you don't deserve this role, you had better leave, you
will never be as good as these guys, they use words you don't even
know and complete things in hours which would take you weeks.

But instead of accepting you don't know that one particular thing and
asking to pair programme or ask for help, again you go into your own
mind and it betrays you.

The above is an example for university students, but if you replace
university with any other condition such as new job, contracting for
the first time, learning a new language, etc they can all fit.

My experiences with Imposter Syndrome

When I first started here I felt like I had lied in the interview and
the homework. Even though everything I did was my own, I still felt
well out of this companies league.

Lead developers at the time were Dom and James. Two guys who have
amazing knowledge and drive. This made me feel inadequate and very
down about myself.

I spoke to Dom about this and when he first started he too had this
feeling. The only difference is he saw what he had to learn, took
action and went on courses and practised and researched until he
was able to do the job he does today.

I struggle to learn from books. Some people can read a book and
remember it, myself I would have forgotten what I read a couple of
weeks later.

Initially, I thought this was a really bad thing and I could never
get to where they are.

However, after a lot of self-discovery, I have realised I am a man of
repetition. I need to do things practically and record them.

Once I do a certain thing a number of times it lodges itself in my
brain, like the natural thought. Since then I spend most evenings and
weekends researching and coding.

I also found another skill I have that I wasn't completely confident
in. People. I love working with people. All I want to do each day is
code cool shit and make everyone happy around me.

It took me too long to realise that is what drives me and that is what
I am best at. Over the past six or so months I have dedicated myself
to helping as many people as possible in my day to day work.

Off the back of that, I have learnt even more as I pair programme and
solve problems with them using new technologies I have never touched
before.

So, if you feel at all like this, here are the reasons why you shouldn't

  • UNiDAYS employed you.
    They only employee people they think are worth it and this can be
    proven by the interview process and homework you need to do. In the
    Tech Team, they have high standards and wouldn't have given you the
    job unless you proved you can do it.

  • Do you turn up every day and try your best even though you think you
    aren't worthy? Yes, you do, and that is all anyone could ever ask of
    you. That is enough for any employer.

  • From a personal point of view, this is the best technical minded
    group of people with varying degrees of skills in different
    technologies I have ever worked with. I love learning new things
    from each of you.

How can we work together to overcome it

Here are some paths to start on

Get a mentor

A more experienced developer who can be your guide through any
challenges you come across. They will always have time for you and be
able to help you with "stupid questions" whenever you need, without
judgement. However, this can be hard to find due to high work levels.

Get a peer pair

Like the above but this one is easier. Find someone else at your level
who you can get to pair with and QA/Test your work giving each other
constant feedback to help each other level up.

Surround yourself with smart people, deal with it and take advantage of it

The more smart people you have around you, the easier it will be to
learn. The general environment will make it super easy for you to
learn. Simple.

Be curious / ask questions

Get together some backbone from somewhere and ask questions. This
doesn't mean every time you are stuck, ask and nag people. You still
get a massive sense of pride and knowledge for solving problems by
reading and researching. However, if you are interested in a
conversation someone is talking about, or you are up against a tight
deadline then ask.

Pick a new technology and practice

Just like myself, if you don't know it, learn it. Ain't no one got
time for kids or the pub.

And finally, be aware you have Imposter Syndrome

Just knowing you have it can be enough to overcome it and get on with
doing cool stuff.

Outro

If you are new to UNiDAYS then our code base can seem daunting. Most
of the time you can't use Stack Overflow like you can in any other job
that uses popular frameworks. So you need to dig deep and learn a bit
more about how things work.

This for me is a massive cause of Imposter Syndrome in our office,
and not just our department but every department in here.

So guess what? Time to start getting over it! So what, you don't know
how the pipeline works. Instead of saying that to yourself, try
rephrasing things. Here are a few examples.

I don't know how this works.
I don't know how this works, yet.

I am never going to be able to solve this problem.
I wonder if anyone else has solved this problem.

I am going to go past the deadline date, I am going to work late
tonight to show I am working hard even though I won't hit it.
I am not going to hit the deadline, I better tell my line manager
and ask who could pair programme with me.

Sounds obvious, but sometimes your mind goes into panic mode and you
think it is a weakness to not know something. It isn't! It should be
exciting!

At what point did we get in our lives where learning new things became
bad? When we hack in the evenings trying something new, its great
fun! When we do a hackathon, it is stressful, but an amazing sense
of achievement.

So why at work is it such an issue? Culture? You can change that,
start from today, we are a team, a team with great knowledge. Take
every day you don't know something as a chance to learn something new.
Be excited you don't know something!

So to finish, stop it. Each of you is amazing, every one of you.
We are all here for individual reasons. We each bring something
different to the team. That means we need to work together.

Keep your chin up, enjoy learning, don't be afraid and be as awesome
as I know each of you is.

Sources

  • Medium
  • Caltech Counseling Center - Intro definition