Preface : This article chronicles our experience in Opendoor Technologies in finding the technical skills to develop our product and i hope that it gives a idea of startup challenges and also answer the question of ‘Should you look for a technical co-founder’ for your startup
Its been 8 months since we started off our startup journey and we tried to chronicle our experiences in Santosh’s blog post in the new year at <2012 was one hell of a year>. Now i thought its is appropriate to share some of other learning’s which may help others to gain perspectives and get a fair idea of challengers involved . Out of the many things which we learned during our journey so-far , there is one thing which stands out and that has been our journey to gain ‘Technical Skills‘ to build our product. We have been through several phases in our technology journey in the last 8 months and i think each of them is a learning by itself and would save an prospective entrepreneur lots of time if he/she is able to learn from our experiences.
Stage 1 : Technical Skills can be outsourced
In the initial phase of our journey we thought that we could hire quality technical skills to make our product and we would focus all our efforts on design , branding and SEO (Search Engine Marketing). We thought this combination was good because we had extensive experience in SEO (based on our past experiences of making money through SEO)and had good experience of branding and positioning (or so we thought due to the fact that we both were MBAs) . The thought process was since technology involved was fairly low tech and commodity we should not focus on this and get the job done with hiring a freelancer.
Costs :Oh boy !! This turned out to be big mistake as it is not possible to hire good tech freelancers at reasonable prices . The good ones ask for the moon (40$ /hour pricing) and the ones who are charging low prices never are able to deliver. Basically the good ones were either having their own startups or were freelancing for big brands like FabIndia. So we ended up hiring an average guy in chennai to work for our first version of ShoutOut website (roughly 80k cost). Boy he took ages to deliver and after 4 months we did not want the website as we wanted something else. See my next point.
Flexibility: Once we got deeply engrossed in the website development we realized that we wanted to change the design of the website on a daily basis so we could not adopt the waterfall model or development . We needed to be agile !!(Not pseudo-agile as we practice in large companies) because we needed to change the design and features of the website almost on a daily basis based on what we saw and read. Thus outsourced model will not simply work.
Take away :
a)If your main offering is based on technology then never outsource this !! This has to be in-house and we need to have complete control of this else you would not be able to achieve what you set out do .
b) Waterfall model never works in startups simply because we are not 100 % clear on what we want to develop. This means you never have a 100 % clear requirements when you start off and evolve very quickly based on feedback received from your users and evolving landscape.
Stage 2: Bring a co-founder on board
During our initial days we were told by several mentors pointed out that our lack of hard-core tech background was a problem and suggested us to bring someone on board either as an employee or as a co-founder. The question of hiring an employee was a difficult one as it would cost us upwards of 1 lakh/month to hire a decent tech guy who can be our tech backbone . Also we realised that the good ones either have their own startup already or want higher salaries than market .
Faced with this dilemma , we choose to bring a tech-cofounder on board by placing ad in HasGeek. We soon realized that we were not alone in this race to get a tech co-founder as every second ad in HasGeek was for a co-founder who was a techie ! . Got some responses but some how we did not find the wavelengths matching. After several discussions we finally met Jerry Kurian whose wave length matched ours and decided to bring him on-board as a co-founder. We started to work with him to develop our new product.
It was during this time that we met senior mentor to seek his advice on ShoutOut and he told us how technology had become so simple that he was a developer himself. We did not believe him when he said that we can build a prototype of your product in 2 weeks time !!
Stage 3 : Getting to be a hacker and why you dont need a tech-cofounder always(The topic of this post and the meatier portion is here)
The words mentioned by the senior mentor stuck in our minds ‘Is it so easy that we can build a website in 2 weeks’ ? I had severe doubts about this as this was miraculous considering that we had spend 4 months to get 1 version of our ShoutOut website ! . We decided to take the dip to see what this changed world was .. How was it possible to develop a fully working website in 2 weeks .
There are 2 popular frameworks which make for quick development…a) Ruby on Rails b) Python on Django. We choose Ruby on Rails as it was recommended for first time programmers! and spent 4 weeks to learn HTML/CSS/Ruby etc. After which we got down to developing our front end portions in RoR (Ruby on Rails) and the backend was developed on Scala by our tech co-founder.
Boy the productivity boost that these frameworks gives us really meant that we had a working protoype of our website in 4 weeks flat (not 2 weeks ..but more about that later). As i went along i realized that with the combination of a great framework and support available on online forums like Stackoverflow , no problem was insurmountable. In fact complex implmentations like Facebook integrations , Natural Language processing etc can be completed in a matter of hours as opposed to days in traditional programming. This meant that you are 70% more productive as you focus on the business logic rather than focusing on technology or coding aspect.
The RoR is so powerful because it(Python and Django have similar advantages)
a) It brings in a framework which allows a basic website to be up and running by using 3-4 commands (yes you read that right..). Once the basic framework is up you can configure and customize the framework to quickly develop your business usecases.
b) Availability of gems (libraries) which can perform complex tasks like Facebook integration , Google maps integration or any requirement into a matter of writing 2 to 3 lines of code. From my personal experience FB integration of our app to post feedback received from SMS was done in 3-4 hours by writing 10 lines of code.
c) Availability of forums like stackoverflow means even your most toughest challenges can be overcome by just searching google or posting a question on stackoverflow.
d) RoR community has embraced the open culture where people readily share the source code which they have written with others using Github so i can now see what other experience developer have done to solve a similar problems. This means i am learning at a faster pace than traditional methods !!
Apart from this the availability of API’s to do the complex part like NLP (Natural Language processing), Maps ,Social integration etc means that you can stich together worldclass solutions by really having to do very little coding . Thus with the combination of RoR like platforms and API’s from 3 parties the development complexity is reduced greatly . So much so that i call this as configuration rather than coding
2 week Milestone : Is it real ?
We did achieve that 2 week mile-stone which senior mentor mentioned when we decided to port our backend implementation from Scala to RoR. We could replicate the whole backend processes on Rails in no time and in-fact we are now live with the Rails stack which is developed by me . All this was done in a period of 6 weeks (4 weeks frontend and 2 weeks backend) by a person who is not a programmer ( have been a tester all my life with very little coding experience).
We had to part ways with the Jerry (our tech co-founder) as he wanted to spent time to focus on B2C startups and we wanted to focus on B2B startups .Now am a full time developer looking to take on my next challenge.
So our take is that a tech-founder may not be needed in all startups ! You can become one … some startups which work in core technologies may be exceptions to the rule.