Twitter Followers

Saturday, July 9, 2011

Which biggie to choose?

This is 'kind of' response to the blog post titled 'Infosys, TCS or Wipro?'. I will try to answer the questions raised there and clear any doubts that you may have on choosing an Indian IT company.

If your aspiration is to work only in Silicon Vally, USA, please don't read this. Else, let us move on.

So which one for a fresher? Infosys, TCS, CTS, Wipro, Satyam, HCL or any other biggie? Answer is simpler than you think.

Any one of them.

Choose one which assures you a location that you want or where your friends are joining. There are differentiators between them, but those are not important at the level of a fresher.

About Training in these companies: The claim of "1%" is totally wrong. That is equivalent to saying that 99% of freshers cannot understand English. You just need basic analytical ability and English to understand and learn in those trainings. These companies interview freshers to check their learning ability. If you pass through their interview, be assured that you have the capabilities to learn in their training. Yes, I was thought cobol in a week's time. But I was not expected to deliver something next week to client. After training, I do a mock project. Then I join a project where I do a shadow project work which is reviewed by an experienced person at every stage. So please don't look at these trainings as some machine churning out developers when you give college graduate as input. If you cant pass through these trainings(which is very rare, about 1%), companies try to retrain you on different platform or different service altogether like Support functions/Testing and so on. So you are given enough choices to prove yourself, before kicked out of the company.

About lack of engineering problems in these companies. Are you kidding me? A company of 100 thousand developers lacks engineering problems? Totally not true. I went back and saw my engineering books. I do use all those concepts even today. OK, may be not all, but most of them. Operating systems and RDBMS, Theory of computation and so on. Yes, most of us work on functional software which at the end of the day has to be used by our clients. So functionality of our projects is more important to us than the technical brilliance in that code. We create programs that are used for decades, while product companies go out of the market within few years. So maintainability of our code is important to us. Client IT expects simple solutions from us and not complex technical code. So please stop comparing IT companies and product companies on the complexity of the code written. We work in a different platform altogether. Having said that we do work on complex solutions when demanded by client.

About culture in these companies. First we all will accept that this culture is much better than what is outside in India. I bet IT has better working environment for girls than Automobiles and for that matter, i will say even Banking. Other than that, we all come from this same society. So people wont change themselves between 0900 - 1800 hours daily. There is a Tamil proverb that "If you can't change something at age of 5, that habit won't change at 50". Very true in this case. If we have a bad culture inside these companies, it is to blame the society and not these companies. Even a start up will face the same problem and Indian arms of Microsoft,Nokia and Google will have same problems. Having said that, I feel we(Indian IT) are in a much better culture than what is portrayed outside.

About Onsite discrimination against techies. Onsite in these companies is to be the face of the company and to deliver projects to clients. You don't need technical brilliance for most part(except where you are a technical consultant to the client). But in most cases, if you are technically brilliant, then you will be passionate about what you are doing and hence your communication will also be good. (you are confident on what you are talking). So onsite is not discriminated against techies or in favor of non-so-techies or vice-versa. Some techies who don't care about money might stay in offshore for their liking of work here. (Please note 'liking' - they love what they do, so they stay on that).

Above all, there are few things that no one talks about IT companies. The endless opportunities it presents. Recently these companies have even opened the internal infrastructure for people in bench to create tools that can be used by other projects or can be used within the company for internal purposes.Think 100K people and even if we go by argument that only one in 20 or so does engineering work(which is anyway wrong), we are talking about 5K people doing some good work, correct? If you are capable, you are good technically, why wouldn't the company put you in that 5K group? Now these companies have internal blogs, forums where technical questions are posted. If your daily work is not challenging enough for you, you always have more grounds to explore. The blogs are very attractive medium here. As many people like your writings, they tend to notice you as someone different from rest of the world. I have had my blogs read by C*Os in two of these companies. I don't have that impressive writing skill(you figured that out already, didn't you?) but my content made it possible. So instead of cribbing about lack of opportunities to excel, explore around and you will be amazed by how many challenging problems keeps you awake at the night.

Have an internal goal for yourself and work towards it. I am sure these companies will support you. If you can't sell yourself within a company, how will you sell your own company (If you start one) to rest of the world? All of us are growing at 20-30% a year and so our problems and areas where we explore. Join us for a fun-filled challenging work. :-)

All the best.

P.S: Thoughts expressed above are of mine and not views of my current/previous employers.

Thursday, January 13, 2011

Digital Consumers - Opportunities

I wrote this for a blog in my office. Just publicizing it here as well, though topic is little for from Cloud.:-)

