Actionable Insights into the World of Indian Startups

Straight Talk, Real Insights

Why Indian Internet Startups need to get off their asses and learn to program

with 57 comments


I have been resisting writing this post for a long time as I felt that it may be too cocky or arrogant, but we at Infinitely Beta have been getting so many emails off late from startup founders  and funded startups asking us to build their products for them that I felt it was appropriate to write this post now.   It really shocks me and my team when we get such emails. It clearly shows that the folks that are sending us these emails obviously feel that the core DNA we have worked so hard to  build over that last 12 months can easily be bought for few $$ – Not!  Second, it also shows that these folks have no tech capability whatsoever and feel that technology is trivial and can be outsourced.  Instead of taking the time to go and learn programming and building a deep tech culture they are just being lazy and hoping that they can find a technology team / outsourcing firm to help them with their problems.   It also makes me wonder why VCs fund tech companies that lack deep tech capability.

To build a highly successful Internet Service, you need the following ingredients:

1. A solution (product) to a real problem that lots of people are facing

2. The product needs to be simple  for people to use

3. The user experience of the product should be world class.  The Internet Population in India are primarily using world class products like facebook, google *services  a lot and these are the gold standard of well designed and engineered products.  If you build a product that is not as well designed/engineered then you are going to have a hard time convincing someone to use your product everyday.  As a result, you are going to spend a lot of money on pushing ads to attract users and when they land on your site and are not impressed will bounce away increasing your Cost of Customer Acquisition (CAC).   There is enough evidence that the best designed products grow virally and don’t need a huge marketing budget to acquire customers.  Most startups in India don’t spend enough time perfecting the user experience.

Perfecting the User Experience requires the developers of the product to optimize the following:

1.  the user interaction design  - this is a key aspect of design where the designers need to build detailed mockups of the product and map how a user will interact with the product. The optimization phase of this process is to see how to make a user achieve his objectives with the least number of interactions with the product.  Humans are inherently lazy and if your product is not easy to interact with then they will just stop using it. We fortunately live in an era where we are spoiled with choices. For every idea, there are multiple startups trying to deliver solutions.   In this type of a competitive era, it would be foolish to start an Internet company without this core DNA fragment. If you have not developed this skill in your startup, go find a co-founder who  has very deep product design background.

2. the visual design  - people like eye candy.   this is a very important aspect of product design where the visual elements, the color schemes, the typography, the symmetry really differentiate your product and make it attractive.   Humans love things that are attractive and shiny – we are simply built that way (think about the time you checked out that pretty girl/boy or that awesome sports car with shiny alloy wheels).  If your site looks like crap don’t expect your visitors to be attracted to it.  Again, if you have not built this core DNA fragment, go and find an awesome co-founder who gets it!

3.  the perceived speed of the product  -  humans are lazy and impatient.  the slower your site, the more users that bounce off or churn away. Marissa Mayer of Google did a nice talk on this very critical aspect. Watch the video if you have not seen this talk.  It will open your eyes.

We spend an incredible amount of time at Infinitely Beta thinking through this right at the design phase of any product we build.   We then pick the right technology stack to deliver this experience and we either learn new technologies if we need to or do everything that is needed to deliver this experience.     Our first product Paisa.com was developed with the nginx/memcache/python/clojure/mongodb/redis stack and I remember every decision/brainstorming session we had during the design process that led us to this stack.   The result was awesome.   The speed of the product is something we get complemented on every day by our users.  Our production servers are in Singapore and all our pages are dynamically built.  The backend is constantly updating market data for 3000+ companies and yet things never slow down.    I hear from a lot of startups who have not taken the time to build a deeply technical team struggle with performance and scale issues even with 1000 visitors a day on their sites.   I know that it is incredibly hard to build a company and you are always worried about the monetization aspects or the next round of financing. But, please take the time to find a deeply technical co-founder who has worked on awesome products before and understands or is willing to learn all the aspects of how to engineer awesome product and create a culture that is so deeply technical that people who interview with you should feel like they faced the hardest interview of their life and hire the best.  At Infinitely Beta even our designers (people who traditionally use photoshop, dreamweaver etc – visual tools) use Emacs to hand craft all the HTML and CSS.   We spend the time to teach people skills that they need to be very productive.

