May 2014: I landed a work from home internship at a startup based out of San Francisco working on data visualization. I was being mentored by the co-founder himself; let’s call him W. I was supposed to implement several data structures and algorithms in the core analytics library and write code in C. The company being a startup was developing its product very rapidly and needless to say, preparing documentation on the fly was out of the question since that would have led to wastage of precious developer time. Days left to company launch: 21.
I am at my first project. I was supposed to make sense of the existing code-base, code the core component (heaps in this case), write tests in python, use Cython to interface and it goes without saying that the knowledge of git was indispensable. A curious mind may ask did I have the required know-how of python, Cython and git? – No. Not even a dime’s worth of knowledge. So, to bridge the gap between what I knew and what I was expected to deliver, I began browsing through a lot of literature on the subjects in question. Consequently, for 10 days I wasn’t able to make much progress. I kept bugging W to clarify my doubts (over chat) vigorously and persistently. What I did not realize was that I was gnawing away at his valuable time. He was the co-founder for Christ’s sake!
Days left to company launch: 11.
Then one fine morning, I ask something really silly (something which even a non computer science grad could have figured out) and that caused W to reach his tipping point. He tells me that unfortunately he is very close to ending my internship because they currently did not have a support structure in place to help me with my frequent doubts.
Fortunately, I did not let the oops moment turn into a panic moment. I was calm. I was calm as fuck. Given the Quora addict that I am, I even posted a question on Quora on what should a student do if he is fired from his internship expecting some humorous responses. I told W that I am ready to do anything to save the internship; all he needs to do is tell me what I could do. He told me that I could ask doubts; but they had to be limited to only 1 doubt per day. If my performance improved after a week, I could continue.
Ladies and gentlemen, I do not know whether or not you believe in sorcery, but I sure did start believing in it. From next day onwards, the doubts started solving themselves and the compiler stopped giving errors. Miraculously, I woke up with the knowledge of git, python became a no-brainer and Cython started making sense. One week and one doubt per day later, bang I made my first pull request. Days left to company launch: 5.
The code went into production 5 days later. Obviously, my code was just a single spoke among the multifarious cogs that functioned together to make the launch day a success. W appreciated me for my efforts and said he was greatly impressed. 10 weeks whiz by and my knowledge became notches higher with each passing week. Did I mention about the handsome stipend? Woohoo!
Sometimes, all you require is a little push. From such dungeons to such heights, as my son Aseem pointed out. Satisfaction of working with a silicon valley startup? #Priceless.
“You never know how strong you are, until being strong is your only choice”
~ Bob Marley
 I just remembered, I too am a non – CSE undergrad.
 If you are reading this, you are a layman. Pull request is simply put; submitting your code.
 Symbolic stuff, all right!