Monday, October 13, 2014

how NOT to hire for startup in India?


I've been trying to hire programmers for my startup for past 8 weeks and have learnt a few important lessons. I hope some of these lessons will help few people.

Which is the best job site in India for startup hiring? I've tried nearly all the job sites. Yeah, you heard it right: All. Indian job sites as well as Indian editions of global websites. Paid sites as well as free sites. All these websites claim to have thousands of actively-looking-for-job candidates who are eager to grab your job offer so you'll start with very positive note. Here is my first-hand analysis of few major websites:
  • Naukri.com is the biggest job site brand in India. It's just because of their brand influence that I paid them twice. First time for posting a job vacancy (they call that as 'hot vacancy') and the second time for their resume database access (their jazzy name for this is Resdex). Both these attempts proved to be a futile exercise. When you search as an employer on Naukri.com, it will show 2k-3k active candidates for your job criteria but that's just a mirage. 
    • For my Job posting, I got 42 candidates' responses. Many of the responses were from freshers (even though I clearly mentioned that I am looking for 2-5 years experience candidates). Most of the remaining candidates who fulfilled my job criteria had a very below average coding experience. They have mostly worked on small Wordpress/Drupal/Magento websites. None of them has worked on high traffic high performance websites. 3-4 folks had good website portfolio in their CV, but none of them could even qualify first basic screening round. 
    • In the second attempt, I took resume database access with Naukri.com. Why did I try Naukri second time when they failed abysmally the first time? When I tried Naukri.com second time, by then I've been trying to hire for 5 weeks and exhausted all other options so I had to try this jazzy like database access as well. Database access feature allows you to mail suitable candidates in just 1 click. I mailed 1850 candidates (yeah, that's toooo many but I guess 5 weeks hunt and having tried all other possible options made me desperate). Plus I thought let people at least apply first, then later I can very well filter them. 40 of them showed interest, 10 of them were re-applicants from first posting, rest of them had so routine-nothing-to-brag-about portfolio that I didn't even call anyone for screening round.
  • indeed.co.in is not so popular in India, but I anyways gave it a try. The majority of the candidates were outstation candidates (even though I had clearly mentioned that only Delhi candidates need to apply). No solid candidate applied hence nothing productive out of this website.
  • Linkedin India. I always had this firm belief that Linked is hoax (more on this some other time in some other post) but I had to give them a try as everyone I know is on Linkedin so I thought suitable candidates must also be on Linkedin. My belief tested positive and Linkedin didn't deliver. Stats: Got 40+ responses but none had good enough work experience.
  • AngelList (angel.co) proclaim itself as exclusively for startups. Most of the folks who applied here were freshers. I even tried to proactively approach many of the promising candidates, but no one seems to be interested in joining an unknown startup.
  • Third party recruiter/consultants: These guys claim to provide candidates' CVs and guarantee you job hire in 15 days. I didn't try them and neither should you. If you yourself wholeheartedly can't find suitable candidates even after scouring all possible job sites then how can these guys? They don't have any secret candidates who are waiting only for your job offer.
  • You may ask: did you try hasjobs.co or hirist.com or .....? yeah, tried them all.
Some of the above websites might work really well for big companies while others might work really well for well-known-established startups, but they are not meant for newbie startups. You might be willing to pay good salary or you might also have decent office in decent locality, but nothing works :)

The quality of candidates applying to startups: Most of the folks I got as candidates were from second rung engineering/MCA colleges with very poor work portfolios. Most of the developers have worked on basic websites for small businesses. None of the candidates I got had experience on high traffic decently successful product/website. Most of them didn't have working knowledge of git, unit testing or database/server performance measures. Most of these developers are employed with thousands of small (5-20 people) website-making companies that mostly get their business either from freelancing websites or from local businesses. These folks are not interested in startup idea or power/capability of the idea, they are just interested in their salary.

Does that mean India doesn't have rockstar developers? There might be small fraction of good developers in India but all of them are already working with big giants like Microsoft, Amazon etc who can pay them highest possible salary, provide them plush offices and best peers to work with in India. These coders are looking at startup only from a single angle: as a future founder/cofounder. I know most of them will not be able to leave their cushy well-paying job but still there is nothing wrong in dreaming about being a founder one...fine...day... These guys won't even apply to your startup.

Let's find CTO first: I've seen many companies who, once they fail in hiring good developers, start to look for CTO. They think that once you've a good CTO then it will be easier to build the technical team. Plus CTO will start working on the product from day 1 so at least some progress is visible. Tell me one thing: If you are not able to hire a good developer, will you succeed in hiring CTO. The answer is NO. I've seen few companies trying this in vain so I didn't even try this.

