Be Vocal

Fresh out of college, in my first company GXS, after our training, me and another guy were put into a legacy maintenance project. It was atrociously boring. A couple of weeks into it, I told my colleague that I am going to talk to the manager regarding this.  It was a pretty bold step going by the fact that it was my first job, I was very new to the software industry. I talked to my immediate team lead who was in charge of the project regarding my decision and he was very supportive of it. I talked to my manager and and in a few weeks I was in a new team doing exciting work. That one move shaped my whole career, if I had just accepted the status quo and stayed put, I do not know whether I would be doing all the cool things I am doing today. What I am trying to convey is that, if you are not happy about something, talk to people. Usually, higher ups understand the problem and are ready to help you. But, when you do something like this, do it with decorum. Do not try to do things hideously. I first talked to my immediate team lead and only after appraising him of my decision, I talked to my manager.  I did not break the chain of command.

In any situation, being vocal about something has always helped me. For example, recently, when Pavi and me were in Thailand, we had booked our room in Phuket city while the happening night life was in Patong, which is an hour’s ride from the city. We try to use as much public transportation as possible in our sojourns, but our hotel manager informed us that we would not get a ride back from Patong to city in the night. The last bus was at around 7 in the evening. We would have to pay at least 600 to 700 Baht for a ride back. To give an idea, the bus ticket was 20 Baht. This was reaffirmed by the fare board put by Thai tourism in Patong beach, the same fare was listed to the city during night. Even, the Indian restaurant manager where we had our dinner confirmed this. After having shit loads of fun in Patong, it was time to go back. We tried a couple of tuk tuks and all were quoting the same price of 600 to 700 Baht but that did not stop us from trying and talking with the tuk tuk drivers for a lesser price. Finally, one tuk tuk guy agreed to take us back for 300 Baht and that driver became our friend too. On the next day too we took his tuk tuk back to city and tipped him generously on our last ride back.  If we had just accepted what others said and did not try to talk the price down, we would have been poorer by around 600 Baht in two days. Also, as a silver lining, we made a good friend and had a lovely conversation with the driver on our rides back.

I am not saying it always works, there are many instances in my life where being vocal did not bear any fruits. For example, in Zynga, I put very bluntly in my appraisal form that I was not very happy with the quality of work I was doing. I expected the HR to talk to me regarding this, but that did not happen. Even though, when I appraised them of my decision to move to FreeCharge, Zynga tried to talk me into moving to a team where I wanted to work, but it was too late by then, but still, being vocal did not achieve it’s goal here. But what the heck, I did not loose anything. I had the personal satisfaction of having tried my best, but somehow it did not work out. Now that I am responsible for FreeCharge, I encourage my team members to be vocal about their problems and talk to me in case of any issues however small it might look.

The bottom line is, if you see something is not right or you are not happy in a situation, talk to people, usually it works for the better, even if it does not, no pandas will be killed during the process :).

Work from home

Recently, there has been a brouhaha in the tech community over Mairssa Mayer’s views on work from home. As an individual tech worker, it is very appealing to side with work from home and going by the reactions in the community, I would say that I am not in the least surprised. But, when you look at it from a company’s perspective, things change, it is no longer as black and white as the tech community makes it look like. There are a lot of nuances to work from home which predictably makes it difficult for large organizations to effectively adopt it.

As someone who has worked from home for a good one and half years and also now being responsible for FreeCharge, I can objectively look at this from both sides. Let me first talk about my personal experience while working from home. I used to love it, the biggest factor that used to work for me was the time saved on commute, the gained one hour in a day used to do wonders for me. Whenever I used to tell my friends that I work from home, I used to get the usual question, how do you manage to do it? I am not someone who needs motivation to work, I would be writing code even if no one paid me for it, pay is the icing on the cake. I love building stuff, accruing knowledge and bringing things to life and my profession as a software engineer lets me do all these. Without digressing, what I am trying to convey here is that, to work from home, you need to be highly self motivated. If you are in your job only for the pay check, then work from home will result in anarchy at your company. The usual reaction in big organizations when someone sends the WFH(work from home) mail is a snigger.

Even though everyone in your organization might be supremely dedicated, there are two more prerequisites that are essential to making work from home successful in your organization. The first question that you have to ask is, are all my employees roughly on the same productivity and experience plane? Junior developers need a lot of mentoring and collaboration to create quality software irrespective of how motivated they might be. It is a herculean task to bring this sort of collaboration and guidance when the guru and acolyte are not physically present in the same location.

The seconds question is, is the entire team remote or is it only a small minority? If you are in a situation where only a sparse population of the team works from home, then again it is going be difficult to pull this off. What usually happens in such a situation is fences are created, on one side, you have the remote workers and on the other, you have the office goers. Whey you have this asymmetry, information flow is one of the biggest concerns, as people who work in office find it easy to proliferate information through word of mouth and this does not reach the employees who work from home. In such a situation you have to engineer a cultural shift in the way people communicate and document in your organisation. It is difficult to engender this as those who are physically present in the office do not see a point in many of the processes that you will have to accommodate to benefit the remote workers and as you know, when people do not believe in something, it is next to impossible to get them to do it.

The above are difficult to pull off in an organization of the size of yahoo!, so, no wonder, while it works for 37Signals, it does not work for yahoo!,  Mayer took the most sensible way out. When do you make special provisions in your organization to let people work from home? I would say that it would be only on super critical projects where a person/team is working in a silo, detached from the rest of the organization and you are one hundred percent sure that this team/individual would not abuse the freedom that comes with work from home.

Letting Go Of Perfection

Being a perfectionist is all the rage these days. Perfectionism also has a dark side to it which tends to get glossed over.

When you are getting started on an activity, perfectionism acts as a hindrance. There are many a time where you know that you do not have enough bandwidth to dedicate wholly to something that you do not even start on it. Your subconscious has been trained to reject any activity whose outcome it foresees as not meeting the high standards you have set for yourself.  Hence, you do not even start on it. When you face this sort of situation, reason with your brain saying I know that I might not ace this, but I want to do it just for the fun of it. There is no rule saying you have to ace each and everything you do. Many a time, the joy of doing something beats the outcome.


Take for example that you have assigned a project which is rotten at the core and your job is to fix it. The rot is so thick that it permeates every aspect of the project. Being the perfectionist that you are, you want to set right everything all at once which is humanly not possible given the extent of the rot. Hence you become depressed and sour and lose sight of the original goal. The right way to solve this is to tell yourself that little drops of water make a mighty ocean. List all the things wrong and prioritize what needs to be fixed immediately and get to work. The other inefficiencies going around will irk you, but remind yourself that one day you will get to it and set that right.

You start something with zeal, you are almost in sight of the finish line, but you never seem to get there. Why? You are in an infinite loop of polishing and improving to meet the high standards you have set for yourself. The question to ask is, is the time you are investing in refining giving diminishing returns? Are the improvements making any difference other than making you feel accomplished? If the answer is yes, finish it and call it done.

Being a perfectionist is good, but as with anything, do not take it to an extreme. There is a saying in our ancient philosophy, even the nectar of life if taken in voluminous proportions is poisonous.