Monday, October 3, 2011

Startup: A Myriad of things that can be done!

The beauty of a startup is the flexibility in providing things that make your folks happy. I always believe that unless a person is happy within he/she will never be able to make your customers or others around you happy. It is only in movies such as Anand we see otherwise :)

At Sokrati we keep trying a few things. Many are ideas within from folks in the company.

- Holidays: The company offers 4 public holidays and 5-6 floating holidays every year. The floating holidays can be taken during designated cultural/religious days. This way while some religious holidays may make sense to someone it may not mean much to another. Thus addressing all.
- Fully covered medical insurance: As the cost of medical expenses arise it is always relieving that this isn't actually a hassle anymore. The company has tied up with well-known insurance providers to waive that fee off upto a certain limit.
- Internet charges are waived off for home. There is not a person these days who doesn't need Internet. The company makes sure that all have one eventually.
- Loan: One can take one month's pay-check as a loan completely interest fee.
- Car Loan: You need to get a loan through one of the banks but the interest is re-imbursed by the company. So it is practically an interest free loan!
- Vendor to serve lunch and evening snack. We have finally managed to find the right vendor to serve lunch and evening snacks. The food is sumptuous and affordable and guess what it always comes on time!
- We sleep at work! There are always times when one needs a quick nap to regain some mojo. There is a couch where we take turns to sleep while some sleep at desk itself. You see someone you don't judge but rather pull the drapes down so that he/she can sleep comfortably!
- A travel allowance irrespective of where you live, so that your distance + petrol/diesel charges are taken care of.
- Bread + Tea/Coffee + Maggi round the clock! You need it you just need to ask. We have tried not to endorse unhealthy cold-drinks and food.
- Power Hours: We at times notice that if we have a few uninterrupted hours we get into a maximum efficiency mode. Hence the concept of Power Hours where you can subtly tell others to "Not Disturb" me.
- DISCO: This is our time of the month where we can work on any of our own little ideas and also possible form a team and eventually a company if successful. We set aside 4 days in the month to work on a novel idea. We will soon be launching one of our previous disco projects helping the startup community.
- Month-long induction project where you completely own the project in and out. The project has a mentor to guide you and will educate you about the processes in the company. At the end you have a functional system and you have learned the tricks of trade in Sokrati. This idea was suggested by Kaushik and is now successfully incorporated across the entire company.
- Funny business cards to break the ice. We have cards with personal caricatures. Its just the way we start our conversations!
- SCL: Sokrati Cricket League to blow of some steam every friday. We make our parking lot a cricket pitch where 6 play against 6.
- Friday evening bashes where all get to relax after cricket or any of the friday planned days eat some company sponsored snack like a burger, chat, vada-pao + drink some stuff 'cause come on atleast some days we should eat un-healthy.

I guess I covered them most. Ofcourse there are a few more which are our little secrets. Just wanted to share them with all so as to give ideas to other startups. If you have your own little startup perks please let me know!

Sunday, April 17, 2011

Hiring in a start-up: An interesting challenge

Hiring talent is always a challenge whether be it a startup or a multi-national. The problem becomes more challenging for a startup where cash is an issue, the company is unknown. I haven't still figured all of it out yet. Most of these thoughts are either things I have tried, I have read somewhere and yet to implement.

Steady stream of resumes is something which we all aspire for. But for that your company has to be discoverable. How would an individual apply if they don't know about your company at all. Many a times we resort to using job-portals which may not always work. Posting on the portals while bringing in awareness does also bring a lot of noise. With a lot of noise you also run the risk of losing upon the right guy.

Posting on start-up jobs forums. A few forums where it works
- http://www.pluggd.in/
- http://www.startups.in/
- http://www.startupdunia.com/
- http://www.venturewoods.org
You should also use every startup forum such as
- http://groups.google.com/group/hydstartups?hl=en
- http://groups.google.com/group/punestartups?hl=en
- http://groups.google.com/group/headstart-network
Keep repeating your posting atleast once a month.

