jump to navigation

Services Vs Products Company February 2, 2007

Posted by Gaurav Dhiman in My Professional Life.
1 comment so far

Service based and product based companies are different from each other in many dimensions. As I am from India, I will take service software companies of India as an example.

Service software companies (like Wipro, Infosys, HCL Technologies etc) do not have focus on one or some specific technologies and domains, where as product software companies (like Microsoft, Intel, CadenceAdobe etc) are very much focused on their domains. By domain I mean, the area for which you have knowledge and in which you play a significant role. For example, Cisco moves in the domain of networking. They solve networking problems, and don’t know much about Databases. On other hand Oracle works in Databases space and don’t know much about embedded, networking or chip designing areas. Similarly Cadence Design Systems, who works in a very niche area of EDA (Electronic Design Automation) tools that are used for chip and board designing, don’t know much about other types of software. So we can say product companies are deeply rooted to domain, technology and research & development. If we look at service based software companies, their core strength is in providing solutions to any type of problem in any type of software, whether it is database, embedded, web application, remote network monitoring etc. They play in every area. So we can say service based software companies are more broadly rooted, with there roots spread to every area, just opposite to deeply rooted product companies.

Big service software companies have a model of verticals to divide their scope of work. With this model they categorize their projects in different verticals to manage the company work as a whole. The verticals here mainly mean domains in which service companies normally execute projects. For example, domains or verticals can be banking, retail, embedded etc. Domain or vertical is the area to which the software serves. For example, software used in Banking comes under banking domain, similarly software used in retail business (eg: POS devices) are categorized under retail vertical. Under these verticals different projects are placed.

Similarly product companies also divide their work in such verticals, but their verticals resemble to each other a lot than verticals of service software company. Just for instance, I will give you the examples from my experiences and learning in CA (Computer Associates) and Cadence where I worked earlier. In CA, the whole organization was divided into 5 main areas of work, which they used to call as brands (equivalent to verticals in service industry). The brands were related to different domains, like security, storage, databases, web applications and network management. Each brand have it’s own set of products. For instance security brand have products like antivirus, firewall, Intrusion Detection Systems (IDS) etc, falling in same category. In Cadence too, I observed the same type of division. They are have three area and those are Chip Designing, Chip Verification and PCB Design. In each of these areas they have number of products serving the same purpose.

Third difference is that product companies have very specialized and skilled employees. As they have very specific market to target at, so they need very specific and quality skill set. This is the reason that product based companies mainly prefer people with good enough experience in the same area. On other hand service based companies serve number of clients, having varied requirements in all together different technologies, that is why they need to have large and varied resource pool of engineers, whom they can deploy in different projects with minimum effort. Engineers in these companies have much wider knowledge about different technologies as they are not bound to one technology or product and get a lot of opportunity to work in different areas. Due to this reason, lot of companies that visit campuses of engineering colleges in India are service based companies, as they can make the fresher work in any area. Moreover I think its good for fresher as well, as they get a good playground to know different technologies in services based company and later on when they choose to be in one specific technology or domain, they can switch to a product company.

If we look at the employee strength of these two type of companies, we will come to know that product companies have very limited strength compared to service based companies. At the time when I was in HCL, it had 40,000 people, but when I joined CA there where only 15000 employees worldwide, where as CA got established much earlier than HCL. In Cadence also worldwide strength of employees is 5000 only, where as its one of the top companies in EDA domain. We can not directly compare the companies on their employee strength; rather we should compare them on their market share and revenues. On market share and revenues, product companies are much ahead of service based companies.

In today’s blog entry, I just covered the broader points, but if we look deeply in the working environment and culture of both services and product based companies we will surely find number of differences.

I personally like product based companies. Reason is that they are much focused on their work area, its good for engineers to learn a specific domain and technology, they provide good working culture and facilities and above all they give you bulky pay packets.


First two years of my professional life … August 29, 2006

Posted by Gaurav Dhiman in My Professional Life.
add a comment

In last blog entry, I mentioned about my final semester project which I did in HCL Technologies, in this blog entry I will mainly talk about my more experiences of HCL after formally joining it on 2nd Sept, 2002.

