Thursday, October 29, 2009

Why interviews are so tough?

I often hear this - The interview was as if the company wanted me to build a spaceship, and now all the work I am doing is nowhere better than data entry.
Why do companies take such tough interviews during hiring and reject so many candidates when quite a lot of them are qualified to do the work they offer? Being on the other side of the table for quite sometime now, here is my point to view.

The World is full of boring/routine work - Vikas said that in his post Good Work Bad Work, and I couldn't agree more. Call it 80-20 rule, 90-10 or 99-1, challenging work is hard to come by.

Smart people take challenge in doing the boring work in a smart way - Regular people will do manual testing of their code, Smart ones would write automated testing code, Smart and experienced would know when to do manual testing and when to automate. Companies want smart people because they save their own time and teach the world to do boring stuff in a faster way.

Only smart people can solve difficult problems - So you have been doing all this boring work in your project. The project is deployed now. Suddenly the system has started failing consistently. Who is going to dig into the issue and solve it? The IT industry is different from most traditional industries in one fundamental way. Here, there are problems which average people cannot solve in their lifetimes but a smart one can solve in 10 mins. Smart people are troubleshooters. Companies need troubleshooters.

Apart from these, I believe that there is also another important reason related to human psychology. If the interview weren't tough, the candidate would feel it was too easy to enter the organization. During my job career, I took the toughness of the interview as an indication of what kind of peers I would have, and how good the company is in general. And the companies where I got in too easy were never the best places for me to work.

Some tips for a tough interview:
- Open ended questions are asked to judge your thinking. So Think, Think and Think out of the box. If you give a non-stupid answer that the interviewer has never heard before, thats a big bonus. Giving multiple solutions is also a good idea.
- Be prepared to write code on paper. Writing code really means psuedo code, don't worry about the syntax.
- Every interviewer has his own way of judging candidates, so don't panic. I used to ask only 2 questions to a candidate and never expected to get full and complete answer.

Monday, August 31, 2009

Which Payment Gateway to use in India?

Every internet startup, sooner or later, faces this question - How do I charge money from my customer online? And there comes the ultimate question of which internet payment gateway to use on your website. This is a tricky question particularly in the Indian context, as payment gateways available in India do not come cheap and can have issues with reliability as well.

We were also faced with this ultimate question for, and we did our research.

There are 2 types of players in this field, one is a 3rd party service like ccavenue, ebs etc which ties up with many banks, and other is the bank itself providing its own payment gateway (like ICICI payseal). Broadly they are different in the following ways:

  • Both players accept all type of Mastercard and Visa credit cards. 3rd party players typically have more options than banks in terms of debit card acceptance, net banking options and other payments modes like cash card.
  • Banks are for high volume players. They have lower TDR (the % money they keep per transaction) plans and relatively lower setup fees than 3rd party providers, but if you have low volumes, they would turn out to be expensive.
  • 3rd party players have plans as cheap as Rs 5,000 setup fee, but the TDRs can go as high as 7%. They would never go below a TDR of 2.5% approx, which means that at higher volumes, you would need to switch to a bank to get a TDR below 2.5%
  • Banks need lots and lots of paperwork, and integration time is usually more than 2 weeks. 3rd party players typically have lesser requirements.

Here is my individual assessment of the players I contacted:
  • Paypal : I am starting with this as most people suggest it on internet. Biggest issue with paypal is that it doesn't support transactions in Indian Currency, and hence it adds a currency conversion fee on the credit card. Also, I feel that asking an indian consumer to pay in dollars would turn him away just because of the psychological impact.
  • CCAvenue : The biggest 3rd party player in India. Offers variety of payment options which no other player come even close. Heard that it is quite reliable too. They are also the most expensive in the industry. They don't offer any custom plan other than the ones mentioned on their site, and they don't negotiate either (atleast with small players)
  • EBS : Probably the second best player after ccavenue. The plans are cheaper compared to most payment gateways. They were very responsive when I dropped my phone no on their site and offered me multiple custom plans as well as some discounts. Somehow I didn't find too many existing clients for this.
  • ICICI Payseal : They are probably the only bank who offer to small enterprises as well. If you are willing to spend in excess of Rs 25,000 in setup fees than you would get a better deal here than any 3rd party player. However, 2 issues to note specific to them: Technology reqt of java in integrating their gateway and issues with downtime. I personally noticed their gateway being down for several hours on irctc as well as pvrcinemas recently.
  • Times of Money Direcpay : A relatively newer player in the market. One of its clients told me that they still face a few technical issues here and there. They responded pretty late when I dropped my contact no on their site and offered prices similar or higher than EBS.
  • We tried contacting to Citibank(Billdesk) but they didn't respond. We didn't talk to HDFC at all as we didn't get good reviews for them.