Social channel: Post good updates on your linked-in profiles, facebook profiles. The more friends who talk or forward updates of your profile the better. All these channels provide features to post updates. Also send your requirements to your connections who if they believe in you and your company will definitely be messengers for you.

College Recruiting: Going on campus is a challenge in itself. Most of the times on good campus you are either late to apply or unable to attend or the campus will not schedule you in time. Go through friends, family to figure students who are currently in their 3rd year or final year. You can ask them to help you identify or announce on campus about your company and your job openings. An internal referrer is definitely better at times as they will identify good candidates and also give already placed candidates a choice.

Internship openings. This is a very good avenue to attract talent. I am sure there could be projects broken down into 2-3 month stints. This is very apt for good internship projects. Interns from good colleges are mostly interested in working on an exciting project. If you provide a small stipend and a good work environment these interns can become ambassadors of your company in their colleges. This relationship is extremely symbiotic, while they garner good experience, a good chunk of your work is also accomplished. Sarvesh of http://blog.internshala.com/ has put forth a great channel to find good interns.

Using recruiters. I have gradually begun to lose hopes on this method. Identifying the right recruiter is pretty hard and then comes the payout per hire. Which amounts to atleast 1 month of the newhire's salary. There are some recruiters like Sutra-lite that has campaigns which run for month long and they charge a flat-fee of Rs 3000 per posting. They do forward good number of resumes fulfilling the requirement, which you can keep revising.

Bringing company awareness:
- This is the biggest challenge for a startup. To be discoverable the first thing you would need is a good website which talks at length about the company and the product. You should strive hard to keep your careers page as current and as complete as possible. Any postings you do always send the traffic over to your website and if possible to the exact page.
- Be a very enthusiastic contributor to the online community. Blogs, answers to queries and being helpful in the community goes a long mile. A good deed brings forth an abundance of awareness by word-of-mouth. It also goes to help the community immensely.
- Hold mini competitions, it can be either at your facility, or a hired facility or even online. This brings a good traction to your company. Enthusiasts can show-case their skills to the community and you also get to find the right person for you. You also help them get discovered.

Screening through noise:
- If you hit upon a huge surge of resumes it is time to use good screening techniques. There is always a limited set of resources to interview. You can and should use online tests to filter through resumes.
- http://www.examprofessor.com/
- http://quizstar.4teachers.org
You can schedule good set of questions for different skillsets and let them qualify these before you go through their resume.

Monday, March 14, 2011

As a CxO I should be there at every conference

"When you’re not in your office on a regular basis you’re not showing leadership. You’re not setting the agenda. You’re not establishing culture, inspiring people or resolving conflicts. When you’re on the road all the time you’re not as productive. You reach diminishing marginal returns of the next person you met in relation to all that you’re sacrificing by not being in the office working."

Reference: Be Careful not to Become a Conference Ho

Friday, March 11, 2011

Start-up: Beads of Sweat

It is very hard to articulate at any given time what is it that start-ups feel the biggest pinch for. When faced with the question "what are your biggest challenges", every entrepreneur I am sure goes deep into retrospection, trying to evaluate "now how do I rank them?". Most may list hiring, funding etc and I think the following broad classification can be a start. These are a few of mine that comes to mind and there are many more that I will keep adding!

Of-course funds is always one of the biggest challenges.

Co-founding Team
This is the most defining element of a start-up, the team of co-founders. When it comes to co-founders, it would be best if each of you complement the other. There have been times when a few good friends would sit over beer and discuss an idea, get excited and start working on it, not realizing that they are the same skills-wise. While that is not a bad thing at all, but the sooner you realize this attribute, the sooner you would want to either hire or bring on board another partner who would complement the existing personnel.

Complementing roles plays a very vital element. If each manages different aspect of the company efficiently you would be able to gauge the pulse of the enterprise more thoroughly. Needless to say such a setup would be more dynamic and more responsive to most of the shortcomings.

Team & Culture
The first few members of the team, defines the health of the start-up. Carefully choose the few first few members of the team as they not only set the ball rolling for the company but also help in defining the culture of the company. The number of people to define the "first few" is very hard and very subjective. But when you look back after a few months or the first year you should be happy that the culture is forming well.

