I read Bertrand’s post on “Tales from the Evil Empire” about him leaving Microsoft this morning. Congratulations. We have never met, but your blog was in my RSS feed for a very long time. I would regularly learn valuable .NET-related lessons - my blog happened to be hand-written in .NET and I was still writing quite a bit of it myself with a few open-source projects like dotNetInstaller or ResourceLib.
I left Microsoft in October 2004 to move to New York. If you have worked at Microsoft for over 5 years, and your management, peers and reports value and consider you above average, you should leave too. In fact, if you have worked in any large company, including Google or Goldman Sachs for as long, it may be that time.
Open Source Changed Everything
Almost all sectors of human activity have started to move away from a hierarchical, top-down model, to a distributed one. It takes the form of open source, of peer-to-peer, or of social networks.
Agreed 100%. That’s pretty huge.
Team heads, including myself, are making open-source their foundation. This means building non-core intellectual property components as open source. That’s easily 2/3 of the code you write and we all want to focus on our core competencies. Hence open-source is a better way to develop software, it’s like working for a company of the size of Microsoft, without the centralized bureaucracy and true competition.
Break free and start getting paid for contributing to open-source.
Big Companies Are Always Looking Inward
The amount of accumulated tools and legacy force big corporations to look inward, a lot. Which, in turn, changes the meta-level of your skills. This is a syndrome of a lot of Google engineers: the amount of infrastructure available to you at Google looks impressive. To their credit Google does open-source a lot of code, but between existing internal distributed file systems and execution grids you actually aren’t capable of building a working large scale service from scratch. It’s like living in a bubble.
In reality, you have everything to learn.
Your Skills Don’t Match New Tech Jobs
If you don’t press the reset button new hires at your company in another five years will obsolete you.
Your Resume Will Look Identical in a Year or Another Five
How much do you read into a resume when you interview people? Your resume will read the same in two years. If you’re an individual contributor it will have a minor technology refresh and maybe a new product, but it will read the same. If you’re a team lead, you might get a few more direct reports. You’ll get that next promotion level – I left MSFT at 65 or 66, can’t remember. Nobody outside of MSFT cared about that.
Five vs. seven years makes no difference, but 2 years at a startup is everything.
You Could Work with an A-Team
Corporations don’t fire idiots as fast and aren’t able to always retain the best, especially entrepreneurial kind. You end up with a lot of average people that breed more average people. That, in turn, demotivates you. Even if you score a great sub-team, you are still ten levels below decision makers that will can it the first time they get a chance.
Finding a new team or starting your own is the most straightforward way to work with an A-Team.
You Can Always Return
Large corporations with good finances will always want to take you back. They are constantly starved for talent and even more starved for former and successful employees that know how to navigate the company. It’s a huge win for a manager to get someone who left by their own will, back. I get a concrete solicitation from Microsoft every three months. It’s flattering.
In my experience, few people return to their mother ship. But it’s there.
Want to Jump?
None of this may be for you. But, as always, my offer to help you stands. If you want to work for any of the companies in the NYTM.org list after reading this post, drop me a note. I’ll help you with direct introductions to the hiring managers.