Remote team: When I didn't find any good programmer in Delhi NCR, I thought let's find good developer wherever they are in India (I can't afford European/US developers) and work remotely with them. I tried this and burnt my hands. Working in remote team require highly disciplined self-driven folks (in addition to other technical skills) which is again a tough task to find. More on this later in some other post but for the sake of brevity let's say that remote working is not conducive for Indian startups.

Dude, Stop complaining. What's the solution? To be very frank, I've not found a solution yet. I think that having solid technical cofounder/s is the best bet. Cofounders together can design and code to launch MVP, gain some traction to make a name in the market and then start hiring. I would like to believe that better candidates will approach more established startup (I would write about that someday once I verify this:) ).

'Startup' is a glorified term that's mostly associated with glorious entrepreneurs, m/billions of dollars, innovation, brilliant people to work with, solving global problems etc etc but at first startup is just an idea. Everyone has hordes of million dollar ideas so no one cares about your idea. Cofounders are the only ones who will go through this unknown, not-glorious journey without plush office.

PS: Advice to Indian developers: I know Indian education system doesn't give you any practical training or right exposure but today they are so many open online courses from where you can learn everything from designing good UI to making large scalable websites. If you are not learning awesome stuff then you are just making excuses.

Edit: Do you have the technical capability and grit to change the world? If yes, I am looking for Technical Cofounder: https://angel.co/lenro/jobs/77320-technical-cofounder

Saturday, February 22, 2014

Doing startup in parallel with your job

Are you thinking of working on your startup in parallel to your job? Here is the news: It won’t happen.

Startup is tough. Startup is demanding. Startup is a roller coaster. You can’t do it while doing something else. You might be able to (very convincingly) fool yourself that you are doing your best while doing it in parallel but startup is 24*7 deal, you can’t do it part time. You'll work (it'll be more of trying-to-work) late nights or on weekends and feel good about yourself that you are working hard on your way to startup but feeling good is not same as delivering the product.

Why doing startup in parallel is a bad idea?

You won’t have sufficient time: If you wish to extract a few hours everyday for your idea execution then it won't be easy. Your job will keep you occupied. Your work will have phony deadlines, meetings for the sake of meeting, you'll have to deliver something howsoever useless that stuff is, your office water cooler gang will keep you busy, may be your have hordes of time in office but you need to pretend to onlookers that you’re very busy, may be you’ve to mandatorily spend 9 hours in office due to some shit office rule. Something or other will keep you away from your startup work in office. And if you manage to find some time to work on your stuff then: What if someone will look, what if someone will find out, what if your friend will ask you what are you doing, what if, what if and what if…… You’ll spend more time finding answers to what ifs than doing something constructive. Few days you might be able to devote more than 10 hours/day for your startup but otherwise it will be weeks when you’ll average less than 2-3 hours a days for your real work. Who has more success probability? The one who is focused and continuously slogging for 12 hours a day, day-after-day or the one who is somehow managing 2-3 hours a day that too with dissipated focus and energy?

Incremental Progress: If you are doing startup in parallel then because of smaller number of invested hours into startup you will not see incremental progress every day, every week. If you get stuck on some problem (and you’ll face a lot of them) then if you are working solely on startup then you’ve entire day, day-after-day, to solve the problem. But if you are solving something part time then you’ll take a few hours to get back to the problem, few hours to get into the groove and by then that day’s quota of limited hours would have been over. We work harder and with more passion when we see things are taking shape, when we see can see fruits of our hard work. If things are not taking shape or if they are not getting solved at expected pace then we lose heart, howsoever small dismay that may be. Incremental progress is the fuel to your dreams.

You will give up: Startup has lots of dark phases. There will be time - many a times - when nothing will seem to work and no solution seems to be in sight. Then you think of leaving. At the very least, you start to explore other options. When you have things going in parallel then you will have plenty of things to care for and plenty of second choices, so you unwillingly unknowingly give up during dark phases and move on to try other options. You might peace yourself with, “ I have given my best”. But with startup as the only option, you don’t have any other choice, you don’t have any other option. Either you fail or you succeed. So you will have to find some solution, some workaround to the problem. And there is always a solution a problem if you stay with it long enough and not give up. 

Reasons you are running things in parallel:


You are not convinced: If you are not doing startup full time then in simple terms you are not convinced. Either not convinced about your idea or not convinced of your capability. Both the cases are fatal. Stop wasting your time and go figure why you are not convinced.


If you are worried about your idea, then stop worrying. There is never a good idea. All ideas initially seem small, may-not-work-types. If you’ve done your homework and your gut tells that it’s kinda ok idea then get going.
If you are worried about your capabilities then give me one example when Superman founded a great company? None. People doing a startup do something because they really want to solve a problem, not because they can solve a problem. If you want then you’ll find ways to how you can.


