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.
31 10 / 2011
Stop TRAIng idiots - You think you are here to solve problems, we will create more!
The motivation for this post is the termination charges of 5p/sms that come into effect from 25th Oct, 2011 via the latest TRAI notification, latest in the series of oppressive regulations (w.r.t to entrepreneurs). For anyone who thinks that 5p/sms isn’t much, the truth is that it almost doubles the cost, and is even more than an increase of 100% if you had high volumes.
Statutory Warning: I will not be subtle in my criticism. If you are satisfied with what you are getting, and don’t give a damn about what you may be missing, or have turned a blind eye towards killing of innovation, and the limitless possibilities that sms communication could have, this post is not for you. Please note that no one is endorsing spam here, but terminating all communication cannot be the solution to those pesky SMSes. For people who have heart aches due to name calling, you have been warned. You may choose to opt out (of all communication by subscribing to NCPR/DND list), and discontinue reading. Just ensuring that this is no unsolicited communication… ;)
The story so far:
- Airtel exits bulk sms space in september 2010
- TRAI comes up with a set of regulations in March, 2011
- Implementation postponed indefinitely due to obvious faults
- TRAI again comes up with a similar set of regulations (I still don’t know what they were doing for 6 months), which come into effect from 27th Sep, 2011
- People point out the problems and there is a lot of hue and cry. The big/small players (businesses, startups) are worried at the inherent foolishness of the regulations
- I write an email to TRAI, a minister and people in Nasscom and TIE pointing out the problems. Haven’t received a reply till date, not even an acknowledgement from anyone that the problem even exists
- Within 12 hours of the new regulations coming into effect TRAI issues an amendment that exempts the big players (facebook, twitter, linkedin, google, justdial, etc.)
- TRAI comes up with a 5p/sms termination charge that comes into effect from 25th Oct, 2011 and the money goes to the receiving network
- Ecommerce players (probably I don’t need to name the bigger players) are exempted from this termination charge
- Airtel stands to benefit the most due to the recent termination charges, as they have the largest network and they have already exited the bulk sms space (so they don’t need to pay anybody)
For those of you who still don’t get it, or are feigning ignorance, I’ll put it down it words. The inferences:
- When I first read that airtel was lobbying hard for these regulations, I wasn’t sure enough. As someone has said- the end justifies the means, and by looking at the end I am now able to connect the dots. A pure win situation for airtel and probably they will be making more money than what they would have if they were in the bulk sms space. They don’t pay anybody and everybody pays them, and they get paid more money (5p) than what the bulk sms service provider earns (2-3p) in the first place. Pure Profit!
- The regulations didn’t work, and TRAI seems to be admitting to that by introducing the termination charge, or is there something else to it. Time and again I am reminded of the fact that India is the land of opportunities is you know the right people, and have the right amount of money to spend on them. Whatever happened to that policy on fine for more than 5 violations, nobody seems to care. Do we have any data which tells us that it failed, and to justify the introduction of termination charges? Weren’t the regulations foolish in the first place? Don’t we need to correct them first before introducing new ones?
- The world isn’t fair. There are no guardian angels in the world of entrepreneurship. Everybody is for himself (maybe that’s the fun part and makes success more sweet and enjoyable). If you are a big player, good for you, and if you aren’t - $@# & off! Bad timing dude.
In your ‘Pursuit of Happyness’ - “You can only depend on yourself. The cavalry ain’t coming.”
So what’s next from our entrepreneur friendly government - email regulations, facebook terminations, twitter reverberations!