At the moment I’m going through some of technical interviews that are designed to see if I have the right stuff to join the ranks of Silicon Valley. The problem is that I tend to not think of myself as an exceptional programmer, which has a negative impact on my self-esteem that gives me the jitters, making me less than perfect in these technical interviews. Very self-fulfilling indeed!

Now the reasons for this are probably due to the Dunning–Kruger effect and Impostor Syndrome. The short version of both of these is that “Impostor Syndrome is a psychological phenomenon in which people are unable to internalize their accomplishments”, where as the “Dunning–Kruger effect is a cognitive bias in which unskilled individuals mistakenly rate their ability much higher than average.” Even more briefly, if you are skilled in an area you mistakenly think you aren’t, and if you aren’t you think you are. Before its pointed out, I already get the irony that as someone unskilled in psychology, I am trying to write about these with any authority!

Paradoxically, it gets even worse. If you don’t know if you are skilled or unskilled, you don’t know if you underrate or overrate your performance, which means knowing about the above two phenomena might even mean you inflate or deflate your perceived skill even more!

But help is at hand, and it really just comes in the form of getting some perspective on your skills. First of all get a good friend who has some level of knowledge in your field and talk with them. Just getting outside perspective on someones perception of your skills, or even just a blank stare can go a long way when you are exmplaining to someone why you beating yourself up over not knowing when to use a Binary Search Tree vs a Binary Heap or when you know you can optimise better than O(n*k) to O(n*log(k)), but you just couldn’t quite explain it.

Secondly, build a list of the cool things you’ve done. Good recruiters will want to hear about the projects you’ve done both at work and for fun (if you aren’t building code for fun you should probably start). Not only with this help refresh your memory so you can call on work you did a long time ago, it also gives you time to review your own work, and pick the cream of the crop and see how much you have done.

It wasn’t until I sat down and looked at all of the things I’ve had done, mostly for fun in the past few years, such as:

Looking back, I can say I’ve kept myself busy, remaining on top of certain trends and having fun. Which is important, but an honest personal stocktake is also important to give yourself the confidence necessary to not underestimate your skills, or identified weaknesses that can be addressed, avoided or discussed as potential for growth.

So those are my two tips for success when going into a technical interview – internal and external perspective, and a solid understanding of your ability, strengths and weaknesses. Pretty simple really, but its one of those things that doesn’t quite clarify until you’ve already gone through it.