Let me tell you a short story. At one point in my past I interviewed at PopCap Games. I was really excited for this interview, but very nervous. When I sat down with the two developers that were interviewing me I started knocking the questions out of the park and they seemed really impressed. I was starting to feel a little confident and after a few laughs I felt like I had a good rapport with them. Then they threw me a curveball. I was still a young man at the time, this was my second job interview ever and would be my second job after college, I knew nothing of the world. They asked me to build a bowling calculator. I smiled and revelled at the chance to blow them away with my coding prowess. They quickly gave me a recap on the rules of bowling and I was off to build them a calculator. They simply wanted to be be able to pass in a list of frames and have the computer tell them what the score was. For some reason, perhaps it was nerves, perhaps it was inexperience, I completely failed. For over an hour my hands flopped around on the keyboard sweatily and I mumbled nonsense to myself about what I was doing as they looked on, glancing at their watches from time to time and becoming quite bored. Eventually, I had a solution that worked in most situations, but not all. Not good enough.
I’ve told myself over and over that they had every reason not to hire me. I wouldn’t have hired me after that horrible interview. Since then I’ve improved my skills by leaps and bounds but for some reason that calculator always escaped me. Once in a while I would go back to the problem and start rewriting it, usually timing myself to see if I could actually pass their interview now. Every time, this massive mental block would hit me. I would become nervous and agitated, my palms became sweaty, and I slowly created a horrid and buggy calculator that barely deserved to be called complete. Perhaps it’s an anxious mental block, or perhaps it’s just a weird issue that has always eluded me, I have no idea. All I know is that I could never complete this problem, no matter how improved my skills became or how many harder problems I had solved.
Today (May 6, 2015), four years after the interview, I decided that I will not take failure any longer. Not only do I want to improve my development skills and be able to add more languages to my resume with confidence, I want to solve this damn problem! I promised myself that I would create this calculator once in every language that I have a desire to learn as a way to prove to myself that nothing is impossible and nothing can hold me back. So I sat down, and I tuned out the world, I wrote some code, and I succeeded! I’m going to continue on my journey to solve this problem in every language that I can, perhaps one every month. The list below represents the languages that I want to improve in. Anything with a link is a language that I have completed this task for and the link will bring you to my solution.
I hope you enjoyed this story and found it as rewarding and inspirational as I did. You may not get every job you apply for but never accept failure as the final outcome.