Let’s face it, imposter syndrome sucks! You earned your place on the team. But perhaps at times you feel like you got it by fluke, you didn’t deserve it, or your lack of skills or competence will be found out soon. Don’t let this debilitating feeling get you down!
Just so you know where I’m coming from, my background is that I had a long career in UX and Service Design before transitioning to software engineering, and even then I had a two year gap between doing my coding bootcamp (at the wonderful Makers) to starting full-time in engineering.
I’ve been an engineer for about four years now (give or take a bit of furlough), and over that time, mainly I’ve thoroughly enjoyed myself (what a fun, interesting, and creative career it is!), but I’ve definitely had moments of crippling self-doubt and unhelpful thoughts, and I really don’t want others to go through this if it can be helped.
So, based on my experiences, here are my tips to beat imposter syndrome!
1. Realise the domain is large and you are just at the beginning
Tech is HUGE. Nobody is born with an innate knowledge of how it all works and fits together. Trust that with time you will accumulate more skills and experience, and know that even with the bits that you know right now (which you probably don’t value sufficiently), you can still contribute well to your team. I like to think of this as operating within a blurry picture. Perhaps just a small part is in focus for you right now (and it’s probably bigger than you think), but over time, more and more will become clear.
2. Don’t compare yourself to others
Each person is on their own path and has their unique skills and experiences to share with the team. In fact, this is what MAKES a great team! Sure, other people (even at your level) know stuff you don’t know. Maybe you don’t understand all the conversations you’re involved with yet. But for sure, you ALSO know things other people don’t know, and you can learn just as well as anybody. You’ll find most people have similar doubts and make the same unhelpful comparisons. So, all of you… stop it! Focus on your own journeys and what YOU need to do next.
3. Emphasise learning - ask ALL the questions
You’re always going to want to deliver great work and deliver it quickly, especially if you’re inspired by more experienced folks who seem astonishing to you! But realistically if you’re new, you have a lot to take in. The people that hired you understand this. Take the time to ask the questions. Ask as many as you need, even the really basic ones. Honestly - you’ll be doing others on the team a favour (it gets embarrassing to ask basic things when you’ve been somewhere a while!) And if you don’t understand the answer, don’t pretend that you do. Ask them to explain again as if you were five. Just make sure you take note of the answers, so you’re not asking the same thing over and over again.
4. Have confidence in your abilities and project it
It’s tempting when you’re unsure how to do something, to project that lack of confidence. You might say, “oh sure - I’ll TRY to do that ticket”, or you might pre-face an opinion with, “I don’t know what I’m talking about but…”. It’s a kind of form of self-protection. But stop that. It seems harmless but there’s no need to broadcast internally or externally a lack of confidence - it helps nobody, least of all you. Software engineering, if you want to grow, is all about taking on tasks that you don’t know how to do. And it’s something you’ve likely already demonstrated if you’ve got this far. Have confidence that you can figure almost anything out, and of course no-one is going to mind if you ask for support along the way - in fact they expect it! Much better to say and think, “I’ve got this”.
5. Lean into difficulty - take on those scary tickets
Related to the above, when faced with a Jira selection box of tickets - it’s tempting to take the easier ones so you can demonstrate delivery and feel good about what you’re doing. Sure - do that sometimes! But try fairly often to take the ones that make you feel scared - this is where the growth is! Your confidence from tackling this kind of work will grow immensely, and your team-mates will be impressed with your attitude.
6. When shit happens, don’t let emotions overwhelm you
This is easier said than done. In the early days, when things went wrong, e.g. I couldn’t figure out what to do next, or worse - I caused a production incident (a must-do for all engineers really!), it felt natural to beat myself up and catastrophise, thinking “I suck at this”, “I can’t do this” etc. That’s not helpful. If this happens to you - walk away, take a break, do something else for a bit. I promise you, when you return with a clearer head, you’ll figure out what to do. Feeling panicked is not conducive to solving complex problems. And making mistakes is a vital part of growth. Hopefully you work in an environment where exploring why a mistake happened and making sensible adjustments is a healthy and positive part of the culture.
7. Take note of your achievements but also plug those knowledge gaps
For a long time, I’ve kept a weekly diary of my achievements, technical learnings, and things I need to learn more about. The achievements part is wonderful as a confidence boost and very handy when it comes to performance reviews (seriously, you’ll thank yourself). The ‘things I need to learn more about’ column is also useful. To be honest, I’ve struggled over the years to find an effective way to make time for personal development - I find it hard to prioritise above team commitments. At the moment, I have an accountability partner with whom I meet for 30 minutes per week, and we use that time to independently study whatever we want to, and that’s working pretty well for us! It doesn’t sound like much, but it all compounds!
8. Go deep before you go wide
9. Ask for what you need
Many of you will know what’s holding you back. Do you need to take a few days to do a refresher course on React? Are you struggling to get focus time because you’re over-committed? Are you struggling with being full-stack? Understand what it is that you need, and take this to your manager. It will help them support you. If you’re not sure what you need, explore this with your manager, ask your team for feedback and advice (people LOVE to give advice), or get some coaching outside your team.
10. Don’t be afraid to change environment
If over time, your issues remain the same, and you’re not progressing as you’d like, don’t be afraid to change your environment. It can feel scary and like you’re being disloyal, especially if you get on well with your colleagues. However it can be a game-changer. For me, at first I changed teams within the same organisation, and later I changed organisation entirely. Both times it was because I recognised I was not getting what I needed, and both times, it helped me progress professionally. And I’m still good friends with all my former colleagues!
I hope these tips help you. If you’re interested in working at a company where you can go deep, in a highly supportive, highly collaborative environment, we’re hiring!