The last month has been an eye opener for me. It has taught me many lessons. First, my journey to the north. And later, my search for a job. When I first planned to get back to Software last year, I thought that it would take at least 3-4 months to get a job. Anil though was confident that it would take not more than 1-2 months. In the end, both the estimates turned out to be true. Anil got his job in around a month. I am yet to get a job and with my recent performances, it might take a few more months to get it.
Anil quickly started looking at various web portals to check out interview questions and we have asked our old friends and colleagues to forward our resumes to their respective companies. I, as usual, was casual about the process, never making more than one step at a time. The same laziness and unreal confidence I had when preparing for the failed civil service examinations. The same negative and positive thoughts affected my mind, the hallmark of mediocrity. I was totally bought by Anil's opinion that we would get jobs in a month. So hard it turned out to be.
Anil applied to Amazon and got an immediate reply for an interview the next weekend, the same weekend my friend was getting married. I chose to make the northward journey, suggesting to myself that I could apply after some time but my friend cannot marry after some time. That journey is being chronicled elsewhere but I must return to the events after that. After I returned to Hyderabad, I worked on Algorithms a little more and started to look at problems from web portals. Anil told me the questions he was asked at the interview and after thinking about them, I too could give a solution. It made me confident. Most of them were on trees, heaps, string searches and array manipulations. The generic stuff one encounters at entry level programming interviews.
My first interview was for VMWare on phone. I was very tense and he started off by asking a simple puzzle that I remembered solving a few days back. The next two algorithms too were not very hard and I felt I did bad only with the questions related to OOP. After the interview though, I checked out some concepts of OOP for future reference. Overall, it was pretty good. Meanwhile Anil got an offer from Amazon and had his Google interview fast tracked. He is flying to Bangalore to give his interview. I on the other hand had a phone interview scheduled before an on-site interview. I had an Amazon phone interview scheduled in between.
The Amazon phone interview did not start as I wanted it to. That question about trees was quite simple. The best solution, given by Anil after the interview, was to use a recursion on children. But I got confused and gave a solution that includes a map and one pre-processing step. I took almost the entire time for the interview to get to the solution. The process was complicated by the fact that I had to write the psuedo code and dictate it to the person on the other side, who I presume is typing what I was saying. In the confusion, I made a basic assumption for trees which he said should not be done. So I had to change the algorithm to include a pre-processing step that does a DFS on the tree and constructs a map. At the end of the interview, I asked him about a better solution and as far as I can remember his solution was better than mine, but the recursion solution is very intuitive and simpler than that. Even I was disappointed at the solution I gave and actually told him so.
Anil tried to encourage me by saying that my algorithm does something more than that is required and that displays my skill to extract successors in trees which is a little complex to code. I felt better. Now I would like to say, WTF! Two days ago, I was reading an article that made one thing plain. That is "People would give me a job/would like me/would maintain a relationship with me if I have something they NEED. They don't give a damn if I am good to women, a lawful citizen following traffic rules, kind at heart, can write blogs or dream about flying. If they find what they need with me, I get their attention. Else, they do not care. I am what I can give to others, period." If I cannot give the working code to them in the given time, I don't get the job. That is it, final.
I have not thought about it then. There was a glimmer of hope in the darkest corner of my heart. I concentrated more on tree algorithms and have actually started to code in java to get some practice. The Google interview though, could not begin at a bad time. All I got from Amazon that morning was an email sent by changing the name on a pre-prepared draft with a body that feels written by a machine. I felt bad. My ego was hurt so badly. I tried a lot to convert that anger into a motivation to do well in the Google phone interview. This time, I wanted not to make a mess of phone interviews.
The Google interview had its hiccups.
To be Continued.