4. the reliability of the product  -  this is something many startups struggle with as traffic on the site grows.  server crashes, late night debugging is a part of startup life.  Not!  At Infinitely Beta we have zero administrators.   We have automated the crap out of everything.  With the push of a button we can provision servers on the amazon cloud and build a server with all dependent code and light it up in a few minutes.  We sleep well at night and I can’t remember a single night since the last 4 months of Paisa.com going live where we have had to baby sit our servers.   We had one outage for a few hours once which was a due to a bug in our mongoDB client.    There is so much tech out there that can be applied to solve all these problems today.   We are not in 90′s when web technology was being built.  Again, do your homework.  Stay on top of hacker news to see what awesome new technology is being released that could solve /automate away problems that your facing.

In a nutshell, get off your asses and go learn!

PS: There are some awesome Indian startups that are killing it like Flipkart, Slideshare, Instamedia, Komli/Pubmatic and Cleartrip – are companies you may want to emulate.

Disclaimer: This post is relevant to technology/Internet startups in India and may not be applicable to startups that are not delivering a technology led/driven service. This is my personal blog and reflects my own views and opinions and in no way my companies views or opinions.

Written by Abinash Tripathy

January 13, 2011 at 9:38 pm

57 Responses

Subscribe to comments with RSS.

  1. Insightful post Abinash. I think the biggest issue for these startup founders might be that tech talent is difficult to find. To haul ass they would atleast need someone with some tech creds to start off and spend time understanding what needs to be done in house. Add to that the pressures of getting something out of the door at the first opportunity might be causing such startups to panic and find alternatives. If VCs and investors are betting on an incomplete team that is indeed a worrisome sign, no :)

    Nikhil Sontakke

    January 13, 2011 at 10:03 pm

  2. If the founders are not technical then the first step is to recognize the gap. Then find a co-founder and give enough equity to keep him/her motivated. Then build a deep tech culture. You cannot do this if you as the founder do not have the understanding of tech. How will you vet someone and call his bullshit if you yourself don’t understand what he is talking about. A craftsman or an artiste cannot start to build anything unless they have the skills. So, take the time to read and learn. The web has all the resources you need. What is the point of getting something out of the door quickly knowing that it is not the best experience and you will have a tough time selling into the market.

    Abinash Tripathy

    January 13, 2011 at 10:44 pm

  3. I think the post is very short sighted. Technology is just one aspect of a startup. At the end of the day, the end user is not going to look at the source code to see if the code has been written in emacs or vi. There are lots of ways to achieve performant code.

    Jason Wildner

    January 14, 2011 at 8:43 am

    • @Jason Wildner – while this may seem short sighted, I am pointing out a real problem in the Indian Startup eco-system. Startups here are not taking the time to go build critical skills. The most important set of skills in an Internet oriented tech startup is tech. I am not discounting all the other important things needed to run a business (these are table stakes for any business). I am seeing an alarming trend in India where startups and startup founders are not focusing on tech and taking the time to build teams with skills. They are resorting to outsourcing their production capability. IMHO, outsourcing works when a company can figure out what is non-core to their business and get someone else to do it cheaper. A company never outsources its CORE capabilities. Software production is a CORE capability of any tech startup. For example; Infinitely Beta outsources its Accounting, Payroll and Legal work as these are non-core to our business but we will NEVER outsource our production capability.

      Abinash Tripathy

      January 14, 2011 at 9:06 am

      • I concur completely…. But my point is and like you’ve pointed out, it’s up to the startup founders to decide “what is CORE and NON-CORE” to their business.

        Jason Wildner

        January 14, 2011 at 9:44 am

  4. Nice Post Abinash. Your site can stand next to gaints – http://browsermob.com/benchmarks/FINANCE#1/1294374170895/1294978970895

    Good optimizations
    First time around – 33 requests get made and about 4 seconds.
    Second time onwards because of browser caching – you are hitting only thrice and page is getting rendered in 1 and half seconds.

    1. Few more suggestions to fix paisa.com first page for first time. I am sure you have done analysis to fix these.
    Javascripts/css look minified/set to expiry in future but not really zipped.
    Your smallest js – http://api.mixpanel.com/track/?callback=mpmetrics.jsonp_callback&data=eyJldmVudCI6ICJ2aXNpdCIsInByb3… takes the longest across various locatons. It keeps varying many times. BTW even DNS lookup time varies for it.
    2. Your largest js is not zipped right now – I guess – proxy caching is not enabled becuase you might change it very often.
    3. DNS lookup varies for google-analytics from time to time. Time to see what you can do about it.

    I have no idea about finance world, but I love people who do thorough job and your site is certainly the cleanest and uses all right things. (saw usage of sprites too…)

    Govind

    January 14, 2011 at 10:18 am

  5. Dear Abinash,

    I was one of the guys that emailed your company for help with my startup, though only for User Interface Design. We did not get a reply back :)

    We are close to producing a reasonably complex B2C a site that caters to western customers and have sought to get the best talent in the world to make it happen and have not limited ourselves to a specific country. We looked at the work and shot them emails asking if they find us interesting enough to work with. We ended up hiring an “American” programmer out of NYC and the work we have gotten out of him is fantastic and it is not something I would expect had I hired an “Indian” programmer. The skill set is not what is deficient – it is the thought, owning up to and executing an idea elegantly, that is missing.

    Regarding the front end, again, it is not that our skills are deficient, but the ability to execute the narrative minimally and gracefully, deploying apt technology to realise it is missing.

    There are a handful of Companies in India that can create something as simple and graceful as demoslam.com. I am using a rather simple site and it gets worse as the product gets complex.

    My learning so far is this – Hire talent abroad to build products in and for India. In the short term this is viable and hopefully enough engineers will catch this habit of simple, elegant design and propagate it further.

    If I have to add anything to your fantastic article, it is that – Look around and see what is being done elsewhere in the world and learn their magic.

    Your product, Paisa.com is excellent and at par with some of the best sites in tht segment (quepasa.com for example). I wish we could rattle of more sites like that, that are made in India.

    Nomad

    January 14, 2011 at 10:46 am

    • @nomad while you raise great points what you have done works for you in the short term, I am not sure it will work for you in the long term. Design, Development, Distribution are 3 CORE skills an Internet Startup needs to own. Again you outsourced your pain instead of trying to find people to bring in-house and grow over time. When you set deeply tech culture right from the start magic starts to happen. When I write that even our designers use Emacs, I am not boasting. I could have cared less if our Designers use emacs or a text editor of their choice as long as the HTML and CSS was well written. But, what I was trying to communicate is that when all the peers in the company were using emacs and were constantly talking about how they wrote cool macros that made a 30 minutes editing job take 0.5 minutes, the designers were self motivated to go learn emacs. They were not pushed by me. They were pushed by the culture we have built.

      Abinash Tripathy

      January 14, 2011 at 11:02 am

      • I should have mentioned – the programmer now has considerable equity in the company. And the designer we are working with might too. So they are now a part of the company / management.

        Nomad

        January 14, 2011 at 12:11 pm

    • Awesome. Good luck to you and godspeed!

      Abinash Tripathy

      January 14, 2011 at 9:20 pm

  6. Indeed insightful;
    Couple of days ago there was on article shared in HN about “Facebook engineering team” and there was one line – “If company wants to be technical leader then his leaders must be technical”.

    Also non tech people only see UI and think that’s it… so they underestimate every development aspect.

    Mahesh

    January 14, 2011 at 10:48 am

  7. Just commenting to lend some support. Slightly controversial in tone I suspect, perhaps especially for Indian readers. My favorite quote (I think you’ll enjoy this one):

    “”It is not the critic who counts; not the man who points out how the strong man stumbles, or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood; who strives valiantly; who errs, and comes short again and again, because there is no effort without error and shortcoming; but who does actually strive to do the deeds; who knows the great enthusiasms, the great devotions; who spends himself in a worthy cause; who at the best knows in the end the triumph of high achievement, and who at the worst, if he fails, at least fails while daring greatly, so that his place shall never be with those cold and timid souls who know neither victory nor defeat.” THEODORE ROOSEVELT (Paris Sorbonne,1910)”

    I agree with all of your points. I hate people that just talk and never execute or “get dirty.” I enjoyed the read, keep up sharing your thoughts with the world.

    Reminds me of the Reddit founders and startup guys I know from my undergrad days at the University of Virginia.

    Wolf Richter

    January 14, 2011 at 1:34 pm

  8. Hi Abinash

    This is Chetan .. First of all, I was really excited to read you post as it’s been quite some time since we’ve spoken.

    Second of all, this is an “Excellent” post. Thoroughly enjoyed reading thorough it’s entirety.

    You have raised some interesting points that typically goes un-noticed or not-mentioned when anyone para-phrases India, growth and IT in any article.

    Creativity is an assimilation of Great Design, Good Engineering practice, near to perfect implementation, efficient testing and well orchestrated release. No single factor trumps the other.

    All these factors compound together leading to a successful product release that appeals to the target consumer base. Apple and BMW are two excellent example that communicate efficient compounding.

    The Indian IT Sector needs a few creative influencers like you guys.
    Infinitely Beta is a good example of a company that stands out and shines amongst the dozen outsourcing companies that India has produced and continues to produce.

    Keep it going !
    Best
    Chetan

    Chetan Conikee

    January 14, 2011 at 1:46 pm

    • Wow! Awesome to hear from you Chetan. I am your no. 1 fan btw :-) I wish you were here in India doing it with us. India needs people like you badly.

      Abinash Tripathy

      January 14, 2011 at 1:56 pm

  9. Well said Abinash. Perhaps there is a need for a site similar to founderdating.com here in India [of course that in itself doesn't guarantee a great technical co-founder, but definitely a starting point]

    Best of luck to you and your team.
    Venkat

    Venkat

    January 14, 2011 at 5:03 pm

  10. Abinash, rock on – I have been reading your posts for a while and they are spot on.

    We watched ‘The Network’ at work (a wannabe startup) – the CEO (an MBA with no programming experience) said that Zuck was a crook, another one of the top dogs who is a hands on programmer, agreed with me that Zuck deserved all the credit. Now, I don’t know whether I should be too optimistic about the company that I work for :-D

    For some reason, of late, there seem to be lots of wannabe desi startup founders – basically Idea Guru types who simply don’t realise that having ideas doesn’t make them special in any way. There are literally thousands of folks like them out there. I hope ‘I want to be a startup founder’ doesn’t turn out to be the ‘I want to be an IAS officer’, ‘I will become a Doctor when I grow up’, 70s type starry eyed bs – but you can never tell, what with orgs like NASSCOM getting involved in “helping” the startup “eco-system”.

    The responses and the straw man attacks to your post are pathetic. Maybe you touched a raw nerve by alluding to some of our habits like everything including homecare.

    Rams

    January 14, 2011 at 9:18 pm

  11. Love the emphasis on building your own tech team and UX..great insights..

    Cheers :)

    Kshitij

    January 15, 2011 at 12:34 am

  12. Hi Abinash,

    It needed to be put down like this (and I believe, should be repeated every few months) and thanks for doing this. When we were starting out, we tried to outsource the first iteration of site and learned within 1 month that it will not work out. So we went ahead and built it ourselves. Never regretted the decision.

    However the problem we have faced continuously is in building a good technology team. The top tech talent in India is very sparse and in high demand. So it is very difficult for a bootstrapped startup to first find them and then keep them. Even with equity on offer, the kind of minimum salaries required, push up the seed capital required, way up. How do you suggest someone break out of this?

    abhaga

    January 15, 2011 at 11:02 am

    • We are 10 now at IBT and we have no job post anywhere or have not and will not use recruiters. The “we’re hiring” page on http://www.infinitelybeta.com/jobs/ generates a steady stream of resumes (10-15 per month) of very qualified people and our hiring process is continuous. We typically screen away 95% of the resumes right away and end up talking to about 5% of the people. In the phones screen we try to assess cultural fit which is super important to us. If we see a cultural fit, then we call the candidates for in person interviews which typically last for 3-4 days where the candidate is holed up in a conference room and writing a lot of code. I can give you the examples of the code we asked people to write for the last 2 candidates that were selected. One was a C/systems programmer by profession and did not know web programming, python or any of the functional languages we use. We asked him to build an nginx module in C to compress payload leaving our servers. We care a lot about people who know their craft as opposed to whether they have mastery over a language. His code was written nicely and he had all the makings of a polyglot and he was hired. In 2 months he is writing major functionality in Python and Clojure both completely foreign to him.

      In the second case, he was a fresher out of college who had worked with another very good startup in Pune and knew functional programming in Erlang. His assignment was to write a Djikstra’s algorithm in Clojure to do a shortest path search over real transit maps in google for the bay area that covered all the transit systems. He achieved this in 5 days and was made an offer.

      In a nutshell we do not worry about hiring at all. We have built a process wherein our hiring is continuous. We hire people even if we don’t have a need but can see his value. Now, how did we get here?

      1. Find the best Tech Co-founder – I am super fortunate to find BG. He is an amazing human and when we met I could see myself in him – 10 years. He is as enthusiastic, passionate and only cares about the path and not the outcome. He had worked at Cleartrip and built one of India’s finest travel search engines in Common LISP. He had tried to do a startup which had failed and understood what not to do at his next startup. He like me does not have a pedigree (IIT etc) and is an underdog who spent most of his time in Internet Cafes learning from the Web and shunning the antiquated rote based CS that is taught in our university system. He has investigated all the different programming languages at a really young age and knows how to choose the right technology. He is one of the first Google Summer of Code scholars in India which he does not like talking about. He is now authoring a book on Clojure programming by Manning Publishers and he was being courted by 3 other publishers. I think most importantly because we understand each other so well, my job is easy. He literally can read my mind. He is anally retentive about design and Usability and is usually the one critiquing the work that our designers do with me during the design phase.

      2. I am a firm believer in the Quality Vs Quantity model of hiring in tech. What one great engineer can achieve, 100 average engineers cannot. Take the example of Zoho, they have 1200 engineers in the company. We built paisa.com with 5 people. There in lies the clue. Hire few but the absolute best. There is no room for even a A player. Hire only A+ players and people who have the potential to be better than you.

      3. Commit to a tech stack that attracts the best people – We chose to be a functional programming company because we wanted to hire only the best and because the new FP languages like Erlang and Clojure really help us build scalable concurrent code without have to worry about a lot of things other companies have to worry about. If a candidate has taken the time to learn functional programming then we already know that the candidate is a polyglot and a not afraid to learn. We are also very aware that our stack may attract the academic/research types and not the pragmatic types and we are very careful about screening those away. In my experience academic and research types belong in a lab and not in a fast moving startup. We need people that are execution machines and not hung up on the academic value of their work.

      4. provide an environment where creativity can thrive – this basically is a completely flat no BS organization. we respect everyones views. We debate a lot about approach and collectively take decisions. We don’t shoot down ideas but let people build it and show that their solution is better. For example the “instant” search feature on paisa.com requires one to make a backend call for every character typed and filter results fast which is a hard problem (can’t use any off the shelf word indexers). The youngest member of our team wrote a Trie data structure in clojure to solve this in 1 day. It worked fast and did its job. Our chief Jedi was not too happy as it was memory intensive. 2 days later he had an implementation in Redis that worked faster and cheaper. We picked the one written by the Jedi. The young padawan was not disappointed that we did not pick his cool algorithm as he had proof in front of his eyes of a better implementation.

      A lot of nay sayers will say that this model will not scale as we grow. But again our model is to build a lot with very little and not the other way “build very little with a lot of people” which is how most Indian companies are setup.

      My experience in hiring talent at Zimbra proved to me that if I were to hire from the common pool of talent (services, java, php) in India then I am royally screwed. Most people here are in it for the money and not for the joy of programming. We are so confident of the environment we have created that all our employees are on our website with their contact information. I guarantee you that even a call from Facebook or Google will not attract them even if money is thrown at them. I also want to add that people who work with us don’t come here for the sake of money.

      All of our employees were grossly underpaid in comparison to market in our bootstrapped phase. We told everyone that if they came to work at IBT then we would make them wealthy but the wealth will have to be earned over time. To set an example I did not have a salary and BG’s salary was less than some of our senior guys during the bootstrapped phase. They were also convinced that IBT would be the place where they develop as humans and become better in their profession. My goal is to empower each and everyone that works with me with skills to help them go and found companies later on in their lives. We recently raised our seed round of funding in November last year and as I had promised all the employees that with each round of funding we will bring their comp close to market and ultimately well over market, I followed through and our minimum raise was about 30%. All the employees also have generous equity. If we keep executing the way we are, they will all be super wealthy soon and I would be the happiest person to see them do well. This is exactly what happened to the 40 people that followed me to Zimbra.

      Abinash Tripathy

      January 15, 2011 at 1:43 pm

      • Abinash, this should go as a blog post in itself :-)

        Anurag

        May 25, 2011 at 9:47 pm

      • +1 – Abhinash, you gotta make this into a post in itself!

        Akshay Surve

        October 31, 2012 at 6:53 pm

  13. Thank you for this article… I am currently trying to get a startup off the ground, and I have experienced many problems as a result of not having technical experience. Until recently, I did not have a technical person in-house and this almost caused my start-up to crash before it ever even had a chance to fly.

    I do agree you can’t be successful if you don’t have technical experience in-house. Any outsourced technical team will take longer to deliver and cost more money because they are not loyal to you and it’s not always in their best interest to work effiently. Furthermore, the developers actually doing the work often do not take ownership of the project and do not have the same passion as your co-founders or in-house staff. Without somebody in-house with technical experience, you have no way of knowing if your development team is taking advantage of you. Even if they’re not intentionally deceiving you, you’re project will still suffer because you will not have the technical experience to question their decisions, or their development styles. You will simply have to trust that they are going to deliver what you have spec’d out.

    With that being said, I also find it very difficult, if not impossible, to simply shift your focus to becoming ‘Technical’. A Startup requires many team members to oversee all aspects of the business. I have never been in a position to shift my focus to being more technical. Doing so would have required me to stop all other business development efforts. It would take me years to get up to speed on all the technologies used in my site (PHP, MySQL, javaScript, jQuery, AJAX, HTML, CSS, etc) and this would not have been the best use of my time. I therefore, chose to outsource the development and bring a technical person to oversee the development team. This has greatly improved the momentum of development and has given new light to my start-up.

    So while it may not be possible for you to become technical, you will have to grow your in-house team so that there is somebody technical who can oversee this if you are going to have any chance at success.

    Kirk Meldrum

    January 15, 2011 at 4:12 pm

  14. Excellent article and this is one that I am going to bookmark and mail to certain people in the future.

    As a student of Computer Science in my first year I cannot even begin to tell you how this entire mentality starts at the college and school level.
    The entire technology revolution in india in a way has been bad for the indian computer industry because it has bought in people by the masses to our schools in colleges to learn CS, not because they are fascinated by computers or the power that it holds. In fact they are not even remotely interested in CS to the extent of people in a core computing course have told me “Dude I dont like programming and dont get it”
    It just saddens me on so many levels that our colleges do not encourage people to look at topics in computing that are out of the syllabus (which i might say is horribly outdated) and do some self learning and exploration. What saddens me even more is that, that culture is not present in our students and socially actively discouraged even at the college level.

    I have no work experience save for a month long internship at a small IT company and what I experienced there changed my perspective of Indian IT companies forever to the extent that I have today I have no interest in working for an Indian IT company. Reading your article and seeing paisa.com (damm that website is so responsive and good that I would never have believed that it was developed by an indian and more unbelievable that it was built by 5 engineers)

    Seeing your product and others like Notion Ink I hope that by the time I graduate there will be a large enough pool of Indian IT companies will be on par with international companies like Apple, Google, Facebook and Tumblr in terms of user interaction design and product quality for me to work in.

    raghav

    January 15, 2011 at 7:28 pm

  15. Ok a follow up really to my previous comment. I just read a few other articles on your blog and this one quote caught my eye

    “My message to the young, innovative type graduating from colleges is to seek out small startups that are doing quality work instead of working for the big name media houses just to be resume worthy. Resumes really don’t matter…. what you learn and achieve matters a lot.”

    Could you give some points on how to find some nice agile start ups in the Indan and not just those who pose as one. Maybe name some names

    raghav

    January 15, 2011 at 7:48 pm

    • Lets see… you are in your first year of CS, do the following:

      0. Ignore everything in your CS curriculum in your college
      1. Buy your own computer if you dont have one. Load up ubuntu server. Get a nice fast internet connection
      2. Go to MIT Opencourseware http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/#undergrad
      and learn the the following: 6.00, 6.001, 6.004, 6.005, 6.006, 6.033, 6.035, 6.046J, 6.087, 6.090, 6.092, 6.096, 6.170, 6.171, 6.172, 6.189, 6.252J, 6.264J, 6.826, 6.827, 6.828, 6.830, 6.831, 6.851, 6.852, 6.854J
      3. Read every word in Don Knuth’s The art of Programming – http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming
      4. Read all the essays of Paul Graham – get inspired
      5. Learn at least one imperative, OO, functional and dynamic language thoroughly which means building real projects. Just go to Sourceforge or GIT and see if there any open source projects you may want to contribute to.
      6. Send us your resume when you are ready after u finish the task we have outlined here http://www.infinitelybeta.com/jobs/task.html :-)

      Good Luck!

      Abinash Tripathy

      January 16, 2011 at 1:23 am

      • I would disagree with point #3. TAoCP is not for casual learning of algorithms; it’s more of a reference manual for scientists. I would rather recommend “Introduction to Algorithms” by C,L,R & S and “Algorithm Design Manual” by Skiena.

        Baishampayan Ghose

        January 16, 2011 at 3:57 pm

      • :-)

        Abinash Tripathy

        January 16, 2011 at 5:00 pm

  16. I’d agree with you Abinash here! Gone are the days when enterprise software used to be made of a fresh programmer’s dump mixed with vomit of that non-existent designer. Not anymore!

    Piyush Ranjan

    January 15, 2011 at 8:49 pm

  17. WoW. As an engineer and someone whose worked for and started his own startup in India I’d say this is one of the finest and useful blogpost that I’ve come across in a long time.

    Sadly the fact you mentioned about most programmers is also true across other verticals. You’ll find most employees in tech and non-tech jobs there just for the money/job security etc and not for passion which might explain that there aren’t that many cool products/companies as can be.

    Mayank Dhingra

    January 18, 2011 at 11:15 pm

    • Mayank Thanks! I wish more entrepreneurs who have been there and done it come out and tell us their story of whether the outsourced product development model worked for them or not. It is my belief that “product” companies cannot outsource their development. Products take on a life of their own and needs care, nurturing and a lot of love unlike “projects” which are short term in nature and the team working on it generally does not have any love for it. This is the main premise behind my argument that Internet and Tech intensive software companies cannot outsource their development.

      Abinash Tripathy

      January 19, 2011 at 9:08 am

  18. Superb article. Well written.

    Arun Thomas KB

    January 20, 2011 at 5:21 pm

  19. nicely put abinash. :) we have to get our hands dirty. half of indian startups have average technical guys who have no idea of business planning. I have worked with several IITians who wanted to start their ventures.
    They make some softwares and quote prices that are too high. I mean how would you fix up price for a software or web designing assignment. I want to hear on such issues from you. how do i contact you?

    mihir deshpande

    January 27, 2011 at 1:40 am

    • I am not sure I understand your question. I am trying to make the case that core tech/internet startups should not outsource and should grow and nurture great in-house talent. Could you re-phrase your question?

      Abinash Tripathy

      January 27, 2011 at 7:43 pm

  20. The usual debate of Founders who can’t code (or rather founders should know code). Honestly, most Indian web startups suck. Sorry if I said suck, but what I meant is that they ‘really really suck’. Coincidently, these Indian startups are by those that have big MBA degrees and almost null tech experience. If you visit startup events like proto, etc in India, you will understand where I’m going with this one. Of course, there are exceptions, but here is what I feel Indian startups need to get right.

    1. Set a budget and a timeline. Ship as soon as you exhaust your development budget or hit the timeline. Keep in mind what Abinash said about “The user experience of the product should be world class.” – I agree with this one. A prototype is important but it doesn’t have to look lame. Even if you can’t afford the most usable and tested design, build something that doesn’t make your users feel its our government website.

    2. Scratch your own itch. It’s important to have a solution to a real problem. But I’d say, make sure it’s your own problem too. It is better to solve a boring problem in topic X that you know quite a few things about than to solve the worlds biggest problem in topic Y which you know nothing about.

    3. Start in a garage and act like a garage. Don’t buy a pen or book unless you really need one. Even if you really need it, buy it just before the first time you are going to use it. Of course, I’m referring to employees, expensive technologies & services here.

    4. Premature optimization is the root of all evil. It is important to have great code and optimizations but spend time on aspects that will really help speed up the product. Just keep your code/project manageable and bug free. Scale up when you need to scale up. Build with less momentum so you can always change direction.

    Lastly, try to be transparent. If you come in with preconceived notions, you are going to block out methods that actually come from you. Don’t fear competition, embrace it. Tell other Indian developers/designers/entrepreneurs about how you build your web app, share some internal code, ideas, research details, etc.

    I don’t intend to talk in the air, but this is the idea on which we’ve built and launched our first product – http://textmewidget.com
    p.s: We’ve neither broken even nor ‘boot strapped + successful’. But just wanted to share the mindset we started off with. If it ever fails, I’ll come back here and tell you what went wrong and I’m sure it won’t be a reason I mentioned above.

    daysonp

    February 6, 2011 at 3:48 pm

    • Some very nice tips.
      All i ever hear is “be brave and just do it”.

      It’s great to have an article written so well, thank you Abinash. And the comments that follow match up to the article quality. I’m truly impressed.

      Anirban

      February 7, 2011 at 1:54 pm

  21. [...] web startup in India dayson, Feb 8A few days after launching textme, I came across this post on why Indian internet startups need to get off their asses and learn to program. It’s the usual debate about founders who can’t code (or rather founders should know code). [...]

  22. Very nice post Abinash. Do you guys have an engineering blog as well?

    Ayan

    February 20, 2011 at 4:48 pm

  23. Nice article, you have hit the bulls eye. I think Indian entrepreneurs and Techies in general have to adopt DIY (do it yourself) attitude.
    We have put up a startup in Bangalore around 6 months back. We did start with DIY as mantra and were successfully able to put, in house cloud infra with assembled hardware, 24*7 monitoring, System configuration mgmt, DNS, Web-servers etc etc…
    In another month we would be launching first On demand Organic Search analytics product from India catering to global market. Completely developed by 3 of us, technologies used includes Cassandra, Hadoop, GWT …

    Many of the areas we did not have any previous exposure, but it did work out and on the way we learnt many new stuff..

    By deep diving and having hands on you not only benefit by gaining control but also save crucial capital, get tremendous confidence and it also opens up many new diversification opportunities.

    We did even initiate DIY Enterpreneurs forum in LinkedIN for like minded people to come together and share their experiences…

    Khadim

    February 21, 2011 at 11:16 am

  24. Being a techie I wish to agree but I know a person who doesn’t know anything about cooking but runs a very successful restaurant, though he knows what is good food and where to find good cooks.

    anurag

    February 22, 2011 at 10:05 am

    • All humans can recognize great food. It is something innate in us that we can all intuitively identify/enjoy good food. There is a reason why cooks are paid a little more than manual labor and software artisan’s are paid a lot higher. Cooking is a skill but Software Engineering is a very highly tuned/honed skill which is not something that can be taught to just about anyone. It requires some level of intellect. So, while you make a great point, I think it is naive to compare cooking skills to technology skills.

      Abinash Tripathy

      March 22, 2011 at 12:13 am

  25. Abinash:

    The Signal to Noise ratio on this blog is too high. :) Not sure how I missed this blog. I love your ideas surrounding tech startups needing to build a strong culture around core tech skills as a passion and craft rather than just something you do as part of your job. That seems so obvious but sorely missing in most so called high-tech companies.

    However, just having a bunch of really passionate hackers might not mean success as a company. For me, the following four are must have ingredients for any tech startup.

    1) A Founder(s) with a vision and the tenacity to execute it.
    2) Solid Product and Design skills.
    3) Solid core tech skills.
    4) A culture driven by a passion for the craft.

    Best,
    Sunil.

    Sunil

    April 1, 2011 at 4:44 am

    • Sure. I agree with you. You need to go and read my older posts as they cover everything you point out.

      Abinash Tripathy

      April 1, 2011 at 7:10 am

  26. If Facebook is your idea of a world class product, you really need to broaden your experience.

    -jcr

    John C. Randolph

    April 26, 2011 at 10:13 am

  27. Nice article. I have myself seen wannabe startups trying to hire external coders and doing a bad job at it, getting fleeced and all because they are just too lazy to learn to code or take on a tech guy as a partner and not as a use and throw coder for hire. They just dont show enough respect for technology. I have myself been in one such situation, a group of seniors (i was in college in my second yr) wanting to start a company and they dont know a thing about programming. I didnt end up working for them and I was honest enough to tell them exactly how much they should pay for the work they are getting done. Again, another senior of mine at IIMA started a ecom startup last yr and he too got his coding done from another place. When I talked to him about my startup ideas he was quick to suggest that I should outsource the coding. I can’t and won’t. I can’t because what I want is far more complex than what any random coding shop can do. I won’t because, despite my MBA, I enjoy coding and would not give up that pleasure for anything in the world and I want tight control over every bit of the user experience; if it sucks so be it but at least I dont want to have anyone else to blame for it.

    I dunno how ppl can ever think of doing a tech startup without understanding tech.

    Sandip Dev

    November 5, 2011 at 10:22 pm

  28. [...] learns its device driver and integrates continuous integration system like Jenkins with it. Please read this comment made by AB in his blog for unadulterated [...]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 32 other followers

%d bloggers like this: