I could direct some snark at each bullet point, but they're sufficiently ridiculous that instead I'll give my reasons for not regretting my four years and two days of being a blue badge:
* Brand names are useful: when you're interviewing for your second job, no one will have ever heard of fribble.com (or whatever), but they'll know Microsoft, Amazon, Google, Apple, Facebook, etc.
* I met a huge number of people in a very short amount of time. The connections I made at Microsoft are still paying off today in terms of friendship, jobs, and intros.
* Relocation benefits are awesome. I grew up and went to school in Minnesota, and when I was hired by Microsoft, they paid for all of my relocation expenses. The odds of finding a startup that can/will do this are probably low.
* You'll be able to appreciate just how green the grass on the other side really is. Seriously: the amount of bureaucracy and political infighting can be stultifying. Understanding what you don't want out of the rest of your career is just as important as knowing what you want, in my opinion.
* "Our career paths provide clear steps for success" is silly, but the odds are that you'll never have a manager in a small company who is invested in growing your skills. Having some structure for a couple years to get this was useful for me.
Edit: one more:
* "Microsoft is getting ready to launch some of the most exciting products you’ve seen yet" is also silly, since the odds of you working on one of the 'cool' projects is incredibly low, but there is a lot to be said for the fact that millions of people will use the software you help create. My work on Visual Studio impacted every single user every day, which is ridiculously cool and humbling.
all of those items (except the last one) are good reasons to work for other large tech companies. They would seem to translate perfectly to working at Amazon, as well.
as a side note -- I have several friends who work at both Microsoft and Amazon as I live here in Seattle.
My Microsoft friends are A LOT happier -- they have a much more balanced schedule, are not expected to be available on a moments notice and feel much more relaxed at their job. The friends I know at Amazon are very rarely off at a normal time, have a lot more pressure from the higher ups and have to regularly take high quantities of "on call" work.
I'm here in Seattle and my limited experience with Amazonians and Microsofties matches yours, though I think it matters more what group you wind up working with as much as anything. There may be great groups to work for at Amazon, but I sure haven't heard of any of them.
From what I hear it is almost entirely based on your team. If you are on a team that is working on a product that is forward facing or requires constant uptime (AWS, eCommerce platform.. etc) then you can expect to share responsibility for critical bugs or catastrophic failure. Kindle dev- not so much.
As far as I know, this isn't as bad as everyone tends to think. I kind of accept it along with the engineering culture- I prefer to be responsible for my projects rather than wait til 9am to put out fires. But I may be biased as a young, single, and so very poor student considering working for Amazon. If anyone has a better idea of the work/life balance at Amazon, I'd be grateful to hear more.
aaronbrethorst hit the nail on the head- there is a definite benefit to starting at a large software company. For me and my friends whom are looking for our first FTE positions, startups are daunting due to impostor syndrome. In my case, I don't know if I am skilled enough to jump right into a niche startup and be relied upon so heavily to ship. Amazon, Microsoft, etc provide a great place to learn from very intelligent people in the industry.
Sorry, I don't mean to sound super discouraging about Amazon -- I think it can be a great fit for right out of college if you're looking for some great experience in a fast paced environment. They do have a very high burnout rate though, as many people leave around the two year mark. One of my friends has had three different managers in the past year (one fired, two quit).
I think as my specific social circle is reaching the twilight of our 20s, those environments are less and less appealing for a lot of us but a few wouldn't trade it for the world.
Blog post quotes from a Kevin at Microsoft, making him look like a naive cheerleader:
"On the other hand, choosing Microsoft to launch your career provides nothing but upside.
Don’t believe the hype. I admit I’m biased, but for tech jobs, Microsoft is your best bet."
But it omits Kevin's six reasons why it's nothing but upside, in between these two paras. Good practice would be to show via ellipsis that something was omitted. Better would be to give a more honest argument.
I've spent some time at Microsoft, and have only good things to say about my experience.
My qualm isn't with the company, but rather, the content, approach and flippant tone of Kevin's post. Having previously worked there, that's not something I'd expect from the company, which is disappointing.
For engineers who are interested in personal and professional growth it's ultimately about optimizing for learning. A business in which a lot rests on your shoulders is an excellent environment to grow and learn, at least for a certain type of people. Others enjoy the pace and the perceived predictability/stability of larger teams.
If your priorities are to grow yourself as fast as humanly possible (remember Derek Sivers and "There is no speed limit.") for a certain planned period of time and you're ok with all of the sacrifices that the choice will entail (no free time, no weekends, infinitesimal personal life, continuous ups and downs), then I believe you're better off on your own, surrounded by very smart people working in very smart and fast-paced teams. I do believe that the overhead of working at a large firm where as a new developer you might spend 50% of your schedule in meetings is absolutely devastating to your career, unless your career is to steadily climb the management chain, in which case you'll probably do fine and don't need this kind of advice. I've had a very similar experience to aaronbrethorst at MS and definitely gained a lot from the ride.
Welcome to dialectics, brought to you by our friends at Ancient Western Culture.
There are certainly happy people working at startups, and happy people working at large companies like Microsoft. Certainly Microsoft's JobsBlog is going to promote the benefits of working at Microsoft. It's up to you to decide if his points resonate with you.
It's worth going to the original post and reading the six bullet points. They're not dishonest, and they don't misrepresent the company.
If "you will launch code on day 1" is more important to you than "our benefits are the best in the business", you may want to work for a startup. For many 22 year olds, this is the case.
I spent most of my career at Microsoft. 14 years, in fact. I had a great run there, and there was a lot of good, and plenty of bad, like anything. I just up and left one day, so take that for what it's worth.
But I did spend a lot of time hiring, coaching, and observing junior engineers of all stripes.
At junior levels, I don't think it's about MS v Startup as much as "Big Company v Startup". As Steve Blank says, startups aren't minified big companies, they are a different species.
On balance, I still believe a bigger company is a better place for a first job than a startup. This is not a rule, but a preference.
My main reason for this is that the number one goal of a new engineer is learning to be a better engineer. On balance, this happens faster when you're in the presence of more senior folks to mentor and challenge you.
If you're doing a startup with a bunch of folks with similar experience levels, you'll learn plenty but you'll also bake in some bad habits.
A corallary, as noted here, is that a larger company pays you and let you focus on your core job role, versus "wearing many hats", which is great for someone who's got some things down pat, and not so great for n00bs.
This is a vast generalization and frankly there are some caveats here with MS in particular (and maybe others, n=1) that might get in the way, but in general I think structure is good until you're really equipped to make a run.
My first job was at a startup and I came to this conclusion when I left there 1996, and nothing in between has changed my mind.
I did not start my career at Microsoft, but I worked there for quite a while, alongside many who did. As far as I am concerned, the primary upshot of working there is that it's decent resume material. But beware- after 5 years of being there, it starts being a resume killer. Seattle companies are wary of developers too indoctrinated in Microsoft's ways. I would not recommend staying there for more than 3 years.
Furthermore, I am very (very) thankful that I did not start my career at Microsoft, but rather at small startups. The primary drawbacks I see for starting at Microsoft are:
* You do not really learn from your mistakes- there are sooo many code reviews, design reviews, test reviews, etc that it's essentially waterfall planning and you have very little chance to experiment and fail. Which I think is critical for starting out. You're surrounded by very experienced people, but at first what you really need to do is to learn on your own (in a production environment).
* There is a certain lack of energy on many teams at Microsoft (not all, but a large majority). You're young, you have nothing to lose, may as well learn what it feels like to work on a small team and crank out features like your company is going to go bankrupt in 3 months.
* At Microsoft, you learn to code. At smaller companies, you learn everything. A bit of customer support, business models, ux design, etc. A small company gives you a great broad base of experience from which you can build on in any direction. Microsoft for the most part, is more of a specialist (one person who just works on installers, one person just working on build system, etc).
There are many reasons to start your career at Microsoft.
Microsoft is an excellent company to start your career at if you have a limited educational background and little which distinguishes yourself, but you are willing to put in the work to overcome this.
Salary and pay for graduates from tier 1 schools is higher across the board for new graduates. But with 1-2 years at Microsoft, many recruiters and businessmen will put you on par with anyone else in the industry of similar education and background. Microsoft is a chance to replace your local liberal arts school CS degree beneath a solid pedigree.
Also, during those 1-2 years you will be given a great education in the industry. In my experience, Microsoft provides plenty of interesting problems and it also provides its new hires with the time to solve them. If have gaps in your education, the people at Microsoft will provide you the chance to fill them. A startup will provide a more feet to the fire experience, which may not be compatible with your disposition.
Finally, Microsoft provides you safe entrance into the industry. If you have a family, if you are writing on the side, if you are unsure that you've chosen the right path Microsoft will provide you a solid paycheck and free relocation. A startup will provide very little free time in comparison.
Couldn't agree with you more. Microsoft is an excellent launchpad. Your points are on point with most of the 20-somethings or 30-somethings I work with. Can't wait to see what we're all doing in 10 years.
Because I've never heard of a Microsoft check bouncing. But I've had startup checks bounce. That's all the motivation I need. I wish Microsoft would hire me. Would be fun.
I could direct some snark at each bullet point, but they're sufficiently ridiculous that instead I'll give my reasons for not regretting my four years and two days of being a blue badge:
* Brand names are useful: when you're interviewing for your second job, no one will have ever heard of fribble.com (or whatever), but they'll know Microsoft, Amazon, Google, Apple, Facebook, etc.
* I met a huge number of people in a very short amount of time. The connections I made at Microsoft are still paying off today in terms of friendship, jobs, and intros.
* Relocation benefits are awesome. I grew up and went to school in Minnesota, and when I was hired by Microsoft, they paid for all of my relocation expenses. The odds of finding a startup that can/will do this are probably low.
* You'll be able to appreciate just how green the grass on the other side really is. Seriously: the amount of bureaucracy and political infighting can be stultifying. Understanding what you don't want out of the rest of your career is just as important as knowing what you want, in my opinion.
* "Our career paths provide clear steps for success" is silly, but the odds are that you'll never have a manager in a small company who is invested in growing your skills. Having some structure for a couple years to get this was useful for me.
Edit: one more:
* "Microsoft is getting ready to launch some of the most exciting products you’ve seen yet" is also silly, since the odds of you working on one of the 'cool' projects is incredibly low, but there is a lot to be said for the fact that millions of people will use the software you help create. My work on Visual Studio impacted every single user every day, which is ridiculously cool and humbling.