Niall Kennedy is leaving Microsoft. That is a big blow for Microsoft. Niall was a high profile recruit and had joined just a few months back. I had briefly met Niall at Gnomedex. Niall's reason for leaving is very typical of why many smart people are leaving big companies (emphasis mine below):
I'm happy with what I was able to accomplish as a team of one attached to the Windows Live Alerts group. If we had the resources I truly believe we could have tackled the number of users Hotmail, Messenger, Spaces, or even Internet Explorer might supply, and then ask for more by opening up the platform to the world. I was able to borrow resources here and there, but there was no team being built around the platform in the foreseeable future. I could have stayed at Microsoft, waited for the other 85% of the company to ship their products, and then hope support for my group might be back on track again, but I didn't want to sit around doing little to nothing until Vista, Office, and Exchange ship. It's easier to get funding outside Microsoft than inside at the moment, so I am stepping out and doing my own thing.The first point above might come as a surprise to many. How can there be lack of resources in a big company like Microsoft which is flush with cash? While that might come across as an anamoly, resourcing is very convoluted process in big companies. The ability to add headcount rests quite high up the hierarchy. Several layers of management needs to be provided justification for why more heads are needed. Besides, several groups within an organization are competing for additional headcount. So naturally, inspite of best intentions, adding headcount becomes a slow and frustrating process. Unfortunately, in today's "web 2.0" world (loosely the domain in which Niall works), time is money. Startups deliver entire products in the same time a product manager in a big company could barely get her headcount sanctioned.
The second point that I have hightlighted above is perhaps specific to Microsoft. Microsoft is such a huge company that in effect it is really like 50 different companies trying to work together. This creates huge interdependencies between product teams. I personally experienced it first hand while I was there when what I was developing depended on Windows messenger, Avalon, WinFS, MSN, XBOX live to count a few! As a developer, having so many external dependencies is frustrating. It means, having to wait on 7 different teams to deliver before you can deliver your product. It means having to spend too much time in meetings and too little time developing. It means seeing your competitors deliver several versions of their product while you are still held up on your first release.
The final point that Niall makes about doing his own thing is a common reason why many people have left big companies of late. The next generation web is being defined by startups. All the recent innovation in recent times (Flickr, del.icio.us, MySpace, Netvibes etc) has happened in small companies. Companies like Google, Microsoft and Yahoo have been playing catchup by either buying out these companies or trying to imitate what was pioneered elsewhere. For many smart people in big companies, this is a despairing situation to be in. It is like standing behind a glass pane and helplessly see the ship sail by. What they can build in a matter of months outside will take years to build inside a big company. Moreover, with so much VC money available today, startups are well funded and can manage to attract smart people.
These are interesting times in the tech. industry. The innovation is happening in nooks and corners. The talent is gravitating away from the big companies. The small companies are cash strapped but talent rich and nimble. The big companies are quite the opposite. It remains to be seen who will prevail! You know on whom I am betting on :-)