I can’t start because of xyz reason excuse: Don’t have enough money to support yourself or your family? Need some backup money before you take the plunge? You want to gain some more experience in this field before you are ready? You are too young to start a startup or too old? You intend to start after 2 years? These are just excuses. There is never a founder who has enough money or enough experience or insanely great team before starting up. Everything gets done on the way, on the job. Trust your gut and startup.


You want to save your face: Startups fail. Oh yeah, majority of startups fail. If you are working on something in parallel then you have lots of excuses if your startup won’t succeed. “I didn’t have time”, “I was working on that other higher priority thing”, “this wasn’t a full time project it was just on trial basis”, “come on at least I tried” etc etc. But when you are working on startup full time then either you succeed or you fail. Nothing in between. No excuses.


Courage: You don’t have courage. Courage to think big, courage to take the leap, courage to execute, courage to stop giving excuses and stop fooling yourself, courage to stand up to your near and dear ones, courage to start. Finally it all boils down to courage. To start a startup you need courage, nothing else. Not money, Not being highly technically competent, not great team, no support of family or friends but ….Courage. Startup is so stacked up against odds that without courage you can’t beat the odds. By various means (education, reasoning, technology), you may be able to silence a few doubts, you may be able to sideline few obstacles, you may to able to beat few odds but to start despite ALL the odds needs Courage. If you don’t have courage to wholeheartedly dedicate yourself on the altar of startup then there is not much hope.


Job is a quagmire, especially if you don’t love it. Sometime you’ll cling to job for some promotion, sometime for next salary because you need that money for some important event, sometime you can’t leave because what will you tell your girlfriend, sometime you won’t leave because you’ll prove yourself irresponsible once again in your parents’ eye, sometime you need to get married so you can’t leave job, then you can’t leave because you’re married and need to run house, then who will have to pay fees of your kid and then….In short, You are screwed. Everyone wants to do a startup but how many of us finds time and dedicate that time for startup? The-job-you-don't-love kills your passion to conquer the world and s.l.o.w.l.y makes you from Alexander the great to yet another average guy.

Stop wasting time fooling yourself. Find courage to pursue your dream. That’s real you.

Friday, September 27, 2013

Confusing symbols for Shift, Control and Option keyboard keys

If you use MacBook you might have seen utterly confusing shortcuts like:
confusing shortcuts on MacBook
If you are recent convert to MacBook, just like me, then you will go crazy remembering these shortcuts. You don't see ⌥, ^ or ⇧ keys anywhere but still they are so prominent in each and every shortcut. You don't see them, so you can't relate to them hence they are so difficult to remember.

I did some googling around and found out that old keyboards used to have these symbols (icons or figures) on keyboards:

Now world, even Apple, has moved on but shortcuts are still veteran ones. 

@Apple: You are amongst the most user friendly company on this planet and if you ignore dust like this in some of your alcoves then it's not good. Let's find user friendly and easy to remember shortcuts, Please.


Thursday, January 24, 2013

Deciding factor

Life is full of choices and we have to decide. Yes, there are choices even when you fool yourself into believing that you don't have any choice. Sometimes choices are for trivial stuff, other times decisions of life.
Shall I do what is norm or do what I think is right?
Shall I bide time (and count miserable days) with people I don't like or go searching for something better?
Shall I say it or swallow it?
Shall I start my company or keep this well-paying job?
... and so on, questions never stop. So how do you decide?

It's very simple, Choose the path that makes you happy.

If people around you have accepted rat race quagmire life and are carrying on the way it is then decide whether that is making you happy or not. If not, people’s opinion is waste.
If people around you are succeeding by being servile or by falling in line but if that doesn't sound like you. Then decide what makes you happy.
World will push you to some mould and expects you to fit in there. Do you fit in or are you discontent there, decide based on your happiness. But even after spending years inside the mould if you feel you don’t really belong there then it is the time to search for happiness.
Sometime people says that its just short term pain but I’ll happy one day. That one day is today. Tomorrow never comes.
Struggle doesn't means unhappiness. Struggle can be road to freedom, path to happiness. If you've chosen your struggle and it's not enforced on you, then you'll feel happiness even in struggle.
Expectations from family, society, job, friends is just mirage. Once you've decided something then people and environment will mould themselves accordingly. Whatever you decide, you may wonder if that is right and wrong; there is no right or wrongWill you do it if money is not a criterion or if you don’t have to please anyone? Any money, place, person that makes you miserable is Not worth it. 

Choose Happiness.

Sunday, January 13, 2013

Why not?


