.NET Zone is brought to you in partnership with:

Daniel Doubrovkine (aka dB.) is one of the tallest engineers at Art.sy. He founded and exited a successful Swiss start-up in the 90s, worked for Microsoft Corp. in Redmond, specializing in security and authentication, dabbled in large scale social networking and ran a big team that developed an expensive Enterprise product in NYC. After turning open-source cheerleader a few years ago in the worlds of C++, Java and .NET, he converted himself to Ruby and has been slowly unlearning everything he learned in the last 15 years of software practice. Daniel has posted 46 posts at DZone. You can read more from them at their website. View Full User Profile

Why You Should Leave Microsoft - Or Any Other Big Company

03.10.2012
| 9538 views |
  • submit to reddit

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

Bertrand writes:

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

Enterprises keep what works to make money. How much overlap do your skills have with a typical startup of 2012? Lets make a list: RoR, Python, PHP, Javascript MVCs? Have you ever deployed an EC2 instance or even heard of Heroku? Have you made a single REST APIs or are you writing SOAP RPC? What kind of Java are you writing today? That’s actually a lot like me a year and a half ago – I am still bewildered anyone wanted to hire me!

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.

Published at DZone with permission of its author, Daniel Doubrovkine. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Mihai Dinca - P... replied on Mon, 2012/03/12 - 3:45am

Some things are true, but some are not. I had never work for a very big company in my 12 years of employment, but that is because I do not live in USA. Even though, I know about bureaucracy in such places. Everyone dreams to have own business, but it is not possible for many to succeed.

I agree that the technologies you are using in a big company are not changed very often, so you are stick with some of them for ever. If you need new blood, you have to look for startups.

I do not agree that you  may not heard about some new technologies. If you love what you are doing, at least you have to know what's new on the market. You may not be able to work with X, or Y, but you should know about their existence and what they are good for.

Another thing I do not agree entirely is about the time limit. There are projects which need to evolve in 4 or 5 years to reach maturity, so it's not a good ideea in such cases to leave just after 5 years when its time to "pick the fruits". This depends on what are your projects about and what are the expectations.

The most important thing is to have the chance to do things that you like. If you hate what you are doing, it does't matter what technologies are you using. So, be creative. If you feel you really create something, than you can consider youself lucky.

Reehana Davis replied on Mon, 2012/03/12 - 7:06am

I agree with Mihai. You should first identify what you want to do, whether you want to explore some domains or you need to move to new technology? As said by Mihai companies do not change thier technologies and even architecture more frequent, But still it is in you hand, you can learn by your self by creating some demo projects in technology which you like and you want to explore. This is not the right reason to blame companies. If you have the capability then you can upgrade your self in your free time with new technologies in the market.

Jon Davis replied on Mon, 2012/03/19 - 7:13pm

Not listed here is the fact that in a large corporation, you are a small fish, no matter how big you are, whereas in smaller businesses a small fish is relatively large.

What I mean by this is that you have a lot more opportunity in smaller businesses to be able to leverage everything you can bring to the table. Large corporations call people who pursue these opportunities such ridiculous names as "superstar" or even "rogue developer", which means something else in and of itself but what requires rogue behavior in a large corporation can simply be smart and quick thinking in a smaller corporation. Part of all this is red tape, part of it is expectation for you to stick to your role, and stay pidginholed there.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.