Hence getting the first few folks is a mighty challenge. They are also the folks who will stick by in times of low or in times of glee. They would also be the folks who are as enterprising as the founders, 'cause after-all they are working through as much in setting up the company, thus being listed as the co-founding team.

Culture though very subtle is very much a necessary attribute of any start-up. Valuing customers, valuing quality software, process of validating and enforcing conformity are few of the very challenging cultural artefacts. Carefully hand-hold the team in setting the culture right. The first few are the torch-bearers for all.

Discovery
Whether it is hiring or whether it is finding clients the most important thing is setting in a process for discovery. How would fellow start-upy individuals find you? How would potential clients discover you?

It is painfully hard going through job portals, making listings and reviewing thousands of resume, keeping expenses aside. Job portals shouldn't be the only form of engagement. Start getting involved in any every start-up event or mailing lists, not just to post jobs but also to start getting those nuances of your company heard. A few minutes of a talk about your company in a start-up event will put you on the radar. A few minutes of your time in answering the query of an individual (facing a problem) on an email list will get you heard loud by the individuals and others. Put in a process where you start blogging or addressing forums and vola you will have a steady flow of good qualified resumes. Also I found it helpful putting up job listings on startup sites like "pluggd.in". Though the source yields less but yields quality.

This similarly applies to enabling clients find you or atleast hear about you. Maintain a blog, a good website and good steady branding. It needn't be expensive at all. An occasional tweet on a forum relevant to your company or a response answering a question relevant to your line of business would help potential clients discover you.

Fraternity
Active involvement in the community forms a solid bond of brother-hood. Time and again the community has helped me with many little things that I owe them my gratitude and bear the strong sense of paying back. Not able to contribute to the community is I think a challenge that a start-up could face. It is not because of lack of desire but the lack of setting aside time for contribution.

Please take it upon your-self to become actively involved with the community. I am sure everyone of us these days feel that our startup forums are like "wikipedia". If you shoot a question you will definitely get a response back. And now I guess is the time that I also should help a fellow questioner.

Wednesday, March 9, 2011

Sokrati is Funded!

After about 2 years of working boot-strapped, Sokrati has secured Series A funding from Inventus Capital Partners!

A special thanks to all, our clients, Sokrati team, fellow entrepreneurs in Pune, Hyderabad, US (the list is enormous) who helped us reach here. Pune is a great start-up bed and has helped me numerous times in answering few of my most stupid questions without even batting an eyelid!!

More information on Sokrati Blog: Sokrati Raises Series A Funding

Wednesday, February 9, 2011

Evolution of a Technology Startup

During the grunt times in a startup we mostly miss out on finer core details. We mostly end up weighing "new feature" against "needed feature". While this trade offs are a part of life, we must consciously draw a line. Some of my findings here are my learnings with Sokrati. Most of these are obvious but I am stating them regardless for completeness. Ofcourse this isn't complete and you may find me adding or editing.

Phase 1: Kick off
It starts when a couple of folks have already figured that an idea needs materialization and are now putting some code underneath it to get it out in the open. Most of the times we meet up next to a white board penning down our thoughts for action. The first thing to always keep in mind is carry a cellphone that has a camera and actively take pics of what ever you scribble down on the board. I found it time and again helpful to refer those pics to figure our what did we think then.

This is also the time that you need to have a version control system. I have used subversion extensively throughout. It has been pretty easy on me and has at times saved me a lot of hassle. Though you may be the only developer you would still like to maintain a version control on the same. You never know when you would wanna refer to what have you done before. It needn't be comprehensive or a kick-ass system, it just needs to get the job done. So when you enter "svn commit" you know you have it stashed up at some place.


Phase 2: Active development

Now you have switched on to the next gear where you have a couple of more folks working with you and your code base is gradually growing. The previous version control system would now make your life easier as you are collaborating in code. But since you have now churned out a chunk code you would be in a pickle if you the entire repository. Take the time now to write a cron that writes the source code to a persistent drive or maintains a backup. It can be as simple as getting an external drive which is different from the hard-drive where your repository is maintained. Copy over the source to the external hard-drive once a day.

