Today's DateMay 14, 2021

Why You Cannot Become A Better Programmer (The Imposter Syndrome)

Some of the most successful people in all professions have admitted to a dark secret: they have at some point in their professional lives felt like they are actually very terrible at their jobs and can’t believe they deserve or all responsibility for all their accomplishments. John Steinbeck, a multi-award-winning author wrote in his diary entry in 1938, ‘I am not a writer. I’ve been fooling myself and other people’. Facebook COO,  Sheryl Sandberg has reportedly said, ‘There are still days when I wake up feeling like a fraud’. The host at the 2007 100 Powerful Women in Entertainment Event, platinum-actress Jodie Foster said, ‘I always feel like an impostor like I don’t know what I’m doing or how I end up on award-stages’.

How about you? Have you ever felt like you are not good enough to belong to a particular group/organization? Do you battle with a feeling that you are faking? Do you constantly worry that no matter how much you try/learn/practice, some aspects of your work will always be substandard? Do you feel that your achievements are merely by chance/luck or because your teammates and leaders covered up for you?

Don’t worry, you’re not alone in your thoughts. It is common to human nature, more so in technical or highly specialized fields. In fact, studies show that an estimated 70% of  people in the world suffer varying degrees of Imposter Syndrome. This psychological phenomenon is a belief that you are inadequate and a failure, despite tangible evidences that indicate you are skilled and quite successful.

In the world of programming, both senior and junior developers battle with feelings of inadequacy. It is probably even more prevalent in the infotech industry due to its nature of being obsessed with innovation. There’s always a massive amount of hype surrounding the latest technology whether it’s a hot new programming language, a driverless car, etc. In terms of software development, this fixation manifests itself as a burning desire to be the next big thing. We all aspire to be the next Steve Jobs or Elon Musk.

Why do programmers experience Imposter Syndrome? There are two main reasons for this: firstly, software development constantly evolves. It is a large field and as its application in diverse sectors keep increasing, new tools, frameworks and programming languages are continually being created. You may begin learning one, before you have a firm understanding of it, another superimposes which you have to learn, and the cycle repeats itself. It is quite easy to get hazed by the fast pace of it all. Secondly, the media always portrays software developers, particularly start-up founders, as super-brilliant geniuses. They make it seem as if programming comes quite easily to these people and you must have a particular level of intelligence before you can ‘qualify’ to be termed a programmer. Also, it might seem like if you haven’t created some awesome code by now, you’ve probably been wasting your time and aren’t cut out to be a programmer. This could be depressing and so you start working even harder, obsess over small details, and underestimate your skills and progress. After a while, you might feel burnt-out, miss out of great opportunities to learn and eventually leave the industry completely and prematurely.

How Do You Handle Imposter Syndrome?

1) Accept it as a normal human emotion and take charge of your life.

If you sometimes feel like you’re a fake, recognize that behind the mask of calm and perfection, even gurus and top CEOs sometimes feel that way. Most people don’t just talk about it. Get comfortable with being occasionally uncomfortable. The fact is that you are basing your conception (or in this case, misconception) of perfection on what you think other people know and not what you know they know. Those you think are the best in your team are very likely struggling with the same thing but you won’t know because that insecurity is hidden behind a bluff of confidence. Focus on learning always and sustained growth.

2) Don’t have a ‘fixed mindset’.

In Carol Dweck’s book, Mindset: The New Psychology of Success, she posits that people who have fixed mindsets have a constant need to prove their competence and intelligence. They want to be perfect at everything immediately. For people like this, failure is an indicator of a lack of intelligence and that’s not permissible to them. So they tend to blame other people or circumstances for their failures. On the contrary, Dweck explains that intelligence is not fixed but rather, is directly tied to effort and challenge. To become a better developer, you must view failures and setbacks as opportunities to learn and improve your skills, rather than as an assault on your competence. This is called the ‘growth mindset’. Adopt the Stoic Philosophy, which focuses on personal growth and believes that only through working through difficult situations can one really get better.

3) Plan Your Career Path

It’s easy to feel mediocre or get lost in the whirlwind of activities in the industry if you don’t have a clear-cut idea of what you want to actually do. You can’t learn it all in programming, but you decide to specialize in a sub-field. Set goals and plan your career accordingly. It will give you confidence when making career decisions and skills to focus on. What technology, language, company  do you want to work in or work for? Find the skills you need to learn by reviewing job requirements.

4) Keep Track of Your Achievements.

It is healthy for your mind and motivation to look back on how much you’ve grown and achieved from time to time. Be like the African proverbial lizard: ‘if it jumps from the high Iroko tree and no one praises it, it would praise itself’. Even if you failed, it was a hearty attempt at growth and and is an experience to note. Here’s a quick tip: do a monthly/quarterly review of all you’ve learn (and succeeded or failed) and log them on your achievement portfolio, even the ones from the past. This will balance out the feeling of being a fraud when you see how hard you’ve actually worked at becoming what you are.

5) Be Open To Constructive Criticism

Your boss, team leader or teammates are in a good position to give a realistic, evidence-based review of your skills and knowledge. Find out what they feel you’re doing well and specific areas you need to work on. Then set short-term and long-term SMART goals (Specific, Measurable, Attainable, Result-Focused, Timely). This is especially useful when starting out in a new job/role/team. Also, promote teamwork and a relaxed atmosphere where developers are encouraged to ask for help. Learning from other people helps us realise that no-one knows entirely everything and this goes a long way to stem our feelings of unworthiness.

Imposter syndrome does not really completely go away. But you can begin to control it early in your career and take measures to put it in check so that you could reduce its effects on your future. It’s normal to want to focus on your weaknesses but it should only be as a means of properly identifying them so you can work on them at a controlled, sustained pace. Get comfortable with being a perpetual learner, and you’ll start to focus on becoming better, not the best. It’s quite a liberating perspective.

One Ping

  1. Pingback: Why Most Beginners Quit Programming – Blog

Leave a Reply

Your email address will not be published. Required fields are marked *