Yes on 2nd Sept, 2002, I formally joined HCL Technology as an employee. As I already worked there for more than 6 months as a trainee, I knew some people there. This time I was allocated to NCR business unit of HCL Gurgaon. NCR was one of the major clients of HCL at that time. It is one of the major maket holders of ATMs (automatic teller machines). At that time there were 2 buildings of HCL in Gurgaon near Kappaseda Border of Delhi. One of the buildings had the distinctions of being the first building from where HCL group started. It was commonly known as HCL old building. Another building was relatively very new and was well built with glass doors and shining floors, this was known as HCL Manak. Actually the building was earlier acquired by Manak Shoes, hence the name Manak. I was in Manak building. I was a part of the team who was responsible for maintaining the NCR’s ATM management software. My Manager was Jaideep Aggarwal, who was a nice person and considerate too. He was young an dynamic and quite open with the people under him. The environment was ok there in NCR ODC (Offshore Development Center), but I was not much enjoying the work. Being a maintainence work, there was not much excitement in the work. We used to write the pluggable code or to fix some trivial bugs in already code. I was not adding much value to my skills there, hence asked to my manager number of times to shift me into some system software project. I was interested in doing Operating System/ Device Driver/Hardware programming, which was not the part of my job in NCR. Every time I used to talk to Jaideep about internal transfer to some other interesting project, he use to tell me in a friendly manner that things are not much in his hands too. He was responsible for the projects getting executed under him and not for the resource allocation. Resource allocation was basically a job of HR and BU (Business Unit) Heads. BU heads used to put request to HR for the requirements in different projects in their BU and then HR used to either shift some free resource from one BU to another BU or used to recruit resource from outside the company.

In most of the software service companies in India, the working culture is not as per the expectation of employees. Its my observation that most of the employees in these companies are not happy about their projects, about their managers, about rigid hierarchy system in company, too much focus on unwanted quality metrics etc. A human resource (employee) is allocated to any project, without much considering of his/her interest and skill set. These companies follow a model of getting the software projects in some specific domain from different countries and then hire or use the already available resources to execute and deliver the project. This type of working model is also known as outsourcing or consultancy as well. These companies depend on large resource pool rather than small but highly technical resource pool as in product companies. This is the reason that these service companies do bulk hirings at campus of engineering colleges through out India. They get most of their human resources from college. As the work does not demand high technicality, in most of the cases, college graduates (fresh pass out engineers) are able to perform the job at lesser cost than a experienced high earning engineer.

As told earlier the working model of service based companies is to get the projects, execute them and deliver the things in time. As the product on which they work is owned by the client, so service based companies are not given much access to the marketing or technical details of product. At the same time they are not given much freedom by client to explore products. Due to these restriction, most of the work which comes to these companies is of testing, documentation, maintainence or bug fixing. They are not given the development or R&D work, because they are the core areas for any technology company and giving such work to third company means opening up the company to everyone. Service companies rely on huge human resource base to execute the projects. They claim to have broader skill base rather than deeper skill base to attract more projects from different type of companies. They don’t focus on specific technologies, as they don’t know what they will be working on next year, rather they focus on domains. They prepare their resource base to acquire skills required for a particular domain or profession (example banking, retail, medical etc), so that the resource can build up the carrier path in that domain.

I will be writing a separate blog entry on my experiences and learning about working models of both service and product software companies in India. I will explain in detail the differences and approach used by both service and product based software companies towards their business.

Returning back to my work experience in HCL, I continued working for NCR client for 2 years, till April 2004. On 17th March, 2002, I resigned from HCL Technologies to join a US based product company Computer Associates, in their India center at Hyderabad. I resigned from HCL as I was not much happy with the working style of HCL at that time. My work in HCL was not adding much skills to my tool box. Although I was working on system used by NCR in their production servers, I was not happy because I was looking for some development work related to Operating Systems. I was writing the pluggable code, which was not adding any technical skills to me and regarding management skills, it was too early for me to have exposure to it. Since my college days, I was more interested in Operating System Programming or System Software and wanted to work in that. I was not getting that opportunity in HCL, even after talking to my manager number of times.

At the time time when I was looking for opportunities outside HCL, I had an option of CA, Cadence and Oracle, all three product companies. At that time I was not much exposed to the product company working culture, hence did not know what is the main difference between service and product company. At that time, my main reason for change was work and my learning curve. At that time, I had an offer from CA Hyderabad and Oracle Bangalore, but was in talks with Cadence Noida. I was waiting for an offer from Cadence, but did not get it till the last day. Actually the requirement got scraped in Cadence for which I was interviewed. So finally I joined CA on 27th April. I choose CA over Oracle although the salary of CA was bit less than what Oracle offered me. One of the reasons to join CA was that I was getting a chance to work on security domain (eTrust) their, where as in Oracle I was offered for a position in their Enterprise Server Group, in which the work was mostly related to database enhancements and Oracle database internals. In CA the security brand is known as eTrust. Most of the products in this brand do work in Operating System, which was an area of my interest, hence I decided to join CA.

In my coming blog entries, I will let you know about my wonderful experiences in CA. CA was one of the companies that I enjoyed a lot. Hope you enjoyed reading this blog.

Leading to Professional Life …. August 21, 2006

Posted by Gaurav Dhiman in My Professional Life.
add a comment

Hello everyone, I hope you are not getting bored by these blog entries. I just casually writes whatever comes in my mind, so don’t expect any professional or formal stuff from me. While writing, I am just like a river that keeps on flowing on its track without knowing where it is aheading. I too just keeps on writing, without knowing much what I will be writing. Anyway, leave all this. In my last post, I mentioned about my family and education. In this entry I will start with the experiences of my professional life.

