The Imposter Syndrome in Software Development

imposter syndrome

The impostor syndrome, is a psychological phenomenon in which people are unable to internalize their accomplishments. Despite external evidence of their competence, those with the syndrome remain convinced that they are frauds and do not deserve the success they have achieved. Proof of success is dismissed as luck, timing, or as a result of deceiving others into thinking they are more intelligent and competent than they believe themselves to be.

This is the definition Wikipedia provides for “Imposter Syndrome”.

Are you always questioning yourself if all the other developers you work with are more talented than you are? You fear that people will discover that you are faking your skills and think you are a phony? And, …. are you a Software Engineer?!

The imposter syndrome is very common among professions where work is peer-reviewed such as journalism, writing, … and Yes: Software Development. It is a sign that you apply extremely high standards to yourself which is not in balance to how you view others. Pair-programming can be particularly stressful but also writing open-source software and activities which push you into being genuine.  But keep in mind people with true ability tend to underestimate their relative competence.

imposter

As a former software developer who has turned to recruiting I’m well aware of how us programmers are judged. The industry still believes that the best programmers have no hobbies other than software development. And when we go home after a 12 hour work day, we’re expected to recharge our batteries while hacking away on some pet-project or busy ourselves learning one of the latest programming languages, which are all the rage now.

Unfortunately this behavior doesn’t actually make us better programmers. What it will make you though is a burnt out programmer.  Even worse, if all your input in life is from data/info/books/discussions related to programming, I’d go as far and say: You will not only turn into non-interesting individual, but eventually even lack the ability to see the bigger picture in your own tech projects!

Don’t believe me? Consider this: It’s 03:00 AM and you’re hunting for one of the hardest bugs you ever had to find in your code. You’ve already been stuck with this problem for the last 7 hours! You finally you give up and get back to your desk few hours later (after some sleep or a walk with your dog). Voila! You found the problem by doing nothing. Actually your mind found the problem!

Chances are you know this pattern very well and always wondered why sometimes the hardest bugs seem to get fixed by letting go.

The same applies on a macro-level. If you allow your mind some rest on a regular basis, even when work is your hobby, then you will automatically get better at your job and also more balanced than before.

If you feel like an imposter remember, the best work in science is built on previous research. Have a look at these computing Pioneers. Whether Charles Babbage, Dennis Ritchie, Einstein or Satoshi Nakamoto, … they all expanded on someone else’s work.

And being genuine isn’t nearly as important as being able to identify what is already available and can be re-used with a bit of “glue”.

Sometimes we put too much on our plate, but after some time we can handle it, and we aren’t phonies. And we move on to the next challenge. It’s OK to fake it until you make it. We all do it to grow our skills.

Learning new programming languages can be a nice, but what can be equally satisfying in terms of job-security and pleasure is deepening the understanding of a realm that you thought you already knew well. As a recruiter I prefer talking to people who have <5 languages on their CV and know they’re really experts in them, rather than a hipster engineer with ADHD, listing 20 exotic languages, where I’m sure they’ll lack deeper understanding in every single one of them.

Also remember that as a senior programmer it isn’t just the number of projects you have worked on or the languages you know, but also your ability to understand and translate requirements given to you by a person who doesn’t care about how it is implemented.

Sometimes being able to break the ice by talking about your last hiking trip or your passion for travel will get you further than cutting to the chase with low-level design details.

If you turned your passion into work and love your work so much that it becomes another way of expressing the passions in your life, remember: Nothing ever lasts! So the best chances to hang on to that passion for longer is by giving yourself a break regularly and staying balanced.

EDIT 17/08/2014/13:50: There are some fantastic comments on /r/programming. For those unsure what I do as a “tech-recruiter”: My company does research & consulting work for “future-tech” (stuff that isn’t yet standardized such as SDN/NFV, SON, V2V/V2I, Carrier-Grade-Clouds etc …), and part of our portfolio is also recruitment. Hopefully this clears it up for those who wonder why a recruiter airs his opinion on a tech-topic. I’m always happy if people connect with me on LinkedIn so just add me! (and don’t worry, even though I do suffer from a mild version of ADHD, I won’t bite ;-))

About these ads
This entry was posted in Recruiting, Self Improvement, Software Development and tagged . Bookmark the permalink.

14 Responses to The Imposter Syndrome in Software Development

  1. jake says:

    I was with you until “hipster engineer with ADHD.” Well as an engineer with 35 years experience and ADHD I say fuck you! I’m an expert in many languages and domains not because I am hip, but because my job required an expert, because I am good AND because I have ADHD!

    • Dan says:

      I think that the author was focusing on those who are constantly moving and searching for the next “new” technology. Those engineers who, when asked if they know backbone say “backbone is so old – angular is the new hotness” and are constantly interested in moving towards the next “big thing”. Not those who have ADHD…

    • Daniel Sada says:

      Might wanna look the dictionary for the word “metaphor”. Would do you some good.

    • chadders13 says:

      I think you missed the point of that article. Just because you know many languages doesn’t make you an expert. It’s about the ability to apply them that can make you an expert not cause you have a medical condition !

    • Autist says:

      Are you also an expert in getting offended? The way you talk makes it sound like you are in the top-left of that graph.

  2. Ritilan says:

    Time for your ritalin, Jake.

  3. Fr0styMatt says:

    I think I understand what you were trying to get at with the ‘hipster engineer with ADHD’ paragraph, though I also did a double-take when reading it first. The paragraph hints at a wider problem we face as engineers.

    I think it’s good to separate “person that actually learned 20 different languages” and “person that put 20 different languages on their resume”. These are separate (but not mutually-exclusive) things.

    Recruitment can encourage us to try and stuff our resume with as many ‘keywords’ as we can. As an engineer on the job-hunting side, you’re always worried – will making my resume too targeted in that sense lose me the opportunity to get the interview?

    The other-side view of your ADHD paragraph would be “I’d much prefer to work for a company that asks for expertise in a particular language and/or technology, rather than one that has 20 different technologies listed on their non-specific job ad, all that I am expected to be an expert in with years of experience with. ”

    How I personally solve this is with two sections on my resume – one that clearly states “These are the languages I have gone in-depth with and that I’m involved in right now” and another that clearly states “These are the languages that I’ve tried in the past and that I could get back up to speed on quickly if required to”.

    If an interviewer is concerned that my number of languages makes my knowledge shallow, I would want them to ask me “How has learning languages Y & Z made you a better programmer in language X?”, with X being the main language used at the job.

  4. Fr0styMatt says:

    note above: “with years of experience with” should be “with ..forever.. years of experience with” :)

  5. chadders13 says:

    Hopefully this will give the people imposter syndrome to be a bit more confident their own skills ! Cause I know one or to Devs like this !

  6. nop33 says:

    Reblogged this on EyeTea on the web and commented:
    Very interesting article about what most of us (the software engineers and computer scientists) feel… “Are we good enough”?

  7. ejrh says:

    Hey, us programming polyglots can feel like imposters sometimes, too. :)

  8. Pingback: Bravery | Empressedwithwhat's not there Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s