Wednesday 29 April 2015

My story of struggle

Anonymous

Sunday 15 March 2015

A Life without a job (and with a lot of interviews)

It was a usual day at my office. Last night watched Birdman with a friend. During the lunch break I was amusingly fighting with Ishant- a colleague and friend when he said he did not liked the movie much. We proceed for the lunch. I had put on a lot of weight and decided to go to Gym. It was just 2 days and I was trying my bit to reduce weight. At the lunch table, somebody amusingly asked "Howz your gym man?" I said "Yeah today is the third day".Another guy said your shirt buttons are trying hard to be in place because of your tummy. Amongst us there was guy from the QA team-a well build dude who doesn't hesitate to avoid whenever it comes to workouts.  The guy advised me to get operated like adnan sami else I would not be able to loose weight even in 5 years. Some others said I can gooble up 3 4 chickens in one shot. I did find any of those comments to my taste. I never made fun of anyone in such a large group. It was always one on one. Suddenly I lost control and told of them to shut his mouth else I will beat him hard. To that the guy replied "Even I have hands". I don't know what happened to me. I did not like that guy and felt extreme urge to slap him. It took another 10 mins by the time everybody finished the lunch.

As the guy came out in stairs, I slapped him hard 2 3 times. He was in shock and so was I. A friend shakir pulled me off him. I told the guy I slapped not to talk to me ever and left from the scene. I was a sudden reaction that happened- an accident that I did not know the thing it would bring. I was at my seat again thinking about it. By the time I realised that the guy had complaint about the confrontation to my senior director who took it up with HR. The director and HR director called me to the cabin to discuss the incident briefly and then asked me to leave home. My manager called me to a meeting room and told me to be prepared for even job loss. A sudden fear gripped me. I left early for the home. There was no one at home. My wife and 1.5 year old daughter were in mumbai with my inlaws.  I created a linkedIN account and applied to lot of jobs. I even went to career section of  some companies and applied online. It was hard to take rest. I was not able to sleep that night. Next day I went to the office and was barely able to work. I talked to the engg director about the circumstances I slapped the guy and pleaded him to do something for me. He told me that it is the panel to decide the fate. He could do little in this regard. Late that day I was called by the HR director and engg director to tell in detail about the incident and I told them the truth. I confessed of the mistake I did and pleaded to forgive me. They asked me to send a mail stating the incident which I did. I felt they might leave me with a warning. After 2 days of weekend I was called to the cabin. The HR director told me that they discussed this with the management and the decision is termination. I did not feel anything. No fear no emotions. He said that they do not want my career to suffer because of this one incident that happened so they will not terminate me but ask me to resign. I asked them if there is any way I could be left this time. He said no. He had the resignation paper with him that I signed and within 10 mins I left the office with all my belongings.

********************* I was unemployed********************************************

Up next, upcoming 2 weeks were filled by tech interviews. Here is my experience with them.

1. Vizury
1st round: Data structure questions on sorting. He asked me a tree question using recursion that I did. The guy interviewing me was not able to trace it in a recursive way. I explained to him how the control would work in recursion.  I did pretty well. You know it when you have.
2nd round: Asked me to write a queue implementation with linked list. I made a program and told him that it would work in uni threaded env. For multithreaded environment, i can modify. This round was also good as per the understanding.

The HR came and told me that the response is not very positive about me. I was shocked. Both round were quite easy and there was least chance of any error. I told him that I wanted to talk to the interviewer to which he said he will give me detailed response. He was very angry but then left the scene totally baffled.

Result: Not selected and did not know what went wrong.
Interview experience: Very negative

2. souq.com
1st round: A guy came in and asked me to summarize my education and career. He then proudly told me that he was from IIT delhi, M Tech. I was not impressed. He moved to ultra regular style of asking me java questions since my initial half years of my exp was in C++. He wanted to even check the syntax while I am writing code. He asked me about collections, how to iterate them. Talked about private, public stuff. Asked a couple of data structure questions including reversing a linked list, sorting etc. He had a hard time understanding my code which I felt was plain simple. I had a hard time answering his school like java question which included some question like "can you call a constructor from another constructor". By this time he was sure that I am no good in java and ok in data structures. Honestly had a hard time with this guy. He was immature and was quick in having conclusions about the person.

2nd Round: This interviewer was an experienced one. He asked me to design an LRU cache. Asked me about odd even alternate printing thread question. Grilled me on multithreading and distributed systems, high availability, fault tolerance. Overall I was ok in this interview but his questions were pretty good.

Result: Not selected but learned how to expect in interviews for my 7.5 years of exp
Interview experience: Neutral.

3. Thinkvidya.com

Just a single round on multithreading and distributed systems-which was little tough. He asked me why I was looking for a change. I told him a stupid reason that company env is not very healthy though company is good technically. He knew my manager who worked with him before. I then told him the truth.
Result: Not selected
Interview experience: Neutral

**************************To be continued************************************




Where is my career heading. Is preparing for tech interviews really worth it?


