I have a Github account that I opened January 27th 2011 and there is currently not a single line of code on it. In fact, it has only ever really been used a few times for school projects (all of which I have since deleted). It's a bit of a shame, since I really love open source software and have often come dangerously close to getting involved. The problem seems to be that I have some serious stage fright.

It isn't even that I don't like writing code, or that I don't write that much of it. On top of my day job I try to write a few lines a day in my multitude of personal interest projects of which I have several in various states of disarray, all of which could benefit from version control given my occasional rage quits when everything seems to break at the same damn time. The fact of the matter is that despite building websites since elementary school, a four year university program in computer science, a full time job as a software developer, and a genuine and keen interest in 'building cool shit' I am absolutely terrified that I cannot really write code, and if anyone looked at my projects they would realize that I had somehow fooled everyone into thinking I was a software developer.

This has been, most of the time, a generally subconscious feeling and since lately I've been trying analyze parts of myself that are holding me back. This weird feeling of inadequacy, which seemed somewhat isolated from reality, came to the forefront of my mind. I decided to do a little reading to see if this is a common problem. Turns out, of course, on the internet there is no truly unique feeling and Caltech's counseling centre website put an name on the problem 'Impostor Syndrome' which it defines as

"a collection of feelings of inadequacy that persists even in the face of information that indicates the opposite is true. It is experienced internally as chronic self-doubt and feelings of intellectual fraudulence."

A bit more reading shows that this is a problem for women in tech in particular. The always wonderful Ada Initiative offers some resources for dealing with impostor syndrome and even has a very interesting video on the topic that encourages people to talk about this problem if they feel they have it so -- here I am.

The feelings can be destructive, and not just when it comes to the junk I'm tweaking on my hard drive. It makes me afraid to push back when I believe someone else has made a bad design decision at work. I volunteered to help with Girl Develop It, but I would be afraid to teach. A critique is easy but if I got up there people would know what I don't. being 'found out' is really scary and there isn't much to do about it except soldier on.

The real impostor problem stumbles in when I combine it with my absolutely destructive levels of perfectionism. Things tend to stay on my hard drive forever while I endeavor to make them absolutely perfect in every way --as though a minor god descended and touched my hard drive. 'I can't show people that code,' my internal monologue begins, emphasizing that my brain in fact cannot tell the difference between 'okay' and 'the worst pile of shit ever'. 'Would a real developer let that on GitHub? When people see that they'll know that you're not really a software developer but a girl with a keyboard'. So I hoard it away until I can safely say that it is about as glorious as unicorn tears, or, the more likely scenario, never.

I'm trying to build some confidence, and I've been trying to let my perfectionism go, and with it I think feeling like I don't belong at the big dev's table should also go. I don't think I'm the best developer ever and that letting go of my nerves will reveal me as a goddess amongst women, but I'm moderately capable and the way that I'm going to improve it by showing people what I can do and letting them critique it. I need to jump in with both feet despite myself.

It's incredibly frustrating to have all manner of ideas that you want to build, tweak, work on and share when the biggest thing obstructing your progress is yourself. You've set the bar super high, and are then furious at yourself that you can't clear it.

So, I'm going to try and have a weekly commit on GitHub, I'm building a small project to manage my (stupidly extensive, bursting off the shelves) personal library and every week try to demonstrate the messy hacky, awful code that I'm using to do so. Maybe once I get comfortable I can start moving bigger things into the public eye. Wish me luck!