Do I need to change my job? Shall I wait for another 3 months?
Do i need to start a startup?
Why should I be the one who stand up for this cause?

Every question you ask yourself you are putting yourself in defense. Reasoning with self is good but asking "do I need to stand up for this?" at the start of reasoning means that subconsciously we've already told our mind that we should not do it. We are reinforcing fear and dissuading courageMetaphorically this is like you telling yourself that you can’t even run 1 km and then try to persuade yourself to run a Marathon.

Why not put ourselves in doer’s shoes and start reasoning/introspection by asking ourselves 'why not?' There are chances that you’ll think from totally  different angle. 
Why not change the company?
Why not start a startup?
Why not I stand up for this?

Why, how, are the words for people finding excuses. 'Why not' is for doers. Why not frees you from shackles of doubt. Doubt is always there, even Mark Zuckerberg was skeptical of Facebook as a company when he started it. In fact every entrepreneur has been. But why not startup? Let’s start up.

When you need to ask yourself any question start with: Why not?

Friday, December 28, 2012

Design considerations for Codecademy

Codecademy is a great website for learning programming. It is helping thousands (may be millions) of people learn how to code. Content wise Codecademy rocks however there are few design areas where Codecademy can improve on. Before I want to start on I want to state it categorically that am not a professional designer. I am just a grateful user who wants to give my feedback to a very useful website that is giving so much to users. Here I go:
(Note: please click on blog images for bigger, better and clear images)

Codecademy header needs to be visible. Always.
Codecademy header


Header contains a company’s brand identity (logo) and the most important links. Moving header outside visible page (like in image below) when user scrolls down is not a good option. Always flaunt who you are.

Codecademy header not visible





Other moving and fixed parts:
Editor area and Result area should always remain fixed on web page independent of scroll (unless when user scrolls to the bottom of the page for footer). Even now Editor and Result areas are somewhat fixed but slightly moves up and down as user scrolls up or down. There is no need for them to move. While writing a line of code user is generally focused on a particular line in editor area and simultaneously going through lesson's instructions. When user scrolls up/down the lesson instruction pane, Editor area also wavers up/down because of which user need to refocus/find her line of code again. Lessons' instructions should move up and down independent of right hand side Editor and Result area. 

Run, Reset and Save options:

Run, Reset and Save buttons/info is getting duplicated on screen hence eating a lot of precious web space. Info from both the highlighted areas (in image above) can be clubbed in a single horizontal row. Something like: 
Green Run button (Ctrl+enter) then Red Reset button (Alt+R) then Grey Save button (Ctrl+S).
This will also free up some space for increasing height of result area so that users can see more lines of result in result area. Exercises where result is displayed in various lines will be better and fully displayed in that case.

Movement from one section to other:
When one section is finished in a course then link to next section is shown in result area. If we click on that link then next section instruction set appears but it is never completely visible on web page. Some part of the lesson is always hidden at the top. A user has to scroll up the instruction panel to see start of new section’s instruction set.

Wrapping text in Editor as well as Result area:

If some error message is longer than width of the result area then result area doesn't auto-wrap the message. It just goes beyond the console area and is not visible.

Codecademy track>>course>>section alignment:


Course hierarchy seems to be displayed in disorderly fashion on web page. Track>>Course (for ex JavaScript>>Getting Started with Programming?) is on right hand side while section name (“Why learn programming” in this case) is on left hand side. If all three of them can come neatly on left hand side (may be like: JavaScript>>Getting Started with Programming>>Why learn programming?) then hierarchy will be more clear and some precious web space can be spared for Editor/Result area.

Thursday, December 20, 2012

Would I love to work this on my deathbed?


This might seem a bit extreme criteria to evaluate what you really want to work on but answer to this will tell you whether the job that you are doing now is meant for you or not. Whatever you would love to work on your deathbed you should be doing that now. Earning livelihood by doing some job will make you like so many people who want to just do their job, earn, retire early so that they can enjoy their life -- metaphorically it's like saving up sex for old age. Why would you want to retire if you love what you are doing? If you don’t love your work then nothing great will ever be created by you.

There are hordes of stories of people working unbelievable number of hours everyday, people working very hard despite very unfavorable conditions. You can't make those people work like that just for livelihood, they work for their love. People working on job wait for 5 pm.

Mathematician Euler lost one of his eyes in his twenties but that didn't handicap his love for math. In fact he went on to say that "I’ll have less of distraction". He kept working and lost vision in his second eye at age of 70. Even complete blindness couldn't stop him working on solving mathematical problems. He proved to be even more productive in his blindness and worked for 17 years in total blindness.

This is not madness for mathematics. This is epitome of love for the job/love.

Find your love.  If you haven't found it yet, keep looking. Don't settle.