Any average developer knows it's not trivial to succeed in tech interviews of a lot of companies to the like of Facebook, Google,Amazon,Directi etc and all of other emerging startups who have stringent hiring condition. I am computer science graduate from MNNIT Allahabad. As an average student, I did not do much programming in college-just enough to pass. However I felt I was better at data structures and general programming than 80% of my batchmates. Got placed into one of IT mass recruiter(IBM) in my first interview, I had no idea as to how tough tech interviews can be if it is with Google or amazon. Anyways I am one of those guys who actually completed their engineering after the college. I bought the best books in computer science, read them. Gave 3-4 times interviews each in adobe and amazon. Also 1 time in google. I have worked with IBM, Huawei, Informatica labs, [24]7. These companies are average paying companies but they would never reject you in a tech interview if you somehow forgot to check a null pointer or missed an edge case in your interview. Neither would they give you a problem which requires dynamic programming etc. In fact my last company [24]7 was fairly good company in terms of technical skills needed still they did not had such stringent interviews.
My career like many of you went like below:
IBM --> Realised that I got into a company where a major chunk never sees a code ever and a major chunk includes people who want to attend guitar classes, people who want to crack CAT, people who want to go onsite and live happily ever after. Even being an average programmer it hurt me. The env was far different from the curriculum we as students were exposed in college.Brushed up my concepts in DS/OS/Algo and started giving interviews. Adobe, Amazon rejected, Huawei selected.
Left them in 1 year.

Huawei--> My first product dev company. Honestly I was very happy when I got an offer from them. This was a decent product company and I was working for one of the good teams. I spent half of my time preparing for tech interviews and other half on the work. The result was I was just an average guy at office when I could have been amongst the best. Did not find much of my interest in a work that involved a lot of telecom jargons-I started giving interviews. Adobe, Amazon, Directi rejected, Informatica selected.

Informatica--> I was happy here since I found the guys working in this company cs grads from some of the best of the IITs and rest from top colleges. I though this was end of it. I can start and end my career here. For 3.5 years I did not raise my head and worked real hard for the company. I got 2 promotions in 3.5 years and consistent and decent salary hikes. At 6th year of my career I was a Lead Software Engineer with around 15.5 lacs as my CTC. Recent freshers being hired were getting 11 lacs and this made me feel stupid.  I was mostly building data transformations(C++), developing mapping logic etc. I even contributed to porting some of the transformations to work on hadoop. I thought I was a part of the new Big data wave. I decided to open my resume to the world. I soon realised that the work I was so proudly doing all these years was not much valued in the market. Nobody understood when I told them I wrote thos transformations which find value frequency, pattern matching, found aggregates, candiate keys, functional dependency. Nobody cared even when they found that I contributed to rewriting of those data transformations to work on hadoop. People were not impressed even when I told them that there is bug code base I developed to do these things and I do not use sqls to find those information. I was working on the building blocks of the informatica engine. Shit nobody understood and nobody cared. Strangely I was getting far less calls than I would have got if I was from java development background. I did very less java and msotly coded in C++ in 6 years of my career. However I was quite good in C++.Old friend Amazon called me again, took all rounds and rejected. [24]7 gave me an offer that they would have never given me if did not clear their interview. Their domain had nothing common with my experience in Informatica. Still they gave me offer since I could answer their old and repetitive data structure questions. However they hired me as a SMTS instead of lead.

[24]7 - This was by far my best experience in terms of work. I soon realised that what I was doing in informatica was inferior to what they were doing as part of developing a chat platform. I struggled a little but was able to do decently well in the company for 1.2 years. Suddenly something terrible happened and I had to leave the company- a time when it was appraisal and possibly a promotion too. I was jobless.

I was again exposed to a lot of interviews-startups, small companies, big companies...companies which were possibly superior to even amazon. With my [24]7 experience I did call from every outstanding product dev companies. Interview procedures changed in all these years. I realised that these days companies were using hacker rank and other online coding websites as initial screen. Again companies did not really cared what I really did in [24]7 and how it matches their requirement. Everybody tested me on those DS/Algo questions. I was not really prepared. I never prepared after I joined Informatica. People asked me if I knew spring framework and when I said no-they were shocked as I it is something that you cannot learn and do.
I was exposed to some really stupid interviewers and some really smart ones. Eventually I got an offer from a company which again had nothing much in common to my existing skills but I answered their common DS/algo questions. My skills were C++, Java, Distributed Systems, server side development. They required angular js, scala, ruby, play framwork, full stack web development capabilities. They could have got the guys who knew them but they hired me since I cleared their interviews where I already knew most questions.
Eventually I am getting almost the same remuneration that I would have got in huawei with my experience if I was good there.

I think a lot about below:
1. Where is my career going anyways. Am I mad?

2. Is it really worth spending time in tech interviews because you want to join those companies who have stringent recruitment criteria even if most will not require those skills.

3. How can you really prepare for tech interviews without affecting your office work since I think both require different mindset.

4. Is there an end to these tech interview-honestly even the best guys from companies like amazon etc would require some preparation to clear tough tech interviews who ask you difficult and unheard questions.