You've reached the internet home of Chris Sells, who has a long history as a contributing member of the Windows developer community. He enjoys long walks on the beach and various computer technologies.
Thursday, May 29, 2003, 12:00 AM in Interview
How Would You Move Mount Fuji?
Thu, May 29, 2003
If you're interested in a book about the high-tech interview process, including lots of info about MS specifically (and some material from yours truly), check out How Would You Move Mount Fuji? by William Poundstone.
Monday, May 26, 2003, 1:43 PM
Ghost Installer Studio 3.6 Released
Here. From Ilia Dub: gInstall Corp. has released Ghost Installer Studio 3.6 to make building .NET Installations really easy. The new version comes with Project Wizards for Visual Basic .NET, Visual C# .NET, Visual C++ .NET and Visual J# .NET, the ability to re-distribute Microsoft .NET Framework On Demand via Web, and many more.
Monday, May 26, 2003, 7:54 AM
ROI of Programming
Here. From Carlos Aquino: There is a lot of talk about programming techniques, plataforms, languages and other technical issues. But, what about the ROI? Don't you even know what is ROI? ROI is the Return of the Investment and it is a magical word to the ones who emits your paychecks... Learn more with some papers about .NET ROI, Biztalk ROI and Streaming Media ROI.
Saturday, May 24, 2003, 3:36 PM
My First Meeting with a Senior VP
Here. The one where I have my first meeting with an MS Sr. VP on the anniversary of my first month as an employee.
Saturday, May 24, 2003, 3:34 PM
My First Month @ MS
Here. The one where I play junior anthropologist in my ongoing attempt to understand and become a productive member of MS society.
Saturday, May 24, 2003, 12:00 AM in The Spout
My First Meeting with a Senior VP
On the anniversary of my first month at MS, I took my first meeting with a Sr. Vice President. I'm told that's a big deal. One colleague who'd been at MS for a few years said, "Wow. You must be important. I expect that the first time I'll be in a meeting with a Sr. VP will be at my firing." In my case, it's not that I'm important (I'm not) that got me involved with such a meeting; it's that I have recently been asked to participate in a project that needed to meet with the VP to clarify some review feedback . Or, in other words, it was a pretty pedestrian "here's what we've come up with since the last time we met" kind of meeting. What made it interesting was that it was with a Eric.
Imagine a company run as a strict meritocracy that's one of the most important and profitable in it's industry. Now imagine that this company has been around for a while and has acquired tens of thousands of employees in a multi-layered hierarchy, with only the best and the brightest surviving and the best of the best rising to the top. That's MS. Billg is layer 1. Eric is at layer 4 w/ a small number of peers. I'm at layer 9 or, as I like to call it, "the bottom." By all rights, that means that Eric should be "5" smarter than me, and I can see him fitting comfortably into that category.
Had Eric wanted to shred us, I'm sure he could have. Luckily, it was a nice, calm, productive meeting w/ him cutting quickly to the main points (in spite of the fact that he was reading and making notes on our handouts while still listening to our presentation). He also make some pretty interesting comments, especially considering how little time I'm guessing he's had to think about the problem space. At least one comment put me on a path that I like much better than the one I was on (although we'll see how he feels about it at the next review). The comment that startled me most, however, was when he said that he read my site. If this is my last post from inside the big house, you'll know how much he liked it. : )
Friday, May 23, 2003, 6:03 PM
CodeSmith 2.0 Released
Here. Eric has released a new version of CodeSmith w/ the expiration date removed. This version also includes the CollectionGen functionality, along w/ a whole lot more.
Friday, May 23, 2003, 2:15 PM in .NET
C#Builder and Borland Data Providers for .NET
Here. From Pär: Connecting Borland C#Builder to DB2 UDB with Borland Data Providers for the Microsoft .NET Framework.
Thursday, May 22, 2003, 2:22 AM
New code generation tool - dbcodegen
Here. From Ricky Datta: New command line tool for generating ado.net C# wrapper functions for SQL Server stored procedures.
Wednesday, May 21, 2003, 3:25 PM
Windows Application Verifier
Here. "The Windows Application Verifier (AppVerifier) examines executable programs for common application quality issues. Running this tool on an application aids a tester in detecting issues dealing with stability, security, and compatibility." This tool should be required for all QA departments, just like FxCop is required for all .NET developers. [staff.develop.com/candera/weblog2]
Wednesday, May 21, 2003, 12:00 AM in The Spout
My First Month @ MS
Wed, May 21, 2003
Today marks the 1-month anniversary of my assimilation. For those expecting references to my "scars," you can be as surprised as I am that there aren't any. In fact, my coming to MS has not really been a big deal. Oh, folks were nice and I got emails from all manner of internal and external folks with nothing but good wishes, but, somehow, I expected something different. Frankly, given the world's impression of MS, I think I expected hazing. In fact, I woke up this morning with memories of dreams involving all kinds of bizarre knowledge- and activity-based initiation rites lead by my grand-boss that reminded me of a cross between my college fraternity and Fear Factor (although maybe I was still reliving my MSDN "morale event" experience : ).
Why did I expect all kinds of horrible things? Because MS is a very intimidating company; they play to win, seemingly at all costs. This A+ personality trait is certainly reflected inside the company, but there's something else there, too. The part that surprised me was that job #1 seems to be exactly what I would pick: do "the right thing" for the customer.
In fact, doing the right thing is so important that MS builds a "customer advocate" position right into the heart of their culture; these people are called "Program Managers" (PMs). PMs are not to be confused with "Product Managers," who are marketing folks. Of course, MS has all the standard positions, e.g. marketing, managers, developers, testers, documentation, etc, but they also have this PM position that, as far as I can see, forms the glue for the company and affects everything else. The PM's job is wake up in the morning and think to him/herself, "What's the right thing to do today?" The range of things that fall into this category is far too wide to even give you the bounds, but essentially it's whatever someone else isn't already doing (or isn't doing to their satisfaction : ). Once they identify the right thing to do, they can attempt to take "ownership" of making it happen (your boss gets a say in how you spend your time).
Once ownership is acquired, that's when things get interesting. PMs have all kinds of responsibility, but no authority. While this kind of position is generally one to avoid in the world of corporate politics, the internal product cycle training video I watched a couple of weeks ago points out that "responsibly without authority" is by design. Instead of ruling by fiat, PMs have to wander around the company finding folks that are involved with what they're doing to get their "buy in" and their help. The way to do that is through old-fashion politics, i.e. gathering consensus, persuasion, trading favors, brow-beating, table thumping, complaining up your own management chain, complaining up your opponent's management chain, etc. It's not just a popularity contest, although being liked certainly helps. It's also about your reputation, as established by your technical chops and your ability to produce, among other things. Under-achievers need not apply.
In other cultures where the hierarchy is all, such meritocracy can't really work (in spite of lip service to the contrary). There's often too much of an attitude of "who the hell are you to tell me what to do?" to even be allowed to present your case. Luckily, since there's a whole bunch of folks wandering the halls looking for favors, the MS culture makes it OK to work in this manner. That's why the role of PM forms to key to the culture, imo. Oh sure, MS is a real company with a well-established hierarchical chain of command (there're currently 7 people between me and Billg), but hierarchy is only one part of the organization, and arguably not the dominant one (although I'm still new : ).
In a way, the whole system is kind of like the legal system. In the court room, lawyers from each side argue before a jury, each using every trick in the book to push their agenda and the law is only part of the equation. The jury decides who's right.
At MS, multiple PMs all wrangle with each other, each using every trick in the book to push their agenda and technology is only part of the equation. Sometimes, it's the folks inside of MS that serve as the jury. Sometimes, it's the market itself that serves as the jury. In the latter case, that's why you sometimes see multiple products from MS that seemingly serve the same purpose, e.g. C++ vs. C#. Those are two groups that both think that they've got the best way to accomplish their goals and they've both made strong enough cases internally to be allowed to compete externally. Probably the reason that each product exists in the first place is because one day some PM probably woke up and said, "MS really needs a C++ compiler" or ".NET really needs a C-like language that's not as hard to use as C++," and look what they got themselves into. : )
Of course, it's not just PMs that have the responsibility to constantly be on the lookout for the right thing. Everyone is supposed to get up every day with this attitude. It's just that PMs only get to persuade; they don't get to order things to be done (unless they get staff). Since MS is filled with folks all aiming to do the right thing, everyone is constantly committing to help with new ideas. That's why you see MS folks at conferences always busy and always rushing back to their rooms to check their email; they've committed to do way more than a normal human can do because as the "right things" come along, it's darn hard to say "no." That's why I started this spout entry on a Wednesday but I'm finishing it at 8am on a Saturday while the rest of my family sleeps. Even in the last month, I've accumulated a bunch of projects of varying sizes, all of them "right" as far as I was concerned.
According to the training video, in spite of this overwork and the recent lack of any expectation of riches, folks that come to MS don't seem to ever want to leave. It's that darn culture of the PM again. I've worked at large companies that run by fiat and they suck. Hell, I've worked at small companies that work by fiat and they suck, too. Is it any wonder that, assuming you have merit, once you find a stable, interesting, friendly company judging you on your merit that you're loathe to leave? I find myself cataloging the skills that I think I'll need to be successful at MS and it seems like I've been preparing for this job since I was 12 years old. I've hopped from company to company looking for the perfect fit. DM provided that fit during the boom. Is MS going to provide it from now on?
Tuesday, May 20, 2003, 11:52 PM
Managing Editor
From Darshan Singh: PerfectXML.com now has a page where you can read RSS feeds/blogs - a simple Web-based interface to read RSS feeds. Team PerfectXML will be adding some features (such as adding blog entries to favorites, searching, and other customizations), till then enjoy the RSSConnect at http://www.PerfectXML.com/RSSConnect
Monday, May 19, 2003, 4:12 PM
30+ People Already Going to the Applied XML Conf.
Here. I don't mean to rush anyone, but there's already about 30 people signed up for the Applied XML conference. Some of this includes speakers, of course, because they always attend the conference, too, but plenty of folks have already registered just since 5pm on Friday. 'nuf said.
Monday, May 19, 2003, 3:58 PM
Applied XML Conference Message Board
Here. Want to discuss the upcoming topics with your fellow attendees? Join the conference's message board and have at it!
Monday, May 19, 2003, 4:15 AM
System Security
Here. From Carlos Aquino: Do you think that your system is safe and sound? Think twice. Security must be a full-time task on all developers and administrators agenda. Learn more with this whitepapers and guides collection.