Last week, I wanted to buy a mobile phone. I went to many websites to see the review and finally had 3 mobiles in my list of things to buy. I posted these three names in Facebook, twitter and in Infosys BB and asked for personal reviews. The replies that I got helped me to decide on which one to buy. When I went to the store to the buy, I was a ‘digital customer’ who didn’t need any help from the store employee. When I didn’t find the mobile that I wanted to buy, the store employee tried to sell a different mobile to me. But I had already done my research and I pointed out the pitfalls in the mobile. He was surprised with my knowledge and said “We don’t carry the mobile you are looking for. But our website has all the models on sale. Please order from the website”. I also want you note to that this is a story in India, still a developing country in terms of ‘Digital customers’.

Things have changed with broadband connectivity. Today’s digital customer posts the enterprises with a newer set of challenges/opportunities which were unheard of in the past. Let me try to list a few of them which are more relevant in the current context.

1. Today’s customer is well informed about the product that she wants to buy and has got personal reviews from her ‘Social Network’ friends. She will be a tough customer to sell a different product other than one that she has in her mind. How well the salesperson in store/customer service is enabled to handle these kind of customers? How internal systems help the salesperson to gain more knowledge about the product than what is available in open web.

2. Price comparisons are done online and discounts on marked-up prices will be captured easily. Customers know what is the median price range of a product and hence will easily find out fake promotions. Are systems enabled to grab the competitor pricing for a product and report them to the internal pricing team?

3. A digital customer wants a pure digital experience, as in, from ordering online to customer service either through online or phone. Are the systems equipped enough to give a complete digital experience?
4. Digital marketing/advertisement. As the customer discusses more and more about her plans of shopping for a product in the open ‘Social Network’ space, are systems equipped enough to capture this conversation and do targeted marketing? A famous line in Ad world is that, “50% of money spent on advertisement is waste, only that no one knows which 50%”. This targeted advertisement in ‘Social Network’ can yield a better success rate than 50%. What more, this advertisement can be done in a subtle way that consumer may not realize it as an advertisement.

5. As the ‘customer cribs’ on a product are now mostly vented out on the ‘Social Network’ space, are the systems equipped enough to capture them and report them as ‘customer feedback’ to the product development team/customer support representatives?

6. Creating brand ambassadors all over the digital space. A recommendation by a friend will weigh more these days than a recommendation by a famous sports star. So can systems help businesses to create brand ambassadors all over the ‘Social Network’ space to do unpaid advertisements.

As the customer spends more and more time on internet, investment on any of the above opportunities is sure to yield good returns. There are a few enterprises who have already taken these investments seriously and are laying out their strategies. The technology related to these challenges are in early stages and early adapters will get a lead advantage over others.

Needless to say that, I ordered my mobile online and I am very happy with my purchase. Thanks to ‘The Social Network’ which helped me to make that decision.

Tuesday, April 27, 2010

What is 'Cloud Computing'

First question that anyone would ask is "What in the world is Cloud Computing". There is no standard definition of Cloud, though there are a few definitions floating around the web.
Google search of Cloud Computing, will give you some idea about what we are talking about.  My definition could be in the lines of  "On-demand pay-as-you-go Internet infrastructure/Platform/Application where you use only what you need, not a single byte more or single byte less. The support and Maintenance part is completely taken care by the service provider". 