The final two we shortlist out of these for us were EBS and ICICI. Of these, we decided to go to EBS, because:
  • ICICI Payseal had technology dependency on Java. When discussed, they offered another gateway with no such limitation called Nix. But I couldn't find any documentation on that.
  • I believe that EBS should be more reliable than ICICI in terms of higher speed and lower downtime.
  • EBS offers more payment options than ICICI, though the difference is not that great for this to be the sole reason.
  • With EBS, even the plans with low setup costs like their silver plan has reasonable TDR for a small business. Once our volumes are high, we can upgrade to a better plan.

Friday, July 31, 2009

Wedding, Honeymoon ... and back to Business

The long vacation is over. It actually got over some 12 days ago, but getting back to the business keeps you busy enough to stay away from blog.

Ankita is now an integral part of Goel Family. And I thank everyone who was there to witness it. You can find few selected pics of our wedding here.

Keeping in line with the message of, We went to Kashmir for our honeymoon. I would find some time later on to write a full post on how great a place it was and how much fun we had. For now, I'll just let the pictures do the talking.

The remaining photos are here.

With all these sweet memories, now I am back to Bangalore. And as Ankita joins me here tomorrow, we look forward to starting a new life together. Thank you all who have always been there for us. Let the good times keep on rolling.

Tuesday, June 30, 2009

D-Day Tomorrow

Its almost time. Tomorrow is when me and Ankita would exchange vows to spend our rest of the lives together. And tomorrow is also the day when some 270 km away, my dear friend Vikas exchanges vows with Vinita to start their new life together.

Setting an example in extreme startup efficienby, the team has doubled its team within a span of 31 days ;-)

Here's the new team (with 2 potential hires ;-))

Wish both the couples luck as we start a new life tomorrow.

Monday, May 25, 2009

Two great startup articles

Vikas Rana, Founder and CEO, has written a great article about our experiences at running a startup, focussing on what we did right. Do check it out here.

Prateek Dayal, Founder, writes about costs involved in a startup.

Both are great articles if you are a budding entrepreneur. Recommended read.

Thursday, April 30, 2009

Busy busy ... and MSI's new look

There has been times before when I couldn't blog for more than a month. However, I doubt there has been a more busier period in my almost 7 years of professional life.

It has been partly because of the 3 weeks vacation I took to get Engaged and to go on my last bachelor trip, a trip to the North East. I would hopefully get some time next month to write about my experiences there.

The other important reason which has kept all of us here at Must See India busy is the new look of Our earlier theme had been around for some 8 months and we thought it was about time to get something new. We now have an orange theme throughout the site, which looks pretty pleasing to my eye. Also, the pages are much better organized now with one click access to all our new features - flight, train, bus and hotel search.
Please do comment with your valuable feedback for the same.

That is all the time I can spend on this blog right now. You can catch me on twitter for more frequent updates. And tomorrow is an important day in my fiancee's life, so I better get prepared for that ;-)

Wednesday, March 25, 2009

Losing Status

This is that part of the life which everyone knows is coming and no one knows why. Well I did have some sadistic reasons to people who asked me why in the past, but now I would need permission to publish them. So much for freedom of speech :D

I have lost my bachelor status, as I am now officially engaged to Ankita.

Engagement Pics

Bobby, PK, Lapy, Mama, Lalka, Sid A, Karan, Gaurav, Aman and Priyanka - thanks for coming. You are the best. Hope you all and everyone else would be there for the moral support on D-Day.

Tuesday, February 17, 2009

25 Random Things about me

