My wish list for the new Modi Government in India


Modi led BJP swept the elections – clearly indicating the people of India want big changes . Here are my personal “wish list” items on what changes would be great for India in policy terms when this government is in power.

1. Revamp public distribution.

India does well in pockets – but it is practically the most inefficient supply chain I know of in any country. People starve on parts of the country when there is food rotting in other parts – some times food rots in godowns within state when prices increase at super markets for essential stuff like Onions and rice . This needs a big overhaul

2. Amend the constitution – remove “socialist”

Nehru and team decided India needs to be a socialist republic . That is not modern India . If socialist policies were what the people wanted , Congress would have won on its election promises of dole outs to the poor . No strata of society voted for Congress – and it is time to acknowledge its time to move away from socialism as a defining characteristic of India

3. Double down on agriculture and manufacturing

India – and some states like Kerala especially – need to wake up and smell the coffee on agriculture and manufacturing . India is extremely well focused on services and financial markets , which won’t help in a downturn . People can live without services and financial markets are built on speculation – they need to be balanced by agriculture and manufacturing . There are pockets that do great in agriculture and manufacturing – but if we take the country as a whole , it is not a good picture for a nation of a billion people .

Also – these two things give India a better ability to stand up to other countries on foreign policy . Most business schools in India used to teach the post WW2 story of how trade happened between Japan and US and how the hunter became the hunted . Sadly, that is not exactly how reality unfolded for India

4. Introduce mandatory one year apprenticeship for all engineering students

India produces a lot of engineers every year . However , most of them do not have any real skills when they come out of engineering college . It takes a year of working at some company before people figure out the basics of real engineering . And vast majority never work in real engineering – they join IT services companies . Why is it that engineers don’t have an apprenticeship requirement like doctors and accountants ? It should be implemented ASAP

5. Bring consistency in taxation and monetary policy

India has a very complex tax system and it swings widely in short period of time , making it hard to plan investments . On top of that – for the most part, Reserve Bank of India gets pressured to do unnatural things on Monetary policy . It is beyond high time that this stopped . Aadhar – despite implementation troubles – seems like a good step in right direction . But it solves only a part of the problem . I hope Modi gets some serious firepower into financial policy making and then sticks to it long term .

6. Take some consistent stances with neighbors

States ruled by regional parties and centre ruled by national parties who need their help in coalition politics is the reason India could never have a consistent relationship with Bangladesh , Srilanka etc . Now BJP has a clean majority in lower house, but still need some regional help in upset help to push bills . Now is as good a time as any to solve the problems with smaller neighbors .

This gives time , resources and energy to focus on the two big ones – Pakistan and China . Those are probably going to be “frenemies” at best even if trade improves , but that is a lot better than what it is today . Stability in the region can also help redirect extreme defense spending on to other things like infrastructure, health and education

Win or lose , AAP has changed elections in India for good


If there is an award for political immaturity, I will nominate AAP for that . But that said, I have to give them a standing ovation for changing the fundamentals of election politics in India .

Gutsy all the way

AAP won in Delhi . Then they left in 49 days – which irked many (including me). And then they decided to field more candidates than Congress and BJP. Vast majority of those candidates are political unknowns – yet they believed in a common cause (anti-corruption) and fearlessly fought the battle . I am pretty sure most will lose – but they will lose with heads held high . Common man figured out they can be the change they want to be

Grass roots

AAP came from nowhere – and built up a massive momentum nationwide . Political immaturity made sure they couldn’t capitalize – but they are well set for next Loksabha elections . They were pretty organized in using their volunteer resources to drum up votes

Picking the right Goliath

Arvind Kejriwal is the proverbial David . He needed to pick a Goliath – Modi , Sonia or Rahul . I think he made the best choice possible by fighting against Modi in Varanasi .

This move immediately marginalized an already weak Rahul and Sonia . And Though Varanasi is a BJP friendly place – Modi and AK are both outsiders there . You can’t fight lions in their den – you will just die . But you can fight realistically by drawing the lion outside its den . That is exactly what AK did with Modi .

He might still lose – but he will have enough popularity to carry it for AAP in Delhi state polls . If he wins – then he can question Modi’s credibility to run the country . It is win win either way .

There is surely a flip side . AK was so obsessed with Varanasi that he was barely in the other 425 places where AAP was contesting . Same is true for their other leaders . So in the grand scheme – this might be a failed political strategy for AAP to not do optimal resource allocation .

Real debates

Most often – there are no real debates in Indian politics . It’s traditionally a game of empty one way promises . AAP changed the game – they made sure other parties had to take stances on issues . That is probably the biggest positive for India in this election . Not only did political parties express their stances on issues – common man felt they could ask questions too .

AK also set a precedent of answering all questions from the press . His answers were not always concise or good or logical – but he did answer everything the best he could . That forced more leaders of other parties to get out of their comfort zones and give real answers . Few more elections of this kind – and Indian politics might look quite different .

When the dust settles

Tomorrow night US time , the results will start pouring in . Modi probably will become PM although a lot of non-Hindu Indians would hate that .

I can only hope that

1. BJP leaves it’s election rhetoric on religion and focuses instead on development of the country as a whole when they form the government
2. AAP wins Delhi state elections and gets some experience running a state and making principled compromises
3. Real debates continue to happen and the citizens of India hold their leaders to a higher standard
4. In the event of hung parliament , leaders of the parties show some strength in forming long term alliances for a stable government

MongoDB for the non-technologist – It is not just what we make, it is what we make possible !