I still remember the date of my first day in my first company. It was 21st Jan 2002, when I joined HCL Technologies Gurgaon branch as a trainee (for my final project of MCA course). MCA course requires you to have on-project experience in industry during the final semester. Without this MCA is not considered to be complete. As I got selected by HCL Technologies during campus placements, so I got the chance do my final project in HCL Technologies, but it was not all that easy. I remember Sushil, Rajnish (my batch mate) and I made all the effort to get this chance. The day our 5th semester exams got over, the same night we decided to visit HCL Technologies office in Noida (near New Delhi) to talk to HR about the possibility of getting a chance to do the final semester project in HCL. We took a train from Chandigarh at late night (1:00 am) and reached the apartment of one of our seniors in Noida early morning at 7:00 am. Our senior (PV) was working with HCL too. We talked to HR about our the possibility of doing project in HCL, but she refused to commit anything, as the overall inflow of projects in HCL was not good at that time. She told that it would be better if we try somewhere else, in case there if HCL can offer us the project for final semester, she will let us know. After hearing this, we realized that getting a job in campus is not at all a surety of getting on the pay-roll of the company. Company can still refuse to make you join and can withdraw the offer anytime. Considering all this we started looking for projects somewhere near our university and finally got one good project in a Govt institution, CEDTI Mohali (know known as CDAC Mohali). In that project, were supposed to create the spell-checking feature for a MS-Office like software for punjabi language. We were still hoping to get the offer from HCL to do our project there and tried to keep in touch with HR. Before we could start with our project in CEDTI, we got the offer from HCL to join on 21st Jan 2002 as a trainee to complete the final semester project. Me and my other batch mates, who got selected in HCL, were really happy to have this chance as at that time getting started with first job was tough. We know that getting a chance to do project in HCL would definitely make the chances of joining HCL as an employee more brighter.

On 21st Jan, 2002, Sushil and I both reached HCL office in time, but to our surprise there was a huge crowd standing outside the office. As we were new to the environment, so we asked the the guard for the reason. guard told that IT Dept (Income Tax Department) has raided all the center of HCL through out India and the tax officers has sealed the office for inquire. Only very few higher management people along with company’s finance guys were inside the building, answering to tax officers questions. It was a memorable day for me, as it was my first day on job and the same day the company I was supposed to join was raided by IT Department. Well, anyway this is how I started my professional life.

For my final semester project, I was assigned to the pre-sales team in HCL’s Gurgaon center, where my manager was Deepak, the only guy directly reporting to the center head Rajeev Sodhi. Rajeev Sodhi was also the Vice-President of HCL Technologies at that time. It was surprising as well as shocking to me to be in pre-sales team, as I was not actually fit for it. I completed the degree in computer science and was expecting an engineering job, but I think I was placed wrongly in pre-sales. After spending some time there doing my pre-sales job, which was not much exiting to me, I realized that fresher were not given much importance in HCL. Frankly speaking, as I learned from my experience, freshers in Indian software service industry are not at all taken seriously. Most of the companies take them as resources who are not of much immediate use. They are considered as fillers and are mostly put in non-sense work. As they do all rubbish work against their wish, they learn about industry, its working style, what client means, how diplomatically the projects are executed and during all these years either they learn to cope up with the environment or get frustrated with the working style of companies. With this learning they start realizing that their experience is not adding much value to them, its only adding an experience to their resume. My personal thinking is that the fresh pass outs from colleges are full of enthusiasm and are willing to learn and take risk, if they are provided the right work of their interest and as per their knowledge and skills. They can add a lot of value to company if assigned right jobs.

From MCA days I was more keen on doing programming in C and wanted to do system software development, but I was not that lucky to have that in first shot. You might be able to imagine, that if a guy who is passionate about something is asked to do which is not at all of his interest, how he must be feeling. I was going through the same feeling. I was passionate about doing system programming and was well equipped for the same, but the first professional job that was assigned to me was totally in different area, my hard luck.

In that pre-sale profile, my job was to search on the net for probable clients for HCL in the domain HCL used to serve (Banking and Retail). What was expected out of me was to look into the websites of different companies and to prepare the documents after knowing about their product servings, their sale figures, profit margins, partnership companies etc. Well I continued such work for some days, and then one day I reached the stage when I literally cried in front of my friend ( Aman) who was also used to be my batch mate in MCA. He knew that, what was hurting me as he knew about my passion to work as a system software programmer. He made me feel that what I was thinking about my job was right but ultimately company needs profits and they do not consider the interest of each and every individual in the company. Company is not a university or a research organization where one can take the things of his interest, rather company is a business entity, whose sole aim is to make profits. At that time it was difficult for me to understand this fact, as I was fully overpowered with my passion to work as a system software programmer. I understood this fact as I spent more time working in the company.

Well this is all for this blog entry, I will talk about what I did in HCL and how was my experience there, in my next blog entry.