I recently wrote a list of 25 things about me on facebook. Reproducing the same here:

  • I would be surprised if I am able to write 25 things about myself.
  • My college nickname Shakti went on to become my alter ego.
  • I am not a geek in the true sense. I am an entrepreneurial geek. And I know less than most people think I know.
  • I have reverse aged. Most things that people do in college, I did after it. And I still feel around 5 years older than I actually am.
  • I am one of the earliest adopters of most web 2.0 services you see today. Gmail, Orkut, delicious, flickr etc
  • I started blogging in 2004 out of boredom at work. It is one of the best things I have done and continuing.
  • I discovered my fascination for amateur photography during my Kashmir trip.
  • I started my first entrepreneur venture last year.
  • I am a risk taker in general and I love adventure sports. I have done rafting, skiing, paragliding. I wish to do sky diving.
  • I am one hell of a procrastinator.
  • I am a good teacher. I wish to teach a class just for fun.
  • I love snow and the Himalayas.
  • My first kiss was on my bday. My first breakup was on my bday too.
  • I changed so much during college that a college senior who saw me after 2 years couldn't recognize me.
  • Quite a few of my friends take my advice in their personal matters.
  • Biggest compliment I ever got was - It would be really difficult to find a guy who would say bad things about Sanjay.
  • My only ever purchase of Internet services (except for web hosting for my company) is buying storage on Picasa for storing photos.
  • Given enough time, I am a good judge of people. I used to do MBTI personality test on willing friends.
  • I used to have serious aversion to girls till end of college. Now, few of my best friends are girls.
  • I love gadgets. I used to be a mobile phone freak too until I bought the iPhone. I have become totally uninterested in other phones ever since.
  • I love music (even though that seems like a cliche). I own a pair of bose headphones for the same.
  • I am a bad bad singer but I really like to sing. That made me the most popular cacophonist during college.
  • I have been decent in sports. My biggest achievement in sports is winning a silver medal for my hostel in Volleyball.
  • I was the surprise Carrom Champion in my final year at college. It was incidently my debut at the championship. I also loved the Munnabhai MBBS carrom sequence, the only place ever where carrom has been glorified.
  • I have surprised myself. Wrote 25 items and still can think of a few more to write.

Tuesday, January 20, 2009

Which Web Hosting should I take?

Thats the most frequent query that I see in most startup forums. No wonder it is, as setting up a domain is the first thing that any tech startup needs to tackle. Hence I decided to write a post on this, giving my answers. This post will help you with the following:
Registering the Domain
While many hosting providers provide free domains, I believe it is always better to buy your primary domain individually rather than tied to any hosting plan. That ways even if you have to switch your hosting provider anytime, you need not worry about the domain. And with domains costing around $10/year, this is a pretty cheap investment.
There is not much of customer service needed from any Domain Registrar, so I simply looked for the cheapest I could find and registered the domains I needed. I used, and while the website looks unprofessional and I had to call them to get things done, it got the job done at pretty much the cheapest prices I have seen so far. Lots of registrars would offer you Email Forwarding or Managed DNS hosting services, but you would not need them. The only thing you need after buying the domain name is an ability to change its nameserver to point to your hosting provider, and that comes for free.

Web Hosting
Web Hosting is a different beast. Here you need reliable servers, high uptime, good customer service and cheap prices on top of that. My first advice is to look for hosting in US. 2 reasons for that - first, bandwidth is cheaper in US and hence you can find a cheaper deal. Second, in general the reliability of US hosting providers and their customer care is better than the Indian ones.
There are 3 kinds of hosting - Shared Hosting, VPS Hosting and Dedicated Servers.

Shared Hosting
- The cheapest option available and is around $5-10 per month. Basically the server hardware on which your website would reside would also have 400-500 other websites hosted. Such a setup is in general used for hosting blogs or simple sites with low traffic. The hosting provider would offer huge bandwidth and harddisk, however there would be no promises on website loading speed. You can start with this for initial testing as well as till your traffic is low. A lot of people recommend Dreamhost for this. We used Lunarpages, and their service wasn't all that great but it was kind of okay. One piece of advice - look for SSH access. The web admin interface they provide isn't meant for techies.

VPS (Virtual Private Server) Hosting - The server hardware is sliced into 4-5 virtual servers using a virtualization software. So effectively you have your own machine with root access. Internally all the slices still use the same hardware but there are some gurantees on your share of CPU and memory. My friend Prateek suggested an excellent VPS hosting provider VpsFarm. Check out his blog post on why he recommends it. This type of hosting costs around $40 per month and works of medium traffic. A lot of people recommend buying multiple VPS slices for horizontal scaling as your traffic grows.

