Back in mid 2000, I realized my lifelong career goal of getting a job at Microsoft. It was awesome. I wasn't selected after my first interview for a Software Engineer in early 2000, but this time I was. It was for a position as ISV Developer Evangelist. Basically, I was expected to help ISVs (Independent Software Vendors) make the most of the current Microsoft Technology to improve their products and increase their sales.
Before I worked for Microsoft, I had about 9 years of experience as a professional software developer. When I got the new job, my job roles and expectations changed in ways I just wasn't ready for. It really came down to the fact that I traveled more and attended more meetings. Oh, and all that code writing that I was so fond of? Not any more. I wrote a little bit of code to demonstrate how to write a custom ribbon control for the new version of Office, but even that was discouraged. I was supposed to fill out paperwork and guide my customers to the internal resources that Microsoft had for partners.
My original plan was to work for a year or so as a ISV DE and then get a position as a developer. Unfortunately, I learned that I had to move to Redmond, WA to be a developer at Microsoft. I didn't want to move to the Pacific Northwest, so I was deflated once I learned that.
I didn't truly understand what I was supposed to be doing. As such, I was terrible at the job and it quickly became obvious that I wasn't going to make it. Looking back, I now realize that all I had to do was fill out the paperwork, send a few emails, and work dilligently to direct my customers to the appropriate people within Microsoft who could help them. Oh, and attend meetings.
I was trying to make it something it wasn't and was getting stressed out about it. My stress level was so bad that I made some bad life decisions at the time. I was posting inappropriate things to this blog and was even writing publicly about leaving my wife (we're still happily married and have been since 2000).
Here's a blog post I wrote after my first week at Microsoft back in November of 2005. The tone is definitely that of someone who is excited, if not incredibly ignorant to what's about to transpire.
It took me a while to realize that all I really wanted to do was write code, not attend pre-sales meetings and match customers with resources. I moved back into software development. Since I didn't want to move to Redmond, I moved to Savannah, GA and started writing code again.
I miss the internal mailing lists and the Microsoft resources that only employees have access to, but I think my overall happiness and contentment are far more important than those benefits (man, those benefits were awesome).
I've since moved to Montgomery, AL where I am a software developer for the Alabama Department of Transportation. I am extremely happy with where we've ended up. We like living in Montgomery, AL (if you had told me when I was growing up that I would land in Alabama, I would have laughed so loud it would have hurt your ears). But, here we are, and I love my job more than anything I've done since I worked for Magenic as a consultant.
If you're just getting started and you have dreams of working for one of the big dogs like Amazon, Google, Microsoft, or Oracle, just keep in mind that once you get there, your journey doesn't end, it continues. It's not going to be "happily ever after". You still have to perform and work harder than you've ever worked before just to be an "average" performer. Remember, you'll be surrounded by the best people who are just as smart as (and likely smarter than) you are. Your hours will be long just to keep up. However, the benefits are definitely there. Having one of these companies on your resume is a bonus and will get you an interview at most places.
Just be ready to move on to other things. You might even skip it altogether and focus on being happy doing what you love with another, smaller company.
While ALDOT is not a small organization, I am on a small team of only seven developers, four QA analysts, and two architect/leads. We're accomplishing a lot and we get to use the latest technology to solve our problems. Honestly, that's more important to me than anything else.
In conclusion, the main reason I no longer work for Microsoft is that I had dreamed of working there for my entire career, but once I got there, it was nothing like what I had dreamed about. I wasn't ready for the reality.