Collaborative documentation may be another useful tool at this time. Media-wiki comes as a standard installation on any OS. It lets you store those basic information on "how to run make" or "where are my mysql instances located". It could also help you write a couple of "new hire" steps to ease the induction process for the new person joining. You could state here your coding practices which become more important as the code-base becomes bigger and unmanageable.

If your team is working remotely i.e. working from their homes most of the time then you need to provide an entry point to your wiki and svn for access. You could use Dynamic DNS for that and open up a couple of ports on your router enabling connection to your server.

At this stage thinking through extensively regarding security i.e. wiki access or svn access might be an overkill. But yes opening up a port on your router has its hassles too. So safeguard your access with a basic user/password known to only a selected few.

Code reviews is one necessary element of any software cycle. Take the time here to come up with a good methodology for code-review. I use a ruby script that converts "svn diff" to html and I save this file which I later send it out for review. Others have started webservers on their hosts and they copy the htmldiff of their review in a specific directory and send links out for review.


Phase 3: Starting out to get some business

You would now have a website, a registered company, bank accounts etc. You could use Gmail's free Google Apps to manage your company email. I also found it useful here to be able create spreadsheets that can be shared across your team.

Your website could easily be given out to an e-lancer, who would do a good job for about $300. You could also tinker with Jhoomla at this time. Though with limited resources I would vouch for concentrating on the core business and letting someone else bring the expertise of bringing the site up.

You now also have the burden of hosting. I have worked on Amazon EC2 exclusively. The ease of deployment and launching is unmatched. I have tried shared hosting with GoDaddy but I am pretty restricted with the software provided or the nature of accessing is very unintuitive to me.


Phase 4: Got some clients now


If you have a garnered some clients that means you are in production now. While you so far carefully nurtured your systems and have been paying close attention to them, you may now realize it is becoming hard to keep a close eye. Any software failure or system downtime needs to be tracked else you may have an irate client, who got pissed off even before he could see the meat of what you had to offer. So track your production hardware closely, atleast monitor your system uptime using pingdom.com etc, which will atleast let you know when your site goes down.

If you wanna brave the odds and integrate deeply into your production hardware you should try out Nagios. This is an open source monitoring system that lets you ping your systems periodically. You need a nagios server which can do most of the monitoring from the server itself. You need to open up a port + install NRPE plugins your client boxes for monitoring. You can also develop cool plugin scripts if you need additional functionality. Nagios emails a notification upon any failures. If you need instant notification on high-severity issues like "host went down" you could write a script that apart from emailing would also send you an SMS. There are some SMS gateway providers in India which are free like way2sms, sms gupshup or paid services beep7 (which I currently use).

You may also wanna start tracking features + prioritizing features. You could use TRAC for that and I have also heard Pivotal works well here. I have integrated NAGIOS into trac which cuts a ticket to monitor notifications.


Phase 5: Got some traction

Traction could mean the growth in clients or growth in software or growth in the number of people working on your product.

Here is where things get murky. While you are trying hard to keep churning out new features you would realize a part of development is still very adhoc and uncertain. And I strongly believe at this time pick a resource out and work on a few things which would improve your software development.

Tool to browse source code online. This helps at times for you to be able to send out emails detailing specific code-snippets with exact line number etc. I have integrated SVN with TRAC here that helps in navigating the source code.

Continuous Build System such as hudson which smoothly integrates with SVN is extremely useful to detect build failures and to maintain a code release methodology. I maintain release branch for each deployable software along with mainline (used for active development). Hudson detects any new changes in any branch and automatically issues a build. It also provides plugins to run automated tests.

Issuing a support mechanism for clients to flag issues. It should be simple enough for clients to shoot an email out and that gets registered as a ticket which is being looked at by support. Here again TRAC played helpful to us. We put in a plugin that takes emails (email2trac) and converts them into trac tickets. These tickets are monitored on a priority basis and handled without loss of information. I have also heard good things about OTRS www.otrs.org here.