Dedicated Hosting - You own the whole server hardware. Costs start around $160. We have been using SoftLayer and have been pretty satisfied with that. We moved directly from Shared hosting to Dedicated hosting, primarily because I didn't know abt VPS hosting at that time. My website on Indian Tourism serves quite a lot of static content and VPS may have worked out well for us.

Another advice - Most US sites give out discount coupons/special offers from time to time. Do look out for offers and you may be able to get a good deal.

Setting up Email
Use Google Apps for your domain. Thats free and simplest way to setup your own email@domain-name. You would need to put some CNAME records and MX records in the DNS entries of the Web Hosting provider. If you are on shared hosting, you would need to ask the customer support to do the same for you.

This should solve some of the basic pains of setting up your own domain. One thing to notice is that cost of initial setup is pretty low. A domain name with shared hosting would set you back around Rs. 3000 for an year. That would give you enough time to test your new idea :-)

Friday, January 09, 2009

Upgrading iPhone from 1.1.4 to 2.2

It has been quite some time since version 2.0 was released for iPhone 2G. Even though I thought of upgrading many times before, I couldn't due to following reasons:
  • The sites I used for unlocking 1.x versions didn't provide any info for 2.x, and I didn't feel like googling.
  • I wasn't sure whether my data could be backed up.
  • While info on unlocking a fresh iPhone was available, I couldn't really find anything on upgrade.
  • Most tools I found were Mac based.
Now that I did put enough time on google on this and successfully upgraded, here is how I did it:
  • Before starting, this article is strictly for iPhone 2G (i.e. the first phone Apple launched) using Windows.
  • All your data would be restored to the phone after the upgrade, so you need not worry about losing anything.
  • The process is applicable on both upgrading and setting up a fresh iPhone.
  • This would both jailbreak and unlock the iPhone. If you don't know what jailbreaking is, you need not worry.
  • Standard Disclaimer: Unlocking the iPhone voids its warranty. If you don't want that, don't do it. Of course, if you have the 2G iphone in India then its useless without unlocking.
What didn't work - This tutorial using WinPwn. Probably because I missed a few instructions. In any case, WinPwn doesn't 2.2 as of now.

What worked - This tutorial using QuickPwn. Time needed - 25 mins.

Why should you upgrade? iPhone Apps. Check out all the new apps that are available in iTunes store. I have already installed more than 20 (all free) and they greatly enhance the ability of iPhone.

Trouble Shooting (some steps I tried while giving phone support to friends who had issues upgrading)
  • Check that the restore file you downloaded is not corrupt. You can do it by finding the md5sum of the file. It should be 3603b5d9536cd0b269261cab406a7c38. To find out the md5sum, download from here.

Thursday, January 08, 2009

Life, Recession and some Nostalgia

Sometime around this last year, I was patting my team members on the back. We had collectively achieved what for me was "the biggest achievement of my career".

Some 10 months earlier, my CEO had felt the need to revamp one of our offerings. It was a web application in the Education vertical of Lead Generation market, and it had gone pretty big contributing to almost a third of company's revenues. But the product was a two tier jsp/servlet/mysql architecture with little reporting features. We wanted to take this to the next level - scalable and flexible architecture, easier maintenance, much higher data gathering and lots of reporting, optimization and mining on top of that. Me and a colleague of mine were entrusted with this project.

This was exactly the kind of technical challenge I was looking for. Working on the product from scratch, right from reqts to design to coding to testing/deployment, everything was in my hands. And as I realizes later on, such challenges are not just "technical"
10 months is a long time. Its the time when confidences get shaken. Its the time when the entire business team gets changed. And its also the time when a team to 2 grows to team of 10. And when a guy moves from Senior Software Engr -> Tech Lead -> Tech Architect.

It was a great Dec. There are night outs everyday. Everyone in the team was highly motivated. Typical schedule was working till 11 and then having dinner together. We were determined to get our baby to replace the old boy by January. And we did it. I was so proud of my team. I still am.

Sadly, not many are in the company to witness the 1st birthday of the child. The success of the product gave me enough confidence to move towards my next dream, my entrepreneur venture. But some of the others were not as lucky. I never really felt that recession would cause laying off in Indian companies, but it did happen last month and quite a few of my colleagues were unfortunate to be part of it.

Life does not always have a happy ending, but that does not reduce the flavour of the proceedings. The time we all worked together was great, and I would always be proud of working with such a great team. And thank you everyone for making my dream a reality.