A friend of mine forwarded me this blog post by a MSFT employee who choose to come back to Microsoft after working with Google for about an year.
While explaining the reason for his comeback to MSFT, the author, has provided some very good insights on how development at Google is poles apart from that at Microsoft. While reading this comparison, I could not resist thinking that Microsoft fits more into enterprise application development model while Google on the other hand, is more of a consumer application oriented organization.
If you ask me, both Google and Microsoft have their distinct positions in the Software industry. Neither, however, should try and barge into the space that does not belong to them. This is because if Microsoft starts writing the so-called “free” software, it will hurt their revenues badly as they are yet to develop that culture of churning out smaller applications at a faster pace. Also, as pointed out in the blog link that you sent, Google is not capable yet to churn out enterprise applications – probably because that requires a lot of planning and Google can be best described as ad-hoc software development organization (and I guess that is also not bad for them).
So would it be safe to say that while Google is for consumer apps, Microsoft is for enterprise apps? The advantage, that I guess, MS has is that it is easier to have a sound revenue model in case of enterprise applications while Google on the other hand will have to work hard to maintain their revenues as you cannot charge 100s or probably 1000s of $$s for a consumer app.
As a hard-core software developer, I would like a Google-like culture but as a Program Manager/Evangelist, I would prefer being at MS.
Or is there a place with mix of cultures? ;)