It was July 2008 and I was back in India with absolutely no clue as to what I will be doing. I didn’t even had an office at that time. Had absolutely no clue as to how I am going to hire, and even if I am going to hire folks, what will they be working on. The only sane thing at that time from work perspective was the contract I had with my employer in the US.
Not sure where to go looking for people to hire, I visited a number of computer training institutes in Udaipur. It was an interesting experience meeting with some of them. One of them actually encouraged me to join him and start teaching software development course. He told me that “I would be a massive hit amongst students given my experience”. Anyways, people were generally very helpful and some of them did send their students later for interviews (unfortunately all of them got rejected).
First Hire (Yay!!!)
Our first hire was a cousin of a very close friend of mine. He had just finished his engineering and had an offer from another company but because of recession of 2008 the company was not calling him to join. My friend asked me if his cousin could work with me for a few months till the time he gets a joining letter from that company and I said yes. Met him over a cup of coffee, gave him an offer and he accepted it. Still no office, BTW . So we started working out of a room in my home (NO, we didn’t start out in a Garage simply because it’s too damn hot in Rajasthan to work in a garage). I already had a working product (Omega.MSSQL) which was for managing SQL Server databases. Oblivious of the fact that there’s an excellent browser-based tool for managing MySQL, I tasked him to learn about Java and MySQL. We later abandoned both – Java & MySQL .
I think if you’re a product company, from a technology perspective it is somewhat better to put all eggs in one basket. Obviously you would need to be really careful what that basket would be, but once you decide on a particular technology, it’s better to stick with that unless you have a compelling reason to do otherwise. For us, we decided on Microsoft and .Net. If you’re a service provider company, I think it’s a must to broaden your horizons and get a good understanding of the technologies at your disposal. IMO, service provider companies should also take some risk playing with newer technologies as what’s new and niche today will become common tomorrow and the sooner you get in the market with that, the better leverage you have over your competitors.
Office (Yay Again!!!)
Finally we managed to find a space close to my home (and we’re still at the same place). Since it was in a residential area, we got that dirt cheap + it was furnished (big plus for me as I don’t have to shell out the money that I didn’t have yet to furnish it). Also, did I say it was very close to my home? . Back in the US, my office was about 45 miles from my home and on good days it took me 1+ hour commuting back and forth. That commute all of sudden changed to a 5 minute. You can’t ask for more.
By the time we finalized the office, I had another guy on our payroll. So now we were a team of 3 people. Within a week of us moving, that count increased to 5 and within a month we were a team of 8 people. Most of people I hired were through referrals. My team member told their friends that we were hiring and they came for interview and stuff.
Since it was still an unknown company, only fresh graduates applied. This is the trend we’re keeping even now. My first preference is to hire a fresh graduate than somebody with 2 – 3 years of experience. I will talk more about it in a subsequent post where I will share my experience regarding recruitment, training and HR policies we had in our company.
Some of the folks we hired were already had offers from other companies but were waiting for their joining letters. As and when they started receiving their letters, they left so we saw some attrition as well. But I think I have been blessed with good team members where they didn’t ran off without letting me know or running without giving/serving proper notice period. It’s been close to four years, and I feel proud to say that we didn’t have a single unannounced attrition. People who left, left gracefully and we parted ways amiably and I thank them for that.
In fact, we had discussions with them before they decide to leave the company whether this move would be good for them or not. At that time, more than an employer, I played the role of a mentor. I think it’s very important for both an employer and employee (or boss and subordinate) to have that kind of relationship. I still go to my ex-team members if I need their help and they do the same as well.
What We Did Then
So here I had a team of 7 – 8 people all of them were fresh out of colleges. First I didn’t have an idea about what we are going to build and second these folks were not ready to code just yet, so we read and we read a lot. All of us (including myself) started learning .Net framework. Back when I started learning .Net framework, I found a book by Jeffrey Richter titled Applied Microsoft .Net Framework Programming (Flipkart / Amazon) and I must say that this was and still is one of the most excellent books I have read for understanding .Net framework fundamentals. We used the same book to learn .Net.
Everyday, all of us we went through one or more chapters and discussed those chapters in detail as a group. Having gone through that book made all of us aware of what .Net framework was all about. Even though this book is written at the time of .Net framework 1.0 but it is still very relevant and I still make all the prospective candidates and new hires go through this book religiously. In fact, our technical interview is solely based on this book.
Other than that, we used to talk a lot about a number of other things not related to work. I, being the “Old Guy” obviously had a lot of stories to tell. Initially it used to be one way talking but gradually the team started to open up and we end up discussing a lot of things.
One important thing we talked about was the “Biggest Problem with a Developer Developing an Application”. IMO, the biggest problem with a developer developing an application is that when they develop an application, they always think like a developer. They have this mentality that “if I can use it, everybody else can” which basically throws user experience out of the window. Later on when we built our products, we tried very hard not to think like a developer and instead think like a user but let me tell you this from my experience: It’s really-really hard. We messed up a number of times but what saved us was the fact that we were aware of this shortcoming of ours and hence interacted very closely with our users when it came to building the application.
I think you have to be wired differently to think like a user. Now that we’re working very closely with Red Gate folks, I am starting to see that. Red Gate’s motto is “Ingeniously Simple Tools”. It’s not something they just wrote. It’s in their genes. Seriously, I’m not kidding. The way they think is something I can probably never will, but I’m learning. Hopefully someday I will get good at it . Trust me, there’s hope!!
Anyways, coming back to what we did. So we learnt about the basics of .Net framework. Also in the meantime, we procured a server which served as our Active Directory, Domain Server, File Server, and SVN repository. I got a chance to install and configure networking in my company . I think it is really important to have a version control system in place no matter how small you are. Even if you’re a single developer, you need to have a version control system in place. Without this, don’t even think about writing a single line of code.
After we learnt .Net framework, next thing we worked on was learning Silverlight. It was the most happening thing at that time and I thought of converting Omega.MSSQL from ASP.Net based application to Silverlight based application. Along with SL, we also learnt WCF so that we can port part of our code as service. In fact, we started porting the application to Silverlight/WCF but then abandoned in between.
Huh!!! WTF is that? Well, there comes a time when every founder starts doubting if they’re doing the right thing or not. For me this doubt came even before I realized what do we want to do . This was my “failed” attempt to pivot (if you even call it pivoting). Inspired by Zagat (http://www.zagat.com/), I thought it would be cool to build a website for rating hotels. Worrying that I am sitting on a million $ idea, I registered the domain as well. I met with a few hotel owners here in Udaipur. We even had a few design meetings as well.
Luckily for us, nothing came out of it. Spent about a week or so and then abandoned the project and got back to where we are doing what we’ve been doing.
All in all, first few months were pretty fun. Team members got employed and started getting salary. I could proudly say that I have started a company and hired a few people. Not much work, relaxed environment. In the next post, I will share the story of how we built, released, got somehow famous and subsequently scrapped our first product all within a span of 4 months.