04 3 / 2016
How to build a product from scratch
Though people try and make it sound extraordinary, but it is more about getting started in the first place and making a lot of decisions along the way. I have done it a few times in the past, and I will try and dispel the myths. When you start working on version 1.0 of a product, you spend a lot of time thinking about the product and architecture. It’s good if you spend significant time thinking about what your product is going to do, and how you are going to do it (technically). Ask a lot of questions. Additionally, it will be great if you put some thought into how this thing is going to scale into the near future, and try and think about any immediate contingencies that you may face once your product is unleashed onto the real world (out of the one that exists in your thoughts). It never hurts to stay prepared, but at the same time I will advise against shooting in the dark. That’s dangerous, and that’s too managerial for me to care about. I don’t know if there will be any computers/mobile devices five years from now (or the world will have moved on to the next big thing), so when someone asks if this product is going to work 5 years from now, all I can spare is a smile. Remember, this is the first iteration of your product, and it will continue to evolve as the world evolves, or it is going to be dead soon!
So once you are done with the thinking bit, it’s all about decisions - what language, what framework, what databases, what server, what caching layer, which host. At a more micro level - what server configuration, what defaults and which gems. For the bigger decisions, I usually try and stick with technologies I already know, for the simple reason that I know them better. That doesn’t mean that new technologies don’t find a place, and it could vary from project to project. Usually they can come a bit later in the cycle, when I am more clear about whether or not this technology can solve the given problem. So while building v1.0, each day involves a lot of decisions on your part, and you need to stick with them for a while. There could be mistakes, and the earlier you rectify those, the better. Fail early, fail fast!
Other than the decisions, you will need to write a lot of code. Be possessive about your code, feel offended/guilty if anything breaks. If you touch someone else’s code, it’s your responsibility that nothing breaks. Stay away from the blame game. Behave responsibly. If something is ugly and needs to be rewritten, rewrite it. At the end of the day, do look at the code that you have written, and see if something can be done better. If it can be, do it. Love what you do. F#@k process, use your good judgement. You are here to build. You cannot fake excitement, and if you are not excited about what you are building, then neither can Agile help you, nor the Waterfall model.
Unleash the dragon, and once it’s out in the open, get ready for round two. Iterate, iterate, iterate until you create something that people love! And once people start loving what you have built, you have some other problems to solve - scale.
Remember there are no silver bullets or turn key solutions for scaling your product. If you know people who think this way, stay away from them. Those are dangerous people. It involves effort at your end, and sheer determination to solve that problem. Don’t look at it as just another bug in the system. Pay attention early enough, read the warning signs, and get to work. Those are interesting problems to solve, and you are lucky enough to have hit them. Most of the people you know have never heard of them, and never will. Thanks to the open source community, and treasures of information available over the internet, the world is a better place, and you are not alone. You will figure it out, and unknown people, who you will never meet, will help you get there. That’s humanity!
As programmers we have the rare gift of being able to create things, and bringing ideas to life. You are a problem solver. That’s too much power which you ought to use now. In the words of Steve Jobs:
“Designing a product is keeping five thousand things in your brain and fitting them all together in new and different ways to get what you want. And every day you discover something new that is a new problem or a new opportunity to fit these things together a little differently.
And it’s that process that is the magic.”
![image](https://66.media.tumblr.com/9b9147b0ced20ff12c11ab5fa416d02d/tumblr_inline_p9n7hfrrr11rj6oo2_500.png)
Life is short! Don’t waste it on things that don’t matter. Feel free to throw your random ideas at me, in case you are looking for feedback/brainstorming, or just trying to solve a difficult problem. I firmly believe in good karma, and humanity :)
If you build products some other way, things which have worked for you, do let me know in the comments section.
18 5 / 2014
Why I think that I am extremely unhirable
![image](https://66.media.tumblr.com/c654d9223e3b1654805343ee6afc7444/tumblr_inline_p9n7hfX39d1rj6oo2_500.jpg)
- Because I eat, sleep, breathe product! Though this may sound good at first, but what this translates to is that I am bound to ask a lot many questions for any product decision which I disagree with. Plus you will have to deal with an infinite stream of new ideas. I enjoy throwing in random ideas, thinking it through, and talking about them with like minded individuals.
- If (thinking about) the product is not keeping me awake at night, then probably I am not doing something right.
- If stuff that shouldn’t matter is keeping me awake at night (office politics, useless meetings, bureaucracy, BS), then probably I am at the wrong place, and I try and make amends.
- I have low tolerance to BS, and usually try to stay away from the non productive managerial layer. If you are not adding significant value to the organization, I exponentially lose respect for you.
- I don’t always agree with the boss, and when I don’t, I let them know. I have been very fortunate to have worked with some great people, who have taught a lot of varied things to me, and didn’t fire me when I didn’t fall in line ;) The worst thing that you could do to me is tell me - “we are going to do it this way, because I am the boss”, and not try and explain the rationale behind it. We can agree to disagree, but we should talk.
- I am driven by passion, and when it starts to feel like a daily chore, then probably it’s time to get out. So it’s your responsibility to keep the energy and motivation levels high, and ensure that the organization isn’t losing focus.
- If X days in a row, I am not excited about going to work, and curious about what’s going to happen next, then that’s a danger sign for me.
- If you want me to work with a team (I don’t manage a team, as I strongly believe in this guy, who is of the view that if we treat people as an adult outside work, why can’t we treat them the same within organizations, and expect them to use their good judgement. Why do we start treating them as children, as soon as they enter the office building.), I would expect a free hand, and don’t expect me to micro-manage them. I operate solely on trust, and it has worked for me in the past (though people don’t like to believe this despite the results, as it is opposed to conventional wisdom), and I don’t plan to change that anytime soon.
- If you are concerned about any metric other than work and value I add, then you could be a sad being. If me turning up in the office in the afternoon is going to bother you, then that’s a problem I cannot do anything about.
- I have a strong distaste for processes and good for nothing meetings. If something is important enough, and needs to happen, it shouldn’t wait for a meeting, and if it can wait for a meeting, then probably it is not important enough. Everyone around you is accessible, and doesn’t need a calendar invite to talk. That’s so non human in nature. We are social beings. If processes become more important than people, then it’s a matter of concern. They were devised to assist, and not to hinder.
- I believe in this: “Why work doesn’t happen at work”
- I find this very interesting, and believe in most of this e-book: Getting Real
- Though I wouldn’t work purely for money, but I wouldn’t compromise on salary either, primarily because I am going to do another start-up some day (not anytime soon), and I hope to have enough cash to pump in.
- As a matter of discipline, I don’t work on weekends, unless the servers are down, in which case you wouldn’t need to ask, as I would have already been alerted. In fact, the truth is that I don’t like being asked to work on weekends, though I may, if I have nothing better to do. If I feel like writing code at 4 AM in the morning, I do, but that’s a matter of choice. Life is short, and I try to make the most of it.
- At times, I do indulge in philosophy and idealism.
- Finally, you have hired me to work with you, you haven’t bought me. If our goals don’t align, and we don’t share the passion, then probably it’s best to go different ways, without any hard feelings. I abhor the ruler and the ruled mentality. Once that feeling creeps into you, that’s the worst thing that can happen to your organization, which you have build painstakingly.
Though I may sound arrogant post reading all the above points/thoughts, but I usually try to stay grounded and be humble (at least that’s my perception, which can be incorrect). You may want to check with people I have worked in the past to get some idea.
Even if after reading all of the above, you think that you can make use of me, then you can find details about me here:
Feel free to shoot an email to talk about your start-up, or random ideas, or let me know if I can help you in any way (no strings attached - though I might not be able to spare too much time). I love start-ups!
02 7 / 2012
BillBaba: And a year flew by!
On a usual Monday afternoon the phone beeped, and I realized that BillBaba.com had completed one year since launch. The initial yearly reminder that I had set up to remind me of this had actually played it’s part and it dawned upon me that a year had passed since BillBaba.com said Hello to the world wide web!
I would lie if I said that the year passed in a flash. The year was longer than all those years when going to office was a routine, it was heavier, but it was faster. The Einstein’s theory of relativity does apply to Entrepreneurship as well - at faster speeds (comparable to speed of light), time does appear to slow down! Overall it has been a great learning experience, and definitely has carved out a better me.
This post if more about data, about what BillBaba.com has seen in terms of numbers. Personally, I have always felt that there is a lack of data points in the India eco-system. We don’t know about many successful exits, and even if we have heard of a few, we absolutely don’t know about the financial value of the transaction. There aren’t enough benchmarks to see if you have good, decent or poor traffic/userbase, especially in the Indian context. Below is my contribution to the eco-system.
All data as on 25th June, 2012 (1 year since launch):
Total users: 3,113
Total reminder SMS sent: 43,518
Total reminder email sent: 62,239Total Facebook reminders sent: 27,008
Unique Visitors: 13,252 + 952 (blog + forum)
Visits: 18,346 + 1079 (blog + forum)
Page Views: 92,663 + 2025 (blog + forum)
![image](https://66.media.tumblr.com/72df79a9e94f58d091336c2a88e5b5be/b989d5dec98a3714-3d/s500x750/c6ac7211d9e23f4406f73fa2fb3876062129d8b8.jpg)
![image](https://66.media.tumblr.com/183938f89667cd8ca35d6df974f72c88/b989d5dec98a3714-17/s500x750/4ccf9bb768bc8150f9ee0dc65e9f32f2afb69255.jpg)
![image](https://66.media.tumblr.com/0350680d94346482edfafa67cef3385b/b989d5dec98a3714-7e/s500x750/81c71f94f43e8375dd6ad0b2f679595a9871d044.jpg)
Thanks to everyone who has stood by me :)
15 3 / 2012
Why Entrepreneurship isn’t a bad idea…!!!
In spite of the fact that India is a difficult place to be for entrepreneurs, and entrepreneurship is highly under-rated here, I still think that Entrepreneurship isn’t a bad idea! I am completely aware of the fact that we are a part of a risk averse society which translates into:
- Fear of failure, whereas our American counterparts wear failure as a badge
- Lack of social recognition and acceptance for entrepreneurs
- Less (read negligible) angel and seed investment
- Serious lack of early adopters
But those are just facts, figures and ground realities, and interestingly entrepreneurship isn’t about facts and figures. It’s exactly opposite and is about being disruptive. It’s about swimming against the tide, because therein lies the fun. If everyone could do it, then everyone would do it, and it wouldn’t be so much fun. The rewards wouldn’t be so satisfying, if they were achieved so easily.
The entry barrier for entrepreneurs, and especially for web start-ups has been eliminated. Open source technologies have reduced the cost of entry for entrepreneurs so much that we don’t even need to think twice before venturing out. Thanks to the community for being so wonderful. It re-establishes our faith in humanity! World class infrastructure and hosting is now available to us at dirt cheap prices. Gone are the days when only enterprise audience deserved that, and everyone else was served junk, and that too would cost an arm and a leg. We live in the age of cloud, and a ton of thanks to a bunch of start-ups that changed the game completely, and made it a level playing field. Forget about money that you need to start up, because you don’t need any. All that you need is commitment and hard work. Shut up, and go build something.
The best part about entrepreneurship is that you learn a zillion things along the way. Things which you wouldn’t have learnt otherwise. Even if I leave aside the technical aspects, everything else that I have come across, and the inherent value in it has been fabulous. If anyone else would have ever told me all that, I wouldn’t have paid attention, believed or understood. So I don’t want to be that ‘anyone else’! Go and learn it for yourself.
For people who have been waiting since long for the right time to get started, there isn’t any such thing as the “right time”. Jump in now, as you have nothing to lose here. It is a sure win situation - either you get it, or you get the lessons. And even if you get the latter, those lessons make you a far better person than you were, and make you better prepared for the next time when you start again…!
Even if you fail, at least you tried to create some real value, which maybe other people didn’t understand… ;)
People may want to differ with that, but I like to think it that way…and that’s what entrepreneurship is all about - there are no set rules. Hadn’t there been so many unknowns, it would have been just another day job.
And in the worst case scenario you will fail, and that worst case scenario occurs for 99 out of 100 start-ups. You will fall flat on the ground with your face down. Failure is the default for every start up, but even if you fail, you now know how to handle failure, which is an incredible virtue in itself, and still have those zillion things with you that you learnt along the way. See, there is so much value even in failing, that I don’t even need to talk about what you get if you are heading North, towards the success highway!
Because when you look back, you will be more disappointed by things that you didn’t do, than what you did, and there will always be that voice at the back of your head - ‘If I had done it that way, then maybe…’ Therefore take that leap of faith now…!!!