Tuesday 27 May 2014

The Siemens corporate research blunder[The end of machine learning in my life]

Days were going smooth at Informatica. Life was on track. After working for more than 3 years with the team, rarely I got something that I found difficult. When you're mind is not so busy it wanders a lot. My mind did too.
I started feeling what I was doing in this reputed product development company was not challenging enough. The guy in me was not satisfied. He wanted more...a lot more. Appraisal came and I got a salary hike of 18% and was promoted to Lead Software Engineer-6th year of my career-a good enough time considering Informatica was my third company. Strange I was not happy with my appraisal. 18% was not good enough for me. I felt underpaid and under learned considering 6 years of experience. That machine learning worm bit me again. I started reading articles about how cool data science is and how cool the data scientist are. I created my profile in LinkedIN-tweeked it a little to look good for a data science role.
Anyways I even applied to few jobs but nobody came back. Strange enough I was not even good at basic statistics and I dreamt of being a cool data scientist.

I changed gears-"Big data" is hot these days..I should try getting some serious research level work in Big data. After all I was the one who converted those data transformations in Informatica to map reduce. I have the experience with hadoop and that is what big data is all about. May be I can read a little "mahout". May be I can learn some "NLP" or "Data mining"-they looked more approachable to me than a hard core data scientist.
So I started applying to those "Big Data" jobs and I did recieve a few calls. Unfortunately I could not clear interviews from amazon, inMobi but I did clear a couple of startups who were willing to offer me a job with no hike in my salary. I could not summon up enough courage to join them. After all I had a family to support-what if they shut down?

Days passed and I developed a new fantasy-I want to work in Informatica, US. It's been 3 years and I was eligible for applying for relocation. I approached my manager and let him know. He convinced me a little but I was adamant. I reached out to all big guys including the hiring manager in US who had positions. He demoralised me and asked me to work in my current team for few more years. I was angry and sad and became very resentful of Informatica- a company that gave me a lot.

Days passed and one day I got a call from [24]7 iLabs for technical lead position.I thought of blackmailing Informatica if I get the offer.
I had a good interview with 247 and they said they will offer me what I expected-near 20% hike. I got a call from HR and he said my domain is little different from theirs and they might consider me for SMTS. I was ok since it was some data science + engineering work I was willing to explore and the company is known to use predictive analytics/Big data. If Informatica sends me to US I am good else I will join 247

I received their offer with almost no hike in my current salary(except that they made everything as fixed + 1 lakh joining bonus). Anyways I decided I would join them if they offered me work in the area of so called "Big Data". I discussed the work with architect who told me that they were hiring me for distributed infrastructure platform teams where I would be working mostly on non functional requirements like sacalbility, reliability, performace, high availability etc. That did not make sense to me and I rejected the offer.

Time passed and then one day I applied to Siemens corporate research. They had an outstanding job description related to research in the area of big data technologies - apache spark, hadoop, yarn, cassandra etc etc.Also they said 'Phd desirable' for the position. I immediately applied for the job without expecting any call from them.One fine day I got a call from the manager at Siemens research who said he wants to talk to me. I said ok and he started the phone interview without informing me prior. He asked difficult computer science questions. He asked me floating point representation and about 2s complement, 3s complement , statistic questions -something that I don't think ppl asked these days in interviews. I was impressed. However I could not impress him much. Finally he said he would discuss and let me know. I did not expected him to revert.

A few days later I got a call from Siemens research. They asked me to come and give a presentation on one of the projects that I did in Informatica. I went to their office- gave a confident presentation on the best project I did in Informatica. I had a couple of tech interviews after that that mainly concentrated on theoretical DBMS and some basic programming. Overall the interview was easy. I prayed to GOD in desperation that this is the ultimate opportunity that must be given to me.

Days passed anxiously. After a few days I got the offer from Siemens and I was happy.Again it was not a great offer monetarily-exactly same as [24]7. But I was happy that now I can pull off my last weapon-threatening the manager that I would leave if I am not given opportunity for US. I was happy that even if I don't get the opportunity atleast I would be a researcher working on some cutting edge technologies.

I went to my manager and told him that I have decided to leave. He was shocked and honestly I was too. INFA was a second home to me. My life was good here. He tried convincing me a lot but I was adamant. They informed the manager in US about my decision to quit if not given opportunity for US. Ultimately nothing happened and I left Informatica.

I joined siemens-the first 3 days were induction. The gut feeling was not good at the first day. This was a pretty big company-too much crowd and looked like a university with big canteen and free breakfast and dinner. I joined my research team which was busy preparing for a conference about Big Data in coming days. There was a lot of enthusiasm. Few asked me as to why I joined Siemens Research from Informatica. I felt awkward answering that. I soon realised the place was not the way I perceived it to be. It was a team with no clear focus on things-they had big data and cloud computing as their research area. However the research was just 20% of their portfolio and rest belonged to consultancy projects that they used to do for their own development team. I soon realised that they were struggling to convince the higher management about value addition of using distributed computing and big data for their projects. People were not buying their ideas. I soon realised that the company policies were stringent that for getting a necessary software installed you need to go through approval cycles.I realised that the company is not inherently into software. They are an industrial automation and healthcare equipment company to which software is just a part of operation. They don't sell softwares. Coming from a good product company I felt I was in some kind of TCS or infosys. I was frustated and felt cheated. Even their hiring standards were not upto the mark. They mostly hired M.Techs and few PHDs from a local college called - IIIT Bangalore. A couple of PHDs already left the company and a couple of them stayed with no idea what to do.

In desparation I contacted Informatica to take me back. I went to informatica to dicuss with a manager of another team. He asked me if I was still on US thing to which I honestly relied as Yes. Nevertheless they decided not to take me back and I  felt so stupid. Now the company I worked for 3.7 years and where I had high respect for my work denied to take me back.

2 months passed in all this. I felt so stupid...I soon realised that If I stay in this place for 1 year..nobody is going to take me and the only option that I would have is to either stay in company or be some kind of freelance trainer...honestly this so called research unit of siemens was the worst career decision I took..one fine day while I was thinking of my position-it suddenly struck to me that I still have an offer from [24]7.

I called them in desperation and they told me that they still would love to take me. I resigned from siemens and after 15 days of notice period relieved.

It;s been 4 months here at [24]7 at platform team. My team work on large scale distributed infrastructure for their chat software. I am happy with what I am doing and would be doing here. Beside me sits the Data Science team who use machine learning for building models for predictive analytics. I don't see them as a different league anymore.

I am content with what I am doing. This marks the end of machine learning in my life.




Tuesday 29 April 2014

Saturday 12 April 2014

IGNOU MCA is not just another distance learning course..neither IGNOU is just another university

Ok Guys I am not a MCA from IGNOU...so my views are not biased towards them.

Few things I know about MCA from IGNOU since i taught a few subjects in a study center is bangalore.

1. IGNOU as a university has very high standards when it comes to curriculam, study materials, assignments and examinations.
2. MCA is perhaps the most sought after course from IGNOU.
3. I did a detailed examination of all the subjects right from MCS011 to MCS053 and there is not a iota of doubt that the curriculum designed is at par with IITs and the best universities abroad.
4. Most of the course commitee for MCA study material is from IITs and other good universities in india.
5. Passing MCA exam is a real challenge since they do not ask theory based questions rather a major portion is high concept questions that required the examinee to understand the subject at a pretty deep level. A computer science student from the best IITs(Kanpur,Bombay,Kharagpur,Delhi) would not only admire an MCA exam paper he will find it tough to crack.
6. The marking system of IGNOU is not just hard it is very hard so you cannot get a 76/100 with a decent attempt of paper.


MCA students of IGNOU

1. IGNOU does not have any entrance test of this course so a lot of ppl enroll to the MCA course.
2. Quite a few ppl take this course seriously after MCA 1 semester. There is a subject called MCS022(Computer architecture and organisation) that demoralises a major portion of the enrolled students and they drop the course altogether.
3. Most Students who join IGNOU are not the ones who did not get into any private college for MCA rather mostly are employee of some pvt or public company and few students who cannot afford education from expensive college


My answer to a question I see repeatedly being asked by MCA students of IGNOU

Is MCA from IGNOU eligible for top companies like infosys,wipro,tcs etc?

My advice: First thing is these companies are not top companies. Had they been the top companies they would be the dream companies of the students passing out from IITs. These are big software services companies who hire a big chunk of graduates every year. Since they hire from a big chunk they have to shortlist the candiates on some criteria. It is almost impossible for them to interview a lakh graduates for say 1000 position. As a result they come with criterias like 'all through 60%' and 'only regular degree students".

Very few good computer science graduates like to work in these services companies for work. They provide some good career opportunities in the form of onsite opportunity which is unique to them.

my advice to the MCA students is do not run for infosys, wipro etc. There are ample of startups, product companies who do not give a shit about you being from IGNOU or IIT as long as you can clear their interview and do good work. So take your mini and manor project very seriously and sell them down the line to get a good work opportunity specially in small product companies who admire talent.




Saturday 29 March 2014

What I learned being in software industry since 6 years

1. College education is different from working in a software company. You may have been a hero in academics but you may not be necessarily good in a company.

2. If software development is your passion and you are quite emotional about it then do not join the likes of Infosys, TCS, IBM, Accenture or any of those service companies. These places are not for developers. They are for IT professionals as the media calls them.

3. The most important subject that you might help you in software developmet in industry is not C, C++ or java but it is a basic understanding of operating system concepts.

4. If you think you will be writing new algorithm in the industry then you might not get that even in google or facebook.

5. Joining a startup is not as risky as it is considered if you have managed to stay or your startup managed to live for atleast 1.5 years.

6. One of the most important tool in software development is notepad, textpad etc which can allow you to search a piece of code in huge codebase.

7. Common sense is the important skill that would help you do good job in the company.

8. You don't need to be a TopCoder to survive in the best of the industry(likes of google, facebook etc) or a outstanding tech startup. You might need to be a top coder to just clear their interview.

9. Asking tricky programming questions in an interview(started by google, amazon etc) to judge a candidate is the crappiest way to hire but then this is how a tech interview is conducted in the best of the organisations.

10.If you think ,you can keep raising your salary by switching companies every 2 years then you are wrong. You can raise your salary only if you are underpaid and switch to the next league of paymaster companies.

11. 90% of your time in software development goes into investigation and googling while you put 10% into actual code.

12. You can never be a true software architect unless you have worked on non functional requirements like performance, scalablity, reliability aspects etc.

13. If you think being a CS graduate from an IIT would make any difference once you are recruited the let me tell you that your company doesn't give a shit about it.

14. A software company would never consider your interest in assigning a work to you. They just give you what they have.

15. Being a software developer is far more satisfying than being a pseudo researcher in any of those IBM, GE, Siemens etc. However if you are truly inclined in research then go for higher studies and join top universities.

.................and the gyan continues.......................