How starting a bookclub helped me deal with imposter syndrome as a SWE, and why you should join one

Jessie Auguste
CodingBlackFemales
Published in
7 min readMar 27, 2022

I’m a backend Software Engineer working with Python and Django at a cyber security start up.

I came into the role through a non-traditional route, having no formal technical qualifications and certainly no Computer Science degree.

I struggled a lot with feeling as though I was capable and had the level of understanding needed to do well at the job.

So much of architecting and building in the backend relies on a lot of ‘assumed knowledge’ of technical concepts (for example, Big O notation).

The valley of despair

The Dunning-Kruger effect is a cognitive bias which assets that the less we know about a subject area, the more confident we are in our estimation of the topic.

Right at the beginning of your SWE journey, you might feel incredibly confident in your abilities. You’ve not yet been exposed to incredibly complex problems yet, and so you have a positive bias of how much you think you know.

There comes a point, however, where you learn a little bit more and that takes you plummeting down into the ‘Valley of despair’. Our confidence takes a sharp hit, as we realise how vast subject area is, relative to all that we currently know about it.

In starting my role as a Software Engineer, this descent was rapid. I quickly felt way in over my head, when I was no longer surrounded by students and peers at the same level as me, but instead people who were much further along than me in their journey to expertise.

This is quite a normal feeling.

How do we find a way to start climbing back up again on the slope of enlightenment?

Unfortunately, this part I found pretty difficult.

I found that many times in asking for help, despite the wonderful explanations and support I was being provided with at work, I was often left with a lot more questions than answers.

Again, this is normal. For someone who’s slightly further along and maybe into the ‘Plateau of sustainability’, there can be a difficulty in remembering how much, and what, a beginner knows vs. they are taking for granted as assumed knowledge.

Assumed Knowledge

Assumed knowledge is the level of knowledge known to facilitate understanding of study material. It is the prerequisite information you need to know in order to understand the concepts the level above, which rely on the foundational concepts.

Assumed knowledge can be what makes it so difficult in the beginning to understand concepts that are being explained to you. Because as a more senior engineer, it can be hard to empathise with which parts a beginner doesn’t understand, as there may be pre-requisite information that is taken for granted as already understood.

This is more likely if the senior engineer comes from studying a technical degree, and the junior doesn’t the same foundational formal education as the traditional junior software engineer.

This is why it feels so frustrating for the first few months.

You might be absorbing lots of information without being able to join it all together. It can be a long time before you feel you have enough context to have the weight of your understanding informing your decisions.

It can be really intimidating knowing where to start. How do you build up your understanding at a sustainable pace?

It’s tempting to skip a few steps and head straight to the higher level concepts. I certainly wanted to. But it was impossible to make sense of any of it without understanding the basics first.

This is where having a book club was an incredible resource.

In the summer of 2021, myself and some peers who had met in a mix of circumstances, started Data Structures and Algorithms reading group for women engineers who come from non-technical backgrounds.

We didn’t all know each other very well before we started, but we all shared a desire to develop our understanding of technical topics we have not had the opportunity to formally study in our work and education to date. We also wanted to practice speaking in technical terms so that it became more natural to us.

Weekly, we discuss books relating to fundamental concepts of computer science, machine learning, data structures and algorithms.

We know that the group learning we’re doing will enable us to better keep up to date with research and developments in technology.

The benefits of a technical book club

As an immediate benefit, from reading these books I have been better able to make informed decisions when architecting and scaling systems.

But not only this.

It’s been a safe space for me to practice and improve my ability to talk about these topics, form opinions and explain ideas using technical terms.

We take turns in explaining concepts to each other, and completing comprehension questions together as a group.

It has been an invaluable source of support and confidence.

There are so many words and concepts, that as a beginner, I had never used conversationally before, such as compile-time polymorphism, Dijkstra’s algorithm and interpolation, to name a few.

It’s been a relief to be able to try these out for the first time in a (virtual) room full of wonderfully supportive people who I know are learning alongside me.

It means we give each other the time and space to articulate ourselves, and there’s a lot less pressure to get it right, unlike what can be expected of us in a work environment (whether this is internal or external pressure).

It’s also great to be able to help each other out when one or more of us struggle with a concept and we work together at a pace with no looming deadline to explain it.

I believe everyone should be a part of a book club to get through books that you might feel too intimidated to tackle on your own. Have a group of accountability buddies who can grow together in your development of your technical skills!

“I can’t join a book club because …”

Let’s talk through some objections that might be blocking you from joining your first technical book club

“… I don’t know anyone who has a book club”

If you don’t have one you can join, be the one who starts one! Grab a friend, a colleague, or find some people in a tech community who will

“… I don’t know which books to start with”

Check out my post about the books I’ve found super helpful for understanding CS concepts from the ground up.

“… I don’t have the time at the moment”

Set a cadence that works for you. For our bookclub, we set ourselves half a chapter to read every fortnight, depending on the size of the chapter. We aim to be consistent but we understand when someone has to miss a session because of other commitments.

Committing to a bookclub can be the motivation that gets you to make the time to reading books like these.

“… I’m worried I won’t be able to ‘do well’ with it”

That’s the beauty of it being extra curricular and not having it attached to any work achievement. This isn’t something that you need to ‘perform well’ at, it should be fun, laid back and interesting.

It’s a social event as well as an educational one.

There are some weeks where we haven’t all read up to the same point, or some of us have struggled more than others, but there are no negative repercussions to this.

Find a group of people who are at a similar level to you, I’m sure there will be parts of the book that you will be able to help others with too.

If it doesn’t work out, you’ve not lost anything!

Thank you to my DSA book crew 🖤

A massive thank you to Farah, Amber, Jackie and Lilian who have been an integral part of this journey. I hope we get to read many books together throughout our careers.

Thanks for reading

Let me know your thoughts, and if you have any tips for how to start, run and manage a technical, virtual book club!

--

--

Jessie Auguste
CodingBlackFemales

Backend Software Engineer at CybSafe, Co-host of Glowing in Tech podcast: linktr.ee/glowingintech