(This was originally posted in February 2013, updated here)
Ask any software engineer turned MBA student why he is in business school in India, and you will probably hear about his dislike of software development. This is especially true when the student is in his 20's and studying in a full time MBA program. He has seen the typical roles in Indian IT and is looking for something more.
So here's a reality check for all young MBAs out there looking for well paying jobs. The best paying jobs, which occasionally include product management roles, require a significant amount of technical knowledge and close interaction with software developers. And this includes knowledge of software development, business domain as well as familiarity with software engineering processes and technologies.
This knowledge is not important for doing code reviews or software QA, but for truly understanding the efforts required to build a product feature. It is also useful in rapid prototyping of features, building or validating UX designs, reviewing system architecture and so on.
If a top-notch software engineer is rated a 9 or 10 in his knowledge of Java and SQL, you should reach at least a 5 (on a scale of 1 to 10) in those technologies. Otherwise you risk being shut out of design discussions and your UX and design contributions may be ignored.
You can become a product manager in India without software development expertise, only if you have significant post-MBA experience and strong domain knowledge. Otherwise, treat your programming books with respect and they will help you earn the programmer's respect.