Though above definition sounds more like outsourcing a set of  functions to a third party, Cloud Computing is quite different from outsourcing. Outsourcing is like a manufacturing company giving away its logistics operations to a third party vendor who takes care of getting in raw materials for the company and also carrying out the finished products. In terms of IT, outsourcing can be defined as "getting into a contract with the third party vendor who provide their resources for a specific period of time to do a specific work". In this case, the end product is still owned by the main company. Contracting company just helps the main company to perform its functions. But in case of cloud computing, the cloud takes care of your application & infrastructure. 

Salesforce is the pioneer in the cloud computing space. They started a decade back with the idea of providing CRM services to small companies which cannot offer enterprise softwares that has huge investment & maintenance cost. These small companies were forced to hire contractors to customize these big packages for their company policies & culture. Salesforce was a different approach.More like renting a real estate, rather than owning it.

Even though, a decade has passed, nothing has changed in this space. To make things worse, nowadays there are too many upgrades of software packages in short span of time and many of these software companies are blamed that they refuse to support the older versions, even before all the smaller companies can upgrade to the newer version. Upgrade cost is almost similar to buying a new software & the upgrades to software packages demanded these companies to upgrade their hardware as well. (Again cost).

Advantages of cloud:

1. Cost savings. It is mostly pay as you go. So no big initial investment. Companies need not have to think on long term benefits, before implementing. Say we have a software for $X. If X is as huge as one year IT investment of the company, most companies wouldn't have implemented the software during recession. Many companies were in the fear of bankruptcy and hence they had big concerns on investments on softwares, which in most cases don't have a resale value like a physical investment. On the other hand, cloud implementation doesn't have any initial implementation. 

2. Fast & Easy implementation: In most cases applications in cloud can be deployed in a 2-3 weeks timeframe which is unheard of, in case of traditional software implementations. This helps business to ramp up and equip themselves with the latest technology, as early as possible. 

3. Moving out of cloud is easier than moving out of traditional software implementations. I am talking about ramp down, when the business is not doing good. Huge investment for traditional software applications are already made and hence businesses are left with no options, but to live with those applications and also to pay for "the staff" to maintain it. In case of cloud, business can move away from cloud, the day they decide to stop using the service. (At least cloud applications today allow you to do this. In future, they may introduce clauses in agreement).

4. Defining the SLA for a cloud application is easier. SLA's are tough to measure when you deal with the IT staff within your company. But SLAs of cloud applications are universally accepted and hence are easy to measure. You clearly know, what you are going to get,before you get into it. Again, if you don't like it, getting out of cloud is very easy. 

5. Security & Disaster Recovery: Usual perception is that cloud is not secure. Though there has been successful attacks on cloud servers in the past, there is no data to prove that cloud servers are more likely to be hacked than the servers maintained by the internal IT team. Attack on cloud makes a news, attack on individual servers don't. That is the difference. As companies like Google move towards cloud, we can expect in the future that, cloud servers will be more secure than the servers of smaller companies. Same thought goes for disaster recovery. Bigger cloud providers will have more robust disaster recovery mechanisms, than the smaller companies.

I will touch upon the challenges facing cloud in the next post. I would be really be happy, if you can share your thoughts and make this more blog interactive. It will help everyone to learn. 

Sunday, April 25, 2010

Intro to this blog!!!

Unless you are living below a rock, you should have heard about the word 'Cloud Computing'. This blog is to give an introduction of Cloud Computing and also to put some thought about how Cloud Computing will help India INC. and Indian public in the next decade. We will also talk about what are the advantage that Indian IT companies have and how can they take advantage of the resources they have currently, to play this game of 'Cloud Computing'.

I am not an expert in this area. For that matter, no one is.I am reading a lot about this and have been watching this space for about 2-3 years now. I at some point of time, I look myself working for cloud based application in near future and the same with many of my Indian IT friends. I am planning to have 2-3 posts a week and I am also planning to keep them simple and small. 

So friends, are you ready for your journey into the world of Cloud Computing?