In this post about my journey with Cerebrata, I will talk about team management (erstwhile known as Human Resource Management or at times in India as Personnel Management). Our team management policies are built around one simple principle:
Karma is a bitch! You mess with karma and in time karma messes you 🙂
Let’s start with recruitment first.
Who We Hired
Almost everybody I hired for the startup was a fresh graduate (fresher). There were a few reasons for that:
- I was cheap :). Basically one could hire a fresher for a lot lesser than somebody with an experience.
- Freshers are eager to learn and they don’t come with any baggage of their own. I interviewed many experienced developers and even if they are not capable enough, their demands were very high and unreasonable considering their capabilities.
- There were not too many choices for me. I was set up in a small city and not many folks would want to work in small cities. Even when people knew about what we are doing folks were a bit apprehensive about coming and working from a small town like ours. In the initial days, we were not known thus folks were quite apprehensive about joining an unknown company.
How We Hired
Our hiring process was rather simple. I knew that since I am hiring freshers, I didn’t expect them to know about the technologies (Cloud, Silverlight, WPF etc.) we’re using. What I expected from them is to have their core concepts very clear around .Net framework and Object Oriented Programming. Since I knew everybody (including myself) would be doing development, for interview I gave them a book related to basics of .Net framework and asked them to read that and come back only when they feel they’re ready. To my surprise, not many people came back. Those who came back, stood a very good chance at being hired. Then I had many rounds of discussion around that book and ensured that they have the basic concepts of .Net framework.
Apart from that I gave them a small exercises to test their thinking abilities. One common exercise I gave to most of the folks is to look at a website and then identify issues with that website as far as usability of that website is concerned and asked them to come up with their ideas as to how they would have built this website if they were given a chance. Other exercise I gave to few folks is to come up with a solution to reduce traffic congestion in the city. What I essentially want to find out was how they would think.
Now let’s talk about HR policies in Cerebrata. The answer is actually quite simple:
THERE WERE NONE
I do believe that you really don’t need strict policies and procedures in place if you’re small (read: a team of 10 – 20 people). I think you should be able to manage it without them. To impose these policies and procedures, either you (as a Founder) manage them which I believe is a huge waste of time of yours or hire somebody else to do it which again is a resource (and not to mention money) wastage.
I guess the policy I wanted to instill was that of “Being Responsible”. I wanted my team members to think and make decisions themselves.
Technically there were policies but think of them as unspoken rules. Here’re some of them:
As I have mentioned earlier, I was in the US before coming to India and thought I would instill the same policies (like vacation and stuff) here as well. So we started off with 10 paid vacations per year. We even had an attendance register in our office where everybody would mark their attendance. I know, quite lame :).
And then I had my moment of awakening :)!!! I ran into a presentation from Netflix Culture on Slideshare: http://www.slideshare.net/reed2001/culture-1798664 and this kind of opened my eyes. I believe it’s a must see presentation for everybody. A few things came out of this:
- Attendance register was discarded :).
- Vacation policy changed from 10 days / year to at-your-will vacation policy. If you feel like not coming to office, then it’s OK (but just let me know :)).
In any company, compensation (or salary) is one of the major motivators for any employee to stick around. We were also in the same boat. As I said above, I hired freshers because I could get them cheap and I was quite open with them about it. However one thing I did with them is to give them salary increments at regular intervals (usually 3 months) so that after an year they are earning almost double than what they started with. Obviously not everybody got 100% hike and it depended a lot on individual’s performance but generally speaking most of my team members doubled their salary. This trend continued for each of my team member for a period of 2 years or so when I felt that now they’re paid at par with the market and then the 3 month interval changed to 6 months for them and then to 1 year.
To reduce management complications, all my team members got was bare salary. A number of companies play with the salaries by breaking up the salary into multiple components here in India like medical, travel etc. There was no fancy breakup here. They got the salary written on their offer letter. No more, no less.
To me personally, salary was the biggest obligation towards my team members and every month I fulfilled that obligation the first chance I got. Usually many companies hold on to the salaries till the end of 1st week of month (for the previous month’s salary) but I tried and paid them towards the end of month. If I am travelling towards the end of the month, either I paid them before that or told them that it would be delayed by some days because of my travel.
Since we didn’t have any vacation policy, it didn’t matter how many days one worked. They would get same salary each month.
It was one of the unwritten rule. Everybody treated everybody professionally. I told my team members that in context of office, the other team members are not their friends but that doesn’t mean you treat them with professional animosity. We had (and still have) a culture of mutual respect and admiration. I tried to build an environment where team members were not afraid of sharing their knowledge with other team members without instilling those “brown bag lunches” :). I saw in many companies where folks feel that if they share the knowledge, they’re somewhat putting their jobs at risk. Not here. Here we promoted the value that by sharing knowledge you actually increase knowledge.
Aah … the mythical work/life balance :). Our rule was come to office on time and leave on time so that one can spend time with family. Folks in our office are expected to come between 9:30 and 10:00 every morning and leave by 6:00 – 6:30. In fact, I’m usually the first one to leave. Rarely I’ve seen folks stay past 7:00 PM in the office and that’s perfectly OK. We didn’t have any competition as to who stayed last in the office :). Like most of the technology companies, we have 5 days week. Now that the team has laptops, they work quite late in the night but they work from the comfort of their home near their families. We observed 5 days working week but there was a period of 3 months in 2011 when we had to make a change and asked the team to work 6 days a week. However to compensate that, we started off by completely shutting down office for 7 days (absolutely no work for those 7 days) and then we got into heavy grinding mode.
I have expressed my contempt earlier also for an employee signing up a bond to serve the company for certain minimum amount of time. I absolutely disdain this practice. My thinking is that working for a company is a 2–Way street: One will work for a company till the time he/she finds value in the company and feel valued in the company and a company will keep an individual in employment till the time company derives benefit from that individual. When any of this is broken, there’s no point in continuing this relationship. Why would any company want to instill bond to create a fake sense of togetherness? Some do it under the pretense of training but that’s bull shit IMO.
At the end of the day, it’s a commercial relationship between and employee and company and people leave. One thing I made it very clear to my team members that they’re free to leave the company anytime they want but I asked them to sever the relationship in a professional way. I expected them to serve the notice period (which was one month) and then we part ways amiably. Even though we kept one month as the notice period, we never enforced it. The moment somebody has intimated me about their intention to leave the organization, I knew that they have mentally resigned from the company. The purpose of the notice period is to ensure the handover happens smoothly. As soon as they’re done with the handover, they get their employment certificate and their last pay check and they’re out the door. No hard feelings really on both parts.
I don’t understand why certain companies have 2 – 3 months notice period. I sincerely don’t. And the fun part is that they make that employee serve that entire notice period. This is simply ridiculous.
We didn’t have any restriction on Internet usage in the company provided they are not doing anything illegal (e.g. watching porn or downloading pirated content). Everybody is allowed to use Facebook or other social media sites. What I asked of them is to be reasonable. In fact, I told them Internet usage in the company is a privilege and not their right, so use it wisely.
Was my trust in my team members misplaced? Sometimes, Yes. Was this policy abused? Many times. But since we didn’t restrict them specifically, team members appreciated that and over a period of time it improved a lot.
For anybody, it’s important that they keep on growing within an organization as well as an individual too. I had put a lot of emphasis on my team members to learn new skills. Some of them took that seriously and learned new stuff while some just took that as a passing by remark and paid no attention to that. Initially I used to get quite angry with folks who didn’t try anything to learn new stuff but over a period of time I understood one thing: You can bring horse to a river but you can’t make them drink :). Those who did, I helped them; and those who didn’t, well … I better not say anything :).
Some of the things we did in the company are:
- Signed up the team members for English speaking course. That not only helped them to speak somewhat better English but it also boosted their self confidence.
- Signed up for Pluralsight courses. I think for any organization involved with software development, Pluralsight (or similar) subscription is a must.
- Encouraged them to participate on public forums/write blogs etc. One thing I made absolutely clear to them is that I understand that they’re not going to be working in this company forever and for their next job they have to be visible. This would also help them understand new things.
- Encouraged them to do moonlighting. The team members were encouraged to take on side projects and work on them as long as it is not impacting their work in the office.
You would be surprised how small things you do could motivate the team and go the long way. The team is treated to really fancy lunches and dinners. In fact, my friends use to joke about it that one should work with me just for these lunches and dinners. We’ve been to most of the 5 star hotels in my city (and there are very many :)) and the few which are remaining will be covered in next few months!
In past few years, I have travelled extensively abroad. I made sure that every time I go there, I get something for everybody as gift – T-shirts, watches etc. It was understood that chocolates will come :).
Sometimes motivating could be as simple as to acknowledge that you’re wrong. At times, team members would come up with suggestions which I (in my utmost wisdom :)) would turn down only to have the same suggestion come up from our users. I felt no shame in saying “I messed up” to my team members. That not only increased their confidence but also encouraged them to think more and come up with new ideas.
This is quite an important trait to have. When it came to a team member’s performance, I was brutally honest with them. If things are not working out, I would call them in a room and tell them that as a matter of fact. We work together in ensuring that the issues faced are resolved as per everybody’s satisfaction.
The things I could share with the team, I shared with them. For example, I shared with them when I was going to meet with Red Gate for acquisition. I told them that I am planning on selling the company and asked them to not to tell anybody about this till the time things are finalized. One would balk at the idea of sharing such sensitive information with a bunch of youngsters but I was quite pleasantly surprised that they kept it secret for a period of 3 – 4 months. Obviously, they had questions about the acquisition and the things I know, I told them. Things which I didn’t know I told them that I don’t know.
I also shared our revenue numbers with the team so that they would know how much money company is making.
First Mentor, Then Boss and Then Owner
With my team, I was their mentor first before anything else. Yes, in the hindsight I was their boss and also the owner of the company. I encouraged them to discuss anything with me. We discussed potential job opportunities and what will be good for them and I tried to provide very unbiased opinion.
As I mentioned in one of my earlier posts that I was an employee before so I knew exactly how they feel. Having empathy is the key in an employee/employer relationship.
Well, here’re some of things I did at Cerebrata to keep team together. Some of the things worked, some didn’t. Some folks stayed around while some folks left. I’m actually quite proud of what I have done. I hope some of you may find it useful. Do share your thoughts on team management. I would be very interested in knowing about them. Feel free to ask any questions by providing comments.