Small pond vs. Big pond

Misc September 24th, 2011

It has been more than six months since I left Microsoft to join Skytap, as honeymoon fades, I may compare the two ponds from the engineer perspective in a less subjective way:

Development Cycles

Microsoft Office follows the traditional waterfall approach:

  • The shipping date is decided by the executives to align with Windows release, also correlate to the enterprise IT upgrade plan. Any slippery will cause the turmoil like the delay of Windows Vista.
  • The executives also determine several heavily-invested areas as “pillows” for the next release. See Metro for Windows 8.
  • The project manager(PM)s will aggressively crafting the specifications for features. Scenario-Focused Engineering(SFE) is adopted to improve the user experience. Engineering team may also involve in for brainstorming and feedbacks.
  • The developers then swag, aka estimate wildly, the cost. Dev Manager then summarize the cost report, review the planning, calibrate with other team if integration is required, then start to chop, chop, chop features.
  • There is a chance that the survived features get postponed or even canceled at the end of the milestones in case integration failure or regressions.
  • Long time stabilization: extensive testing, bug fixes, design change requests.
  • Ship it!

I think this workflow makes perfect sense for Microsoft Office, a market dominator with rooted user expectation, just as the Milo Criterion states:

Products must mature no faster than the rate at which users can adapt.

Skytap takes a less formal approach as we are service-oriented:

  • Bug fixes and minor improvements are shipped in monthly base.
  • The long-last features are usually driven from the marketing side, then consolidated to requirements by developers.
  • As testing team compose less than 10% of engineering work force, test-driven-development(TDD) is highly encouraged. Mockups and fixtures are comprehensively used to for cross-component testing.
  • Besides testability; deployability, maintainability and serviceability are also planned ahead.
  • Dogfooding in the internal staging environment.
  • Deploy it!

Programming languages and Tools

In Microsoft Office, client applications are developed mainly in C/C++, a in-house foundation library takes place of STL and boost for historical reason. Server side uses C# and .NET out of surprise.

In Skytap, the backend service is developed in Python, the web frontend is in Ruby. Some services are developed in C/C++ for the sake of performance. We also have some legacy code in Java.

In Microsoft Office Graphics, most developer use Visual Studio for everything, I know some developers (including myself) prefer Vim. There are also some diehard windbg users as well.

In Skytap, most developers prefer Emacs, two guys use Vi/Vim, several use Eclipse, at least one guy uses TextMate.

Hardware

In Microsoft, each developer is equipped with at least two dev box in case the overnight build fails; one mail machine for running Outlook. Two 22″ monitors are hooked up with KVM for console switch. You may occasionally check out the virtual machine from build lab for Hotfix.

In Skytap, each developer is equipped with MacBook Pro 15″ and HP ZR30w 30″ monitor. The dev stack is running in the HP ProLiant server or in the cloud.

Goodies

In Microsoft, you have unlimited access for Microsoft products for your day-to-day work, and MSDN subscription for technology preview.

In Skytap, you have unlimited limited resources to run virtual machines in the cloud.

The two ponds are so drastically different, which pond do you prefer?

By the way, Skytap are still hiring. Feel free drop me a line if you are confident with your programming skill in python/ruby/HTML/javascript/etc and/or your expertise on network/database/distributed computing.

Leaving Microsoft

Misc March 3rd, 2011

After three years working, one Office release, two service packs; I decided to leave Microsoft to pursue other opportunities. It was a hard decision for me since I love my day-to-day work; our products and services impact millions users globally; my colleagues are respectful and knowledgeable, and last but not the least, the boss is reasonable, warm-hearted and really values my contribution.

But I still decide to leave because Office no longer owns the stage. Despite Office organization, aka Microsoft Business Division(MBD) in last quarter made more than 6 billion dollars revenues, more than any other organization across the company; Office no longer plays the strategic role in the future road map. The company steers away to embrace cloud computing, mobile and online service.

I am going to join Skytap Inc., a local startup company focusing on cloud offering.

When it is time to upgrade your computer?

Misc November 2nd, 2010

I own a Dell 700m since 2003, and I am a quite happy Gentoo user. Till death do us part. Until I find

  • Intel totally screwed up i915 module for 855GM video adapter and I only got 30FPS for glxgears
  • One less worn-out Dell 700m laptop lying in the PC recycle piles

I think it is time to move on.

Is blogging dying or dead?

Misc October 25th, 2010

If you happen to follow this blog or subscribe the RSS feed, you’ll notice the abnormal activities of this blog, — it has not been updated for more than one year. It turns out that I am somehow qualified to ask and answer the above question. I can find many excuses to justify my reluctance: the new-born baby dramatically changed my life; the undergoing blog migration seems stalled; so on and so forth. Nevertheless, I just can not find an interesting enlightening topic to engage. Look at the recent topics, howto, howto and howto; I am really bored by myself, let alone my readers.

How this happens?

When I started this blog four years ago, I was a shameless graduate student to exhibit poor programming skills and stupidities to arouse the attention for the future employer. It’s better to be looked over than overlooked. Things changed a little bit since I left school and start my career in the industry. You have to be professional, if not, at least look professional. Being stupid is the second worst thing than showing stupidity. Bounded by the employee handbook, I cannot publish anything work-related, and the excursion outside Microsoft kingdom, such as Erlang, MongoDB, tornado, have not accumulate proficiency to craft a post with deep insight.

When I introspect the future of this blog, I just recall Steve Job’s Commencement address:

Stay Hungry. Stay Foolish.

In memory of the victims of China earthquake

Misc May 18th, 2008

28,881 victims(confirmed on May 16) were killed in the magnitude 7.9 8.2 earthquake that struck Sichuan province, China, May 12. Another 150,000 people were injured and await medical treatment and water.

This blog is painted to black to vigil the victims in the disaster.