I borrowed the title from an inspiring Intel slogan from 2008. http://www.intel.com/content/www/us/en/history/history-2008-annual-report.html

How exactly does someone choose one database over another?

That of course depends on who the “someone” is – the answer differs whether you are a developer, and ops person, an architect, an executive or an end user. If you are a developer , an ops person , a consultant or another kind of IT expert, and you are reading this – you probably already know why you chose MongoDB over other databases. Your next step is probably to convince someone else on “why MongoDB “ . And typically that person does not come with deep technical background like you do.

A good part of my job is to explain to our partners and customers what is new and different with MongoDB – in non technical terms . And having done that a few times now – I thought maybe it is worth typing it into a blog post and get some feedback from my readers . So here is my attempt – I am happy to explain more, answer your questions and accept and fix any flaws in my current thinking .

I think one of the best ways to explain a database to a non technical user is to explain what kind of apps can be powered by it, how it will help the business and their day to day life.
It is not just what we make – its what we make possible with MongoDB that drives the massive adoption (Did you know that there are about ten thousand downloads of MongoDB every day now?)

So, what are the three biggest challenges that an IT organization faces today ?

1. Keeping pace with the business that seemingly changes its requirements every day.

It is not as if IT wants to say NO to every request that comes its way – it is frustrating to explain to a business user that “ can you add just this one field to capture this attribute?” is not like adding a column to an excel spreadsheet and altering a formula or two. Coming to think of it – I know many analysts at my past clients who will not alter their complex spreadsheets for fear that something will get messed up. Yet the same folks hate it when their IT colleagues say NO to their change requests. You have to change the data model, update information, change code in multiple places and there is a high risk of something else going wrong while you were adding “just one field to the screen”. So IT pushes back and introduces increasingly complex governance procedures , which further frustrates the business users. Some version of this story plays out every day in companies all over the world. There are tables that hold billions of lines – like sales orders, financial document line items etc where “just one field” to be changed takes months to fully implement.

RDBMS has many benefits – but to make use of it, you need to agree upfront to a given schema and then try everything possible to not change it after you start coding and loading data. I once worked in a project where an extra column in a table that is in production needed the approval of the CIO of that $40 Billion annual revenue company. With its dynamic schema (thanks to JSON) – MongoDB is a lot more flexible . You can tweak your schema as you learn more about data. This is not to say that there needs to be no schema design at all. It just means that you have a lot more ability to respond to changing requirements as projects progress. Bottom line – You don’t need to say NO as many times to business anymore.

2. Ability to start small and expand when needed

There are very few companies today that have an IT budget that is growing every year . Capital intensive projects go through increasing levels of budget scrutiny – and for good reasons . One of the reasons for this is the “scale up” requirements of many databases. Scale out is typically cheaper than scale up – it takes less money to daisy chain several small servers than buy one big server. But if the database does not scale out well – your hands are forced into buying a big server upfront and not optimally using it for significant periods in time. MongoDB takes this problem away – you can start small and expand footprint over time. I should add here that before you scale massively – some significant thought needs to be put into deciding the best sharding key .

The same holds true for skills. Developer productivity is an important core aspect to MongoDB design. There is practically a driver for every possible development language out there – java, javascript etc. This means you can get started on MongoDB with your existing skills and very little training. In my own case, it took me less than 30 minutes to download MongoDB (http://www.mongodb.org/downloads and http://docs.mongodb.org/ecosystem/drivers/ ) and write a hello world . There is a vibrant community of developers who help each other on the technology – and there is world class online education (and traditional class room training too in case someone prefers that).

3. The need to standardize on limited number of technologies

IT landscapes are heterogeneous in nature. While that is hard to change – most companies prefer to standardize on as few technologies as possible. This is especially true for the lowest levels of the stack like Hardware, OS and database .

Once the decision to treat a database as standard is made – the team gets used to thinking “why not the standard?” when new applications need to be built. There will always be some applications (say 20% of the total apps) that are clear candidates for RDBMS – like the complex ERP like transactions. There will be another similar set of apps (say another 20%) that are obviously great use cases for MongoDB. That leaves about 60% of apps that could go either way. Typically the “why not the standard we chose” thinking will impact this important decision that has really big long term impact.

Standardization on as few platforms as possible is definitely a good thing to do – as long as the project team knows what were the use cases that were used to determine the standard platform when the decision was originally made. Many of those decisions would have been made in the past where the requirements facing an organization today couldn’t have been possibly considered ( say like handling sensor data or needing projects to deliver into production every week or every month instead of once a year).

Database is one of those layers where there was hardly any revolutionary changes done for decades. So these platform choices didn’t have to revisited by few generations of project teams. But that is not the case today. With MongoDB, Hadoop and similar technologies – there are modern ways of satisfying the data requirements better, faster and cheaper.
MongoDB is a general purpose database – a technology that can solve a variety of use cases. Check out a small sample of these use cases here http://www.mongodb.org/about/production-deployments/ .

Platform standardization decisions are not only about technology differentiators alone. An equally important part is the ease of doing business with the platform vendor. At MongoDB – we want to be the easiest vendor for our customers and partners to do business with. We believe in complete transparency – like putting our subscription pricing and discounting information on public domain. https://www.mongodb.com/products/subscriptions/pricing . I wonder how many traditional database vendors can do business with this level of transparency .

So , that is what we make possible at MongoDB – we want to make working with the technology and working with us as a business partner as successful , frictionless and transparent as possible . Everything else is secondary !