MS == DEC? Microsoft is huge (65k people), and so it is different from the 10 person, 100 person, 1,000 person, and 10,000 person groups that it grew from. Organizations that large have dysfunctional parts, just like people have dysfunctional parts. It comes with complexity. Is it like DEC (where I worked for 4 years in the early 90's) or IBM (where I worked in the 70's)? No! It is very different. Part of the difference is that it is still growing fast; that covers a multitude of sins and engenders optimism. Part of the difference is that upper management is still in touch with the technology and the business (Ken Olson and John Akers were not). Microsoft has had many near-death experiences (OS2, NetWare, WordStar, Lotus, Mac, Netscape, AOL, Linux, Google, ...). It lives on paranoia -- most of the folks I work with know that if we do not innovate, we will not be working together in a few years. Those are big differences.
Ballmer crazy? Steve Ballmer, is he insane? I think not. First appreciate that Steve graduated from Harvard in mathematics. So his IQ is probably higher than yours or mine (I am told he played poker all through school and won.) I couldn't even get into Harvard. I majored in math and did OK at Berkeley (but I had to study, no time for poker.) Harvard math is HARD. OK, so Steve was smart once. Next fact, Steve is very involved with his family -- his kids, his wife, and his friends. He is a billionaire but he is very earthy and personable. This is not an act -- he genuinely cares about people. You would love to have him as a next door neighbor or as a pal. OK, so how can one possibly explain his strange behavior at Microsoft marketing events (e.g. the jumping monkey and such)? Well, remember the part about playing poker? Steve can bluff, Steve can act, and Steve LOVES to win -- he is a competitive animal ("our fair share of the OS business is 100% and it up to our competitors to deny us our fair share and it is up to us to build products that merit that fair share.") So, suppose you are going to a marketing event and you want to get your audience's attention -- you want to energize them. How are you going to do it? Doing the monkey dance is one way. Have you got a better idea? On a related story, suppose you are Bill Gates and one of your senior techies comes to you with a not very well thought out idea. If that person is a master-of-the-universe arrogant testosterone Microsoft techie who is a big wheel in his organization and takes no guff from his underlings and peers, how are you going to get his attention? Sad to say, polite comments will not penetrate -- unfortunately you have to be incredibly loud, rude, and blunt just to get the message through. I bet you have heard such stories. But, with “normals” Bill is a real gentleman.
1. Better manager? Let the record show that my management plan is to hire over-achievers and then ask them to produce monthly reports. My job is then to keep them from killing themselves next month. Mostly by giving them pats on the back and telling them that they are accomplishing a LOT. That's standard Management by Objectives -- and I got it early from my first job selling encyclopedias door to door (we had quotas). But, I think it is fair to say that I am NOT a good manager -- I do not enjoy it and I tell everyone that. But I want to work with good people and I want to walk to work most days and so I have to be the manager.
2. I am not sure I understand the question. Set Theory predates OO by about 100 years.
3. Set theory is successful because it is simple and indeed it is a way to talk about numbers (including transcendental numbers) and forms the basis for discrete and continuous math and also logic. The book Gödel-Escher-Bach makes this point quite clearly and is a good read if you have the time.
4. How can a developer be more effective and efficient? I think the simple answer is think more write less. If you are like me, you are lazy and just sit down and write the code. I really have to force myself to think. Then the phone rings or an email arrives or some other distraction comes up. So, thinking is both very hard and at least for me, requires some quiet time -- a scarce commodity these days.
5. What's exciting? My problem is that almost everything interests me. The challenge is focusing on a FEW things and making a contribution there. Long term, I think we are on a path to make intelligent life and extend human life indefinitely, and completely change the human condition (Kurtzweil's "the singularity is near".) That's pretty exciting Jim
Yes, the transactional stuff makes your head hurt, and we are still exploring that space and learning new things. Vista comes with 3 TMs (Kernel, Light-Weight, and Distributed). Making them play together and making it all transparent has been a REAL challenge.
It’s a LONG story why there are 3 but each one has a good reason for existence.
The AJAX regret is that the product guys invented it (for Outlook Web Access) and we research guys were the reactionaries. The regret is that I was retro -- shame on me. I had good excuses at the time (reach to all platforms) but I was wrong.
Yes Moore's wall (the heat barrier) is going to force us to go parallel. Frankly, we are all stumped how "normals" will program in parallel. My best hope is something like dataflow (Excel Recalc, SQL parallel Query, Google MapReduce, ... ). But,.. at the moment they all seem like one-trick ponies. The algorithms guys have been building us libraries, but we need environments not libraries. The parallelism has to be in the outer loop, not the inner loop.
As for the Turing thing and the Legend thing, I confess great embarrassment. I know how little I know and struggle with Visual Studio and SQL and Win32 just like everyone else. As you know, programming is really humbling. I get reminded most every day how really stupid I am. So, I am glad to chat with a fellow programmer.
Hello, this is Jim Gray trying to respond to some of the questions.
The stuff on pipelines has quite a literature: "Loading databases using dataflow parallelism" is 10 years old now: http://research.microsoft.com/~gray/papers/Parallel_DB_Load.doc.
a more recent (6-year-old) effort is at http://research.microsoft.com/~gray/river/. but the real action is happening now with things like Google's Map-reduce, Sawzall, and such (you can search for them on Google). Those guys are working with thousands of machines and so are "really" doing it, rather than just talking about it. I think SQL Server 2005 Integration Services is a good way of thinking about dataflow, and of course BizTalk is a dataflow system, but they are not doing the incredible partition parallelism scaleout (yet) that we need to deal with thousands of machines.
The Kilroy thing is subtle -- which is the point. You are right to be lost. Sorry. It's subtle. Concurrency is subtle. Avoid it if you can. OK, fair warning. If you can't resist, there is a longer writeup of it in the book co-authored with Andreas Reuter ("Transaction Processing Concepts and Techniques".) As Barbara Fox pointed out, it is massive and massively expensive (sorry -- no one is getting rich on it, its just a very small market). Anyway, you can peek at it by going to Amazon and doing a "search inside the book" under Kilroy. Something like: http://www.amazon.com/gp/reader/1558601902/104-0609859-0703169?v=search-inside&keywords=Kilroy
You are right, Barbara Fox is indeed AMAZING. Jennifer Sisti also deserves HUGE credit for all the research she and Barb put into this event. I had no idea when I got into it that they would make it such a production -- they did. I felt kind of embarrassed to be so off-hand about it when they were so professional. But... they wanted spontaneity, and they go it.
As for the Terraserver, it was part of Encarta, part of Home Advisor, part of MapPoint, and also a poster-child for web services. It was also a great laboratory for us to try out our scalablity and availabilty ideas. We got a LOT of mileage out of it. But... now it is part of local.live.com (part of MSN). Every research guy's dream, the product guys took our reseach toy away from us. Now we have to think up something new for them to "steal" in a 10 years. My one regret is that we had all the AJAX stuff to make the maps very interactive back in 2000, but we did not deploy it because it was IE5+ only. We wanted "reach" to all platforms and so lost the high end. Now all the other browsers have caught up, and we got leapfrogged. It's a good lesson. But the Virtual Earth (aka local.live.com) folks are working hard to leapfrog the current leaders. It is fun to watch the innovation in this space. Competition is GREAT!
That's it for now. I will try to answer the next batch of questions in a few weeks.