|
|
Alert reader Bobby is Back!
-
I’m relocating on two fronts:
1. I’m relocating to China in early May to work as part of the Engineering Excellence (EE) team in Microsoft China. This is a temporary move, but will likely last over a year.
2. I’m relocating this blog to my own domain. From here on out, my blog entries will be hosted at http://www.worldofsu.com/philipsu.
You should expect much more frequent blog entries as I pivot the focus onto ex-pat related concerns, like relocation and cultural adjustment. I hope to maintain some articles on software, especially as it pertains to development in China.
|
-
Much hubbub has been aired about H-1B visas in the technology world. In a blog post I wrote more than three years ago, I argued that our jobs are going to India. That’s even truer today, thanks to government-imposed limits on the number of H-1B visas that can be issued in any year.
I’m frankly mildly surprised that I still have a job. In the US. Programming.
You’ll find economists, politicians, lobbyists, and corporate representatives arguing every which way about H-1Bs. Those defending H-1Bs tend to be corporations that claim to need the foreign work force in order to compete internationally. Those against H-1Bs tend to give variations of the age-old xenophobic concern about foreigners “taking over US jobs.” This, incidentally, is why many of these debates feature charts about how many H-1Bs come from India, while no one seems to ask much about the number of foreigners coming in through the lax E-3 visa for Australians.
But hey, I love Australians. Men at Work. Paul Hogan. INXS. Elle McPherson. Fosters. I say we send them all over.
Point is, many people aren’t so sure about Indians (#1 in H-1Bs). Or the Chinese (#2). It’s jolly good fun to see Paul Hogan advertising Suburu Outbacks for decades at a time. But Suresh Patel singing about a place “where women glow and men chunder?” Or Li-Wen Chen talking about how Tsingtao “is Chinese for BEER!?” It just doesn’t seem natural. It seems decidedly un-American, absolutely too much shock and awe.
I’m apparently not alone in this point of view. The E-3 visa for Australians was enacted as part of The Emergency Supplemental Appropriations Act for Defense, the Global War on Terror, and Tsunami Relief. Australians = Good For National Defense. Indian & Chinese = Not So Much.
Let’s set aside the issue of race and just focus on raw capitalistic greed. This turns out to be my fundamental problem with limiting H-1Bs. As a hiring manager in a US-based software company, I find it crippling in a sledgehammer-directly-to-the-ankle sort of way not to be able to hire more programmers from other countries. I’m also deeply worried about how this is visibly eroding US dominance in software. The people are flowing the wrong way. The money is flowing the wrong way. In the name of protectionism, we’re wholesale encouraging and enabling, aiding and abetting, international competition.
This year, my relatively small team (~25 developers) is aiming to hire another ~20 developers. In order to meet these hiring goals, we will likely need to put some of these developers in Vancouver, Canada because they can’t get H-1Bs to work in the US. Some will accept the offer. Some, unable to enter the US and reluctant to move to Canada-eh?, will instead stay in their home country. This is a doubly-bad thing. Sure, you lose a perfectly fine programmer. But you’ll get over that. Ten years from now, that fine programmer is on stage at some huge convention in Bangalore unveiling a breakthrough ad featuring a woman tossing a sledgehammer through some huge screen televising a boring speech by some US-based software CEO about being the ”dot” in dot-bomb, or realizing your potential, or not being evil. That’ll be the day when the second, far bigger blow is dealt, when we’ll all wish we could rewind Ace-Ventura-style back to The Glory Days when the US Was Software and All Seemed Well.
Limiting well-qualified soon-to-be-American foreign talent from joining us can’t be good. I’d love for Suresh to come to the US, code on my team, defeat competitors internationally, and buy a huge Cadillac Escalade. I’d love for him to revel in capitalism with his hard-earned US dollars, spending obscene amounts of money supporting US businesses. After the pledge of allegiance, he’d fit right in!
And for those of you who are a bit reluctant to trust in Suresh or Li-Wen’s US citizenship and subsequent allegiance to our beloved country, we could always choose to detain them indefinitely in GitMo should we find ourselves on orange alert against India or China. It’s never too late to renege on habeas corpus!
We need to let these folks in. Actually, we need to be actively encouraging them to bring their talent to the US. This is about the long-term survival of US dominance in software, not just about uncle Vinny who's been known to occasionally code in VB.
There, I've said it. Everything after this is statistics.
Fun Facts About H-1Bs
Currently, 65,000 H-1Bs are issued each year. 10,500 E-3’s are allowed.
Funny enough, 6,800 H-1B1’s (valid only for Chileans and Singaporeans) are allowed each year. If anybody can explain this as anything other than the perversion of lobbyists and special interests, please write me.
Fun facts taken directly from the USCIS (what does it mean when the “latest available government statistics on H-1Bs” is from 2003?):
· Nearly 37 percent of all petitions approved in fiscal year 2003 were for workers born in India.
· Sixty-five percent of petitions approved in fiscal year 2003 were for workers between the ages of 25 and 34. The average age of beneficiaries approved in fiscal year 2003 was 32 years.
· One-half of petitions approved in fiscal year 2003 were for workers with a bachelor's degree. Thirty-one percent had a master's degree.
· Thirty-nine percent of petitions approved in fiscal year 2003 were for workers in computer-related occupations.
· The median salary was $52,000 for workers whose petitions were approved in fiscal year 2003. For workers in computer-related occupations, the median salary was $60,000.
The spread of occupations, once again from the USCIS’s 2003 data:
· Computer-related occupations: 39%
· Occupations in architecture, engineering, and surveying: 12%
· Occupations in education: 11%
· Occupations in administrative specializations: 11%
· Occupations in medicine and health: 7%
Computer-related occupations had a median salary of $60k. Interestingly enough, fashion models with H-1Bs, of which there were 592 (0.3%) in 2003 (I am not making this up), earned a median income of $100k. This, incidentally, is the highest of all H-1B occupations by a big margin. The closest runner-up was “occupations in law and jurisprudence,” weighing in at $70k.
The top 10 H-1B employers in technology for 2006, according to InformationWeek, were the following:
|
Rank |
Company |
Headquarters |
H-1Bs received 2006 |
|
1 |
Infosys |
Bangalore, Karnataka, India |
4,908 |
|
2 |
Wipro |
Bangalore, Karnataka, India |
4,002 |
|
3 |
Microsoft |
Redmond, Washington |
3,117 |
|
4 |
Tata |
Mumbai, Maharashtra, India |
3,046 |
|
5 |
Satyam |
Hyderabad, Andhra Pradesh, India |
2,880 |
|
6 |
Cognizant Technology Solutions |
Teaneck, New Jersey[28] |
2,226 |
|
7 |
Patni Computer Systems |
Mumbai, Maharashtra, India |
1,391 |
|
8 |
IBM |
Armonk, New York |
1,130 |
|
9 |
Oracle Corporation |
Redwood Shores, California |
1,022 |
|
10 |
Larsen & Toubro Infotech |
Mumbai, Maharashtra, India |
947 |
Note that 6 of the top 10 were India-based companies. That may be a legitimate thing the protectionists might want to fix.
A 1998 Harris Poll showed that 82% of Americans opposed increases in H-1B visas. Then again, 47% of Americans aged 18-24 could not find India on a map, and 60% still cannot find Iraq on a map, according to CNN. At least they know they don’t want more Indians here.
IEEE-USA lobbied against an H-1B increase several years ago. Presumably, they represent the majority of computer workers in the US. This boggles my mind.
There’s no “shortage of IT workers in the US,” given that companies like Cisco and Microsoft reject the overwhelming majority of resumes (95% and 98%, respectively – that’s rejected). However, remember that due to simple statistics, this doesn’t mean there’s a glut of great US IT folks either: a less-skilled or less-competitive candidate is far more likely to send his/her resume to more companies, thereby inflating rejection rates. There’s no shortage of people, just a shortage of really good ones.
|
-
In the tradition of keeping to about one blog post per year, I finally had an opportunity to author a column for Office Online. It's all about the struggles that I've seen Microsoft employees experience with Office. Here it is: http://office.microsoft.com/en-us/help/HA102255591033.aspx?pid=CH102264241033
The (in my humble opinion) far funnier version of the article needed to be edited prior to posting on an official Office site. Let me just say that DOJ, Adobe, WordPerfect, Netscape, and a very famous Microsoft celebrity were all featured in the original director's cut.
Here's to perhaps writing more than just one article per year. I've been toying around with focusing on rants about bad UI design, but I'm not sure how much interest there'd be. Let me know what you'd like me to write about. Also let me know if you prefer the huge-article-once-a-year format over the here's-one-paragraph-I-whipped-out-on-a-plane format.
|
-
First, let me say once again, there has
been no corporate pressure whatsoever to cut short my previous posting
(Broken Windows Theory). Nobody has
said, or even implied, that I need to change anything about what I said. So conspiracy theorists, please rest assured
that The Man is not out there monitoring and censoring the blog world. Seriously.
I pulled the content of the posting
because productive discussion wasn’t happening. Of the 160+ comments, about five have
had any real value from an “open minds, open discussion” point of view. I also pulled the content (once again,
completely self-initiated with no pressure whatsoever from anybody) because
there is enough internal debate within Microsoft about the value and ethics
of blogging which I’d like resolved.
[Follow-up: I've restored the original post, after much internal discussion. Essentially, pulling the content was causing undue attention.]
Internal Debate
Many perspectives have been voiced to me,
both publicly and privately, debating the value and ethics of employee blogging. Here, by “employee blogging,” I mean “blog
entries that are openly identified as being written by Microsoft employees.” The rough gist of internal feedback from
Microsoft employees falls in these categories:
- Thank goodness someone is
talking about this.
“Kudos for having the courage to shed light on these critical
issues.” “It’s great that we’re
having open and insightful discussion about this.”
- You need to put the entire post back up. Some folks are quite
concerned that, with Scoble leaving this week and what not, there will be
increased fervor behind conspiracy theories about how I’ve been silenced, shipped
to Siberia, etc. This sort of feedback is much more
concerned about posts staying up from a PR/media perspective, regardless
of the content of the post. (Let
me say here once again, for those who have deep-seated theories – my original
post was shortened unilaterally by me.
I was at no time pressured to remove any part of it.)
- Employee blogs should be an
extension of the company message. Folks in this category would say that the
moment I identified myself as a Microsoft employee, my message should be
on target with the corporation’s message, building a positive image,
connecting positively with customers, etc.
Let’s Agree on Goals
From my perspective, it’s not a
free speech issue. I’m employed by
Microsoft, so there’s a valid discussion as to what sorts of posts are allowed
for me to make as an employee of the company.
Conditioned in my employment can indeed be restrictions on what I should
and shouldn’t say – I buy off on that 100%.
(For the last time, though, please remember: no one has pressured me to change anything.)
Second, the simple case that I think
everyone agrees on is that nothing confidential should ever be divulged. This is where Mini-Microsoft, as entertaining
of a read as it is, crosses a line. That’s
also the reason it can only remain up as long as it’s anonymous.
The more interesting debate I’d like to
have is not whether employees can or can’t post certain things, but should
they. I have no interest whatsoever in the
set of things that are clearly against company policy to post. I’m much more interested in the spectrum of
things where people, even internally in Microsoft, disagree.
So How Does It Net Out?
The bulk of the internal feedback I have
gotten falls on the side of encouraging posts like Broken Windows Theory. The vast majority of emails I’ve received
have to do with how the article has opened up important issues for
discussion. Folks in this camp say
that Scoble has given a human face to Microsoft, has made Microsoft more
accessible to the majority of customers.
The openness, and in some sense, the vulnerability, of both addressing
our strengths and discussing our weaknesses has been refreshing, these folks
would say.
Another camp would say that blogs are a
key part of how a company is perceived, and that they act as a megaphone
of both positive and negative opinion. Part
of an employee’s responsibility, then, is to at all times help build and
reinforce that positive image.
What’s most interesting to me is that
even within the company, we don’t quite agree on whether Broken Windows
Theory is a net positive or net negative.
If I take it purely based on numbers, the overwhelming majority of
employees writing in say that it’s a positive thing. But I see merits to both sides of the
discussion.
Thoughts?
|
-
Vista. The term stirs the imagination to conceive of beautiful possibilities just around the corner. And “just around the corner” is what Windows Vista has been, and has remained, for the past two years. In this time, Vista has suffered a series of high-profile delays, including most recently the announcement that it would be delayed until 2007. The largest software project in mankind’s history now threatens to also be the longest. [I originally deleted the rest of this post of my own volition, without any pressure whatsoever from people within the company, because the discussion around it wasn't constructive. I've now restored the original content unedited. More discussion on this topic here. - Ed.]
Admittedly, this essay would be easier written for Slashdot, where taut lines divide the world crisply into black and white. "Vista is a bloated piece of crap," my furry little penguin would opine, "written by the bumbling serfs of an evil capitalistic megalomaniac." But that'd be dead wrong. The truth is far more nuanced than that. Deeper than that. More subtle than that.
I managed developer teams in Windows for five years, and have only begun to reflect on the experience now that I have recently switched teams. Through a series of conversations with other leaders that have similarly left The Collective, several root causes have emerged as lasting characterizations of what's really wrong in The Empire.
Useless Trivia Sidebar: Broken Windows Theory
The original broken windows theory, first coined by Wilson and Kelling, describes the purported phenomenon whereby an abandoned warehouse with no broken windows is mostly left alone, but as soon as one window is broken, it acts as an open invitation to passers-by that it's open-season for rock-throwing.
This was generally accepted for many years as being true, but is recently coming under fire from different angles. We won't delve into those here, since we mostly commandeered the phrase because it sounded good, not because it actually has anything at all to do with our subject matter.
The Usual Suspects
Ask any developer in Windows why Vista is plagued by delays, and they'll say that the code is way too complicated, and that the pace of coding has been tremendously slowed down by overbearing process. These claims have already been covered in other popular literature. A quick recap for those of you just joining the broadcast:
- Windows code is too complicated. It's not the components themselves, it's their interdependencies. An architectural diagram of Windows would suggest there are more than 50 dependency layers (never mind that there also exist circular dependencies). After working in Windows for five years, you understand only, say, two of them. Add to this the fact that building Windows on a dual-proc dev box takes nearly 24 hours, and you'll be slow enough to drive Miss Daisy.
- Windows process has gone thermonuclear. Imagine each little email you send asking someone else to fill out a spreadsheet, comment on a report, sign off on a decision -- is a little neutron shooting about in space. Your innocent-seeming little neutron now causes your heretofore mostly-harmless neighbors to release neutrons of their own. Now imagine there are 9000 of you, all jammed into a tight little space called Redmond. It's Windows Gone Thermonuclear, a phenomenon by which process engenders further process, eventually becoming a self-sustaining buzz of fervent destructive activity.
Let's see if, quantitatively, there's any truth to the perception that the code velocity (net lines shipped per developer-year) of Windows has slowed, or is slow relative to the industry. Vista is said to have over 50 million lines of code, whereas XP was said to have around 40 million. There are about two thousand software developers in Windows today. Assuming there are 5 years between when XP shipped and when Vista ships, those quick on the draw with calculators will discover that, on average, the typical Windows developer has produced one thousand new lines of shipped code per year during Vista. Only a thousand lines a year. (Yes, developers don't just write new code, they also fix old code. Yes, some of those Windows developers were partly busy shipping 64-bit XP. Yes, many of them also worked on hotfixes. Work with me here.)
Lest those of you who wrote 5,000 lines of code last weekend pass a kidney stone at the thought of Windows developers writing only a thousand lines of code a year, realize that the average software developer in the US only produces around (brace yourself) 6200 lines a year. So Windows is in bad shape -- but only by a constant, not by an order of magnitude. And if it makes you feel any better, realize that the average US developer has fallen in KLOC productivity since 1999, when they produced about 9000 lines a year. So Windows isn't alone in this. [KLOC data comes from “Worldwide IT Trends & Benchmark Report 2001”, produced by META Group (now acquired by Gartner)]
The oft-cited, oft-watercooler-discussed dual phenomenon of Windows code complexity and Windows process burden seem to have dramatically affected its overall code velocity. But code can be simplified and re-architected (and is indeed being done so by a collection of veteran architects in Windows, none of whom, incidentally, look anything like Colonel Sanders). Process can be streamlined where inefficient, eliminated where unnecessary.
But that's not where it ends. There are deeper causes of Windows' propensity to slippage.
Cultured to Slip
Deep in the bowels of Windows, there remains the whiff of a bygone culture of belittlement and aggression. Windows can be a scary place to tell the truth.
When a vice president in Windows asks you whether your team will ship on time, they might well have asked you whether they look fat in their new Armani suit. The answer to the question is deeply meaningful to them. It's certainly true in some sense that they genuinely want to know. But in a very important other sense, in a sense that you'll come to regret night after night if you get it wrong, there's really only one answer you can give.
After months of hearing of how a certain influential team in Windows was going to cause the Vista release to slip, I, full of abstract self-righteous misgivings as a stockholder, had at last the chance to speak with two of the team's key managers, asking them how they could be so, please-excuse-the-term, I-don't-mean-its-value-laden-connotation, ignorant as to proper estimation of software schedules. Turns out they're actually great project managers. They knew months in advance that the schedule would never work. So they told their VP. And he, possibly influenced by one too many instances where engineering re-routes power to the warp core, thus completing the heretofore impossible six-hour task in a mere three, summarily sent the managers back to "figure out how to make it work." The managers re-estimated, nipped and tucked, liposuctioned, did everything short of a lobotomy -- and still did not have a schedule that fit. The VP was not pleased. "You're smart people. Find a way!" This went back and forth for weeks, whereupon the intrepid managers finally understood how to get past the dilemma. They simply stopped telling the truth. "Sure, everything fits. We cut and cut, and here we are. Vista by August or bust. You got it, boss."
Every once in a while, Truth still pipes up in meetings. When this happens, more often than not, Truth is simply bent over an authoritative knee and soundly spanked into silence.
The Joy of Cooking
Bundled with a tendency towards truth-intolerance, Windows also sometimes struggles with poor organizational decision-making. Good news is that the senior leaders already know this and have been taking active steps to change the situation.
There are too many cooks in the kitchen. Too many vice presidents, in reporting structures too narrow. When I was in Windows, I reported to Alec, who reported to Peter, to Bill, Rick, Will, Jim, Steve, and Bill. Remember that there were two layers of people under me as well, making a total path depth of 11 people from Bill Gates down to any developer on my team.
This isn't necessarily bad, except sometimes the cooks flash-mob one corner of the kitchen. I once sat in a schedule review meeting with at least six VPs and ten general managers. When that many people have a say, things get confusing. Not to mention, since so many bosses are in the room, there are often negotiations between project managers prior to such meetings to make sure that no one ends up looking bad. "Bob, I'm giving you a heads-up that I'm going to say that your team's component, which we depend on, was late." "That's fine, Sandy, but please be clear that the unforeseen delays were caused by a third party, not my team."
Micromanagement, though not pervasive, is nevertheless evident. Senior vice presidents sometimes review UI designs of individual features, a nod to Steve Jobs that would in better days have betokened a true honor but for its randomizing effects. Give me a cathedral, give me a bazaar -- really, either would be great. Just not this middle world in which some decisions are made freely while others are made by edict, with no apparent logic separating each from the other but the seeming curiosity of someone in charge.
In general, Windows suffers from a proclivity for action control, not results control. Instead of clearly stating desired outcomes, there's a penchant for telling people exactly what steps they must take. By doing so, we risk creating a generation of McDevs. (For more on action control vs. results control, read Kenneth Merchant's seminal work on the subject -- all $150 of it, apparently).
Uncontrolled? Or Uncontrollable?
We shouldn't forget despite all this that Windows Vista remains the largest concerted software project in human history. The types of software management issues being dealt with by Windows leaders are hard problems, problems that no other company has solved successfully. The solutions to these challenges are certainly not trivial.
An interesting question, however, is whether or not Windows Vista ever had a chance to ship on time to begin with. Is Vista merely uncontrolled? Or is it fundamentally uncontrollable? There is a critical difference.
It's rumored that VPs in Windows were offered big bonuses contingent on shipping Vista by the much-publicized August 2006 date. Chris Jones even declared in writing that he wouldn't take a bonus if Vista slips past August. If this is true, if folks like Brian Valentine held division-wide meetings where August 2006 was declared as the drop-dead ship date, if general managers were consistently told of the fiscal importance of hitting August, if everyone down to individual developers was told to sign on the dotted line to commit to the date, and to speak up if they had any doubts of hitting it -- mind you, every last one of those things happened -- and yet, and yet, the August date was slipped, one has to wonder whether it was merely illusory, given the collective failure of such unified human will, that Vista was ever controllable in the first place.
Are Vista-scale software projects essentially uncontrollable by nature? Or has Microsoft been beset by one too many broken windows? Talk amongst yourselves.
|
-
Tuesday morning, 9:00 AM. It’s sunny in the flat outskirts of San Antonio. Wisps of summer’s residual heat serve as reminders that it is, after all, only September. A child cries loudly on the tarmac. Strangers – stand, sit, stroll, play – blithely near the child. Not to worry: surely its mother is at hand.
Inside the hangar, thousands more. Standing in lines, sitting in groups, sleeping on cots. Everywhere the sights, the smells, the sounds, the touch – of people. Welcome to Kelly Air Force Base, Building 1536. Welcome to the largest makeshift Red Cross shelter in San Antonio.
Welcome to the aftermath of Katrina.
With the Trust of a Child
Late last summer, I seriously considered a radical career change. After several great years in the software industry, I began to feel like I needed to put my skills to something that more directly helps people in need. I was offered the opportunity to head the IT department of International Justice Mission, an ingenious non-profit with the noble vision of saving the oppressed and defenseless throughout the world. For weeks, my wife and I debated the prospect of quitting my cushy day job, moving across the country, and serving one of the world’s best non-profits. In the end, for a variety of complex reasons, we made the decision to stay at Microsoft. However, I set my mind to doing something noble for the world, even here in Seattle. Microsoft does, after all, have a long history and culture of philanthropy.
I talked with my manager about this decision and my subsequent resolve to support humanitarian efforts at Microsoft. Little did I know that I would only need to wait a few weeks before the opportunity presented itself.
Barely a week after Hurricane Katrina hit, my vice president and my manager offered me a chance to bring several developers and cases full of Tablet PCs down to affected areas. I sent out a few emails, placed a few calls, and found out that the San Antonio Microsoft office was helping local Red Cross shelters and needed developers. My wife and two teammates volunteered to go with me. Before you knew it, we were on a plane headed to San Antonio, carrying cases full of computer equipment prepared and donated by Microsoft’s Mobile Platforms Division.
Buried in a Sheltered Place in this Town
Suffice it to say that I had no idea what I was in for. I was told they needed manpower, computers, and perhaps some software automation. I assumed we would arrive, set up shop, and begin coding.
The Disaster Relief Fairyland in my mind goes something like this:
Several hours after the disaster, the military and the Red Cross have restored order. Shelters have been set up according to Red Cross’ decades of worldwide disaster response experience. The tired are resting, the hungry are fed, the lost are found, the grieving are comforted. FEMA, Red Cross officials, the military, and local politicians are doing a rousing rendition of USA for Africa’s We Are The World. A lone heartfelt tear rests on the cheek of a young audience member as the leading FEMA representative bursts into, “There’s a choice we’re making… we’re saving our own lives…”
The reality, which you by now have guessed or read about but could never truly believe unless you see, hear, and smell it yourself, was that we arrived a little over a week after the hurricane to the deafening roar of 17,000 fans ready to rock.
Hehe. Somewhere deep inside of me, I tend to indulge the Disaster Relief Fairyland more than I probably should.
We actually arrived at Kelly Air Force Base, where 17,000 displaced Katrina evacuees were housed in two mega-structures. The larger of the two buildings, Kelly 1536, is a hangar roughly a third of a mile long. It covers the area of fifteen football fields under one giant enclosure. You’d get the same effect if you joined four Costco warehouses together, removed all the shelving and merchandise, and invited all the shoppers’ extended families to live there. Cots were packed so tightly in this space that it seemed you could walk the building end to end without touching the ground.
I Can’t Watch Anymore… No More Denial…
But I’m not here to tell you about the overall experience helping out at the San Antonio Red Cross shelters. (If you’re really enamored, feel free to read the team’s blog on that subject). I’m here to tell you how software can radically revolutionize disaster response.
First, let’s talk about missing people. In ad-hoc mass evacuations, families get inadvertently separated. When we arrived in San Antonio, there were – this is not a typo – sixteen separate databases tracking missing people (well, fourteen, if you discount “paper” and “by memory” as non-ACID databases). This meant that separated family members were very difficult to find. Which database should volunteers search in? The International Red Cross’? Wait a minute, I hear the American Red Cross’ is actually the official one. Then there’s KatrinaSafe. But the City of San Antonio insists on their home-grown database…
None of the databases supported photographs of missing persons. A simple enough feature, one that wouldn’t be at all hard to implement. Why photographs? Well, some folks can’t identify themselves. In one of the shelters, a lost developmentally-challenged child was left unfed for a day because everyone assumed he was being taken care of. The parents, needless to say, had no way of searching for their child. A database that included photographs of people that can’t identify themselves would be a great way to solve this problem.
Take inventory tracking. Everyday, truckloads of donations would be unloaded into the hangar. Inevitably, the donations consisted mostly of toys. Especially crayons. I am not making this up. I saw tables stacked high with Crayola crayons. Fat ones. Thin ones. Mega packs. Scented ones. Pastel. The only thing they had in common was that every last box was unused.
Donated inventory was tracked on legal pads. Truckloads of goods counted on long yellow sheets of paper written in pencil. Do we have blankets? I don’t know – check the pad. Where’s the pad? I don’t know – under the crayons, perhaps. Which crayons?! There are like a gazillion tables piled full of crayons! It was ridiculous. It would have been Seinfeld-scale comedic if it wasn’t so tragic.
Imagine with me for a moment that Dell managed Red Cross donations. (Give this thought a moment to soak in… it’s a profound one… Ok, now you’re ready.) Donors would be able to check inventories in San Antonio and notice that diapers were in desperate need, instead of, say, vintage crayon collections. Shortages in one shelter could be offset by surpluses in another. Donors’ credit cards wouldn’t be charged until the very second that food enters an evacuee’s mouth. Every quarter, major donors would be called in and publicly spanked in front of their competitors for not having as timely or as high-quality donations. (Ok, that last bit is probably a dose of Dell-reality that we could do without in the world of humanitarian aid. But everything else stands.)
One last example of how software could greatly improve humanitarian response: let’s talk about volunteer tracking. Every day at Kelly Air Force Base, more than a thousand volunteers would come and go from the two gigantic buildings. At first, volunteers were tracked on whiteboards with Post-It notes (written in crayon, no doubt). A thousand volunteers a day! You can imagine the mess that this was. (“Uh, Bob, I think Joanne’s Post-It just fell off the board… where was she working again?”).
It’s mind-blowing how much the world of humanitarian aid needs software.
This Place Is So Quiet, Sensing That Storm
Why isn’t there Red Cross 9.0, a shiny little CD that every shelter manager gets on the first day of a disaster? It’d have all your favorite hits from the ‘80’s, as well as software that tracks missing persons, manages inventory, allocates volunteers, and keeps you connected to nearby shelter managers. It’d even search for extraterrestrials while your computer is idle.
While in San Antonio, our team wrote software that helped track volunteers at Kelly Air Force Base. By the time we were done, all volunteers could be registered into one common database from multiple terminals via a simple client-server design. Allocations of volunteers to different areas could be easily monitored and adjusted. Data re-entry was eliminated. No more whiteboards, no more Post-Its, no more blunted crayons. Similar systems were set up by the great folks from RackSpace who worked day and night to create a web interface based on Ruby on Rails. (I tried earnestly to embrace Linux, learn Ruby, and extend their system. But I kept getting odd failures in package installation. Seriously. I would frankly love to be able to say at dinner parties that I worked in a language that was “on rails,” but alas, it was not meant to be.)
The volunteers working at the shelters loved the software. It saved a ton of time and was a much-needed improvement over what was available. We deployed it at two other shelters, and FEMA also began to use it (hold the jokes, please). After its success at multiple locations, I was riding high on hopes that the Red Cross would spread the word and start including it as a basic part of running any shelter.
But that was not to be the case. As dust from the aftermath of Katrina settled, I got in touch with whoever I could at the Red Cross to hand over the volunteer tracking software. Free of charge! Ready to use! Clearly valuable! I was shamelessly begging the Red Cross to take it and use it. I contacted the head of IT at San Antonio’s Red Cross. A disaster-management consultant demoed it to the Red Cross and FEMA in DC. I tried to find anyone – anyone – that had an interest.
Dead silence. (Imagine tumbleweed blowing gently across the page)
I’m not sure what it is, but no one at the Red Cross seems to have an interest in the strategic long-term importance of software in improving Red Cross’ effectiveness. Whither Red Cross 9.0? How long will shelters be run on paper, and technology be cobbled together ad-hoc after every disaster, only to be discarded after each use? It’s a waste and a tragedy.
If you’re to remember only two things from this posting:
1) Software can make a huge difference to the effectiveness of humanitarian response. I’ve seen it with mine own eyes. The amount of waste and inefficiency in today’s system is tragic. We might as well put fistfuls of cash in a 50-gallon oil drum, toss in some crayons, and light the whole shebang on fire.
2) The Red Cross needs to embrace the strategic importance of software in their mission. Something is very wrong if developers from all sorts of companies are writing custom software for Red Cross shelters during each emergency. Something is very wrong if we can’t even give away free software to the Red Cross so that it can be used in the next disaster.
I belabor the point. Lest we end on a down note: the experience of volunteering in San Antonio was hugely rewarding and personally fulfilling. The dedication of the volunteers on the ground was awe-inspiring. I only wish there was a way to get the Red Cross to understand how truly critical software is to their mission. In the end, sheer human willpower was able to triumph over a tragedy of process and infrastructure.
Here’s to better use of software in our next disaster.
[From the Random Facts department: Peter Gabriel was apparently not making it up. There have indeed been incidents of red rain in parts of the world, the most famous of which was in Kerala, India during 2001. Read more at Wikipedia.]
|
-
[An article a year ain’t bad, I suppose. After being Slashdotted on Show Me the Money and having several reporters call my home based on Brin and Bear It, it looked like a good time to take a breather. But I’m back, this time with a gripe.]
It’s become very hard at Microsoft to find good senior developers internally. Don’t get me wrong – there are still plenty of brilliant people who were once upon a time good developers at Microsoft. Now they’re just dev leads, dev managers, or vice presidents. (Either that, or they’ve gotten it into their heads to join the photogenic business majors – but that’s a whole other discussion.)
Make the Most of Freedom and of Pleasure
No self-respecting developer started off their computer career thinking, “Boy, my lifelong goal is to be a middle manager in a large multinational corporation beset by competitors, nearly collapsing under the weight of its own internal processes.” This thought is, in fact, so ridiculous that it reminds me of the eponymous Monster.com ad from the dot-com days (“I wanna claw my way up to middle management…”).
Developers want to code. Maybe design once in a while. Then code. Invent a thing or two. Code. Oh, and if things line up this weekend, perchance ask that new coworker in Accounting out to a movie... seriously, though – code, code, code. Occasionally, one of the younger ones will mutter something about changing the world, better living through software, blah blah blah. But it really all translates to, “I want to code all day.” Not a single developer starts their career wanting to be the pointy-haired boss. It’s the last thing on their minds.
For the first two decades of Microsoft’s existence, everything was in blissful harmony. The recipe for success was straightforward.
Software Au Jus Prep time: 20 years
Ingredients
- 15,000 developers, preferably from college (or high school)
- $285 billion dollars market cap
- A metric gazillion computers (high altitude or Canada: use 1.5 gazillion)
- Food
Directions 1) Spread developers on clean campus 2) Pour computers evenly over developers 3) Split market cap into portions (“stock options”), laying generously on each developer 4) Bake for 20 years, occasionally inserting food into developers as needed
What happens when you take a bunch of brilliant developers and make them millionaires? Well, nothing, really. They just keep coding. Sure, a handful starts driving to work in Ferraris. Another small set quit and begin lobbying for endangered species, or living like they’re looking for vacancies at Betty Ford’s. But the overwhelming majority of developers keep coding, because that’s what they truly love. By making them rich, you’ve just enabled them to keep on keepin’ on.
Nothing Ever Lasts Forever
But something happened on the way to heaven… that was then, this is now. What happens when you run out of a key ingredient of the original recipe? What happens when you can no longer pay developers ridiculous sums of money, the money that originally enabled them to pursue their true interests?
Well, they start thinking about their careers. Those of you not in computer science might miss the gravity of that statement. To typical developers, “upward mobility” means “finding the lever that raises the Aeron.” But developers who start worrying about their futures begin to do unnatural things. Things like asking about becoming a dev lead or dev manager.
This is now happening all the time. All the time. Just about every developer I know who is a rising star wants to be a dev lead, dev manager, royal highness, etc. People I manage. People I interview. I can’t exaggerate how outrageously often this happens. I kid you not, about 80% of the developers I manage or interview say that their goal is to be a dev lead or dev manager. Many of them – brace yourself – don’t want to take or continue a coding job unless they can be a manager. A manager! This, from the lips of real-world developers!
How do you staff and retain a team when 80% of the people you already have, and 80% of the people you interview, want to be managers? It’s unnatural.
Say That You’ll Never Never Never Need It
If you’re a developer reading this, please believe me when I say you should seriously think it over before setting your mind on becoming a dev lead or manager. Let me count the ways.
· You love coding. Sometimes you’ll lose sight of this, especially if you’re worried about your career. But ask yourself what you’d do if you were independently wealthy. If you’re like most developers, you’d rather code. Why not continue doing what you love?
· Most developers make bad managers. Typical developers excel in skills largely orthogonal to those required of managers. Typical developers also hate the things that comprise most managers’ days. Seriously.
· There is no pay difference. At least at Microsoft there is none. I get this one all the time, thinly veiled behind noble-sounding phrases like, “I want to have broader scope.” Most developers think that dev leads and dev managers get paid more than individual contributors. This is simply not true. In almost every team I have ever managed, there were always individual developers that earned more than me. Your salary has nothing to do with whether you manage people. It has everything to do with the perceived value of your contributions. Developers make the software world tick. They get paid.
· You are hot property. Teams need four times the number of developers than they do leads or managers. And yet about 80% of the folks that I talk to want jobs as leads. Do the math! It’s well-nigh impossible to find good senior developers these days. Your future is assured. Your choice of teams to work on, problems to own, etc, are virtually boundless. Seize the day.
Now that I’ve gotten that off my chest, if any of you reading this are great senior developers that know you want to write code, drop me a line. I’ve got plenty of great spots for you.
|
-
I attended the same high school as Sergey Brin, co-founder of a verb called "Google." Sergey dropped out in 1990, the year I started at Eleanor Roosevelt High School. By all accounts, he was extremely bright. But from the little I've heard of him via direct anonymous sources (*cough* former-math-teacher *cough*), he was quite cocky about his intellect, often trying to prove teachers of various subjects (read: Math) just how wrong they were. But this is utterly forgivable, given that almost any successful self-respecting computer scientist went through such a phase during his teenage years. (If, however, you are remembered fondly by all your high school teachers and friends, chances are incredibly good that you're also a handsome business major now working at a consulting company who's wandered onto this blog by accident. But I digress.) Who's Line Is It Anyway? There's been quite a lot written about Sergey Brin, but hardly enough about a much lesser known Brin -- Dr. Michael Brin. In addition to being precocious Sergey's father, Dr. Brin was also my favorite professor at the University of Maryland. He taught what was easily the most enjoyable class in my college career. I would have taken more of Dr. Brin's classes if the university system allowed it, but alas a computer scientist of meager intellectual means couldn't afford the heavy IQ tolls imposed by his graduate-level math courses. Dr. Brin is a first-rate orator who begins every class with a smoke. Well, usually he'd show up, pose a rather vexing problem, and then escape for a cigarette in the midst of the ensuing confusion. He expected an answer from the class by the time he returned. Invariably no answer was forthcoming, since that's the entire point of a vexing, smoke-break-enabling problem. (At this juncture, I know those of you in technical fields are just dying for an example of a vexing Dr. Brin problem, just so you can solve it faster than I could smoke a cigarette to prove me dumb. I'll bite and indulge. Answers at the end. And I don't smoke.) Vexing Problem #1. You have an 8x8 grid of squares and 31 dominoes. Each square in the grid is exactly half a domino large, such that each domino placed on the grid covers two squares. How do you arrange the dominoes such that all the squares in the grid are covered except for the two squares in the outermost corners of the grid diagonal from each other? If this cannot be done, provide a proof of why not. Vexing Problem #2. You have a solid bar of chocolate that's pre-scored by the helpful chocolate bunnies at the Hershey factory into four rows and eight columns (such that if you broke the chocolate along those lines, you'd end up with 32 pieces of chocolate). Prove the minimum number of breaks that are required to break the bar into its 32 pieces (you may not stack or otherwise cheat on how you count breaks -- a break is any one fracture along a pre-scored line on one solid piece of chocolate). Vexing Problem #3. You are in a maze of twisty little passages, all alike. (Ho ho! You either laugh or scratch at this one, but in either case Dr. Brin would certainly not have posed this most vexing of problems.) In addition to loving wacky problems, true enjoyment of a Dr. Brin class can only be had if you check your ego at the door. Almost half the statistics class he taught dropped out after the first session because they couldn't handle his assault and battery on their sense of self. Attending his classes was like experiencing the drill sergeant in Full Metal Jacket -- unless you braced for impact, your ego would likely leave wounded or even dead. As for me, I was his Private Gomer Pyle, and I loved every minute of it. Dr. Brin would often hand back graded tests with a simple, "My sincere condolences." He'd openly make fun of wrong answers to his questions, which I believe he found amusing the way we find children amusing when they ask where babies come from. His spirited and equal-opportunity barrage on all students backfired only once in all my recollection: Dr. Brin: It's time for an Odyssey of the Mind -- time for our statistics final. [Most students understand the implications and put away their calculators. One student, let's call him "Bart," obviously didn't follow.] Dr. Brin: Bart. You have your calculator on your desk. What -- do you ~love~ your calculator? [A few students giggle nervously] Bart (startled, confused, and a bit hurt): Every night. [Dr. Brin is so caught off-guard by this genuinely clever answer, made in a spirit so congruent with how he ran his classes, that he allows Bart the unique privilege of using his calculator during the test.] If crushed egos was the price for true learning, then I was ready for the abuse. Dr. Michael Brin's classes were always great and full of laughter (albeit at your own expense). I didn't mind being constantly reminded that my intellect was inferior. It was refreshing in an inexplicable, self-effacing way. And it was worth it to learn from one of the best. How I (Almost) Made My First Million One of the last conversations I remember having with Dr. Brin was one which I initiated. I was blissfully raving about this great new search site I had found, then in Alpha mode, called Google. It was done by some Stanford students! It didn't have ads! It was much better than then-market-leader AltaVista, and I wanted Dr. Brin to try it out. He matter-of-factly replied that his son Sergey was a key member of the Google team. He also suggested that I write his son to see if there might be an employment opportunity for me. Sergey never wrote back. So here's to Dr. Michael Brin: May the laughter never end, may the smoking never stop. May only the humble learn at your fount of intellect, and may you always find interesting problems to puzzle and amuse. Thiiiiiis Is Hoooow We Doooo It... (This is how we do it!) You've stayed long enough. You've scrolled far enough. You want answers, and you want them now. And you're not going to settle for me promising them to you next week (We all know what happened last time when I suggested that. I hope you still have your day job as a programmer. If not, in the words of Dr. Brin, "My sincere condolences."). Vexing Solution #1: You can't cover all squares but two diagonal outer corners. The proof is in the custard: Imagine the 8x8 grid was a chess board. Each domino would clearly have to cover exactly one white and one black square, no matter how you placed it on the board. Two diagonal outer corners are going to be the same color -- either both black, or both white. Given that you start with 32 uncovered black squares and 32 uncovered white squares, it's impossible to leave two squares of the same color uncovered if each domino covers one square of each color. This is called a parity problem, and is an excellent example of how many seemingly complicated problems are actually easily solved (and proven!) when you view them from the right perspective. (All three of the business majors that are reading this blog by accident should turn this principle into a trendy bestselling business book. I feel one coming. Pull my finger.) Vexing Solution #2: I ask this one in interviews all the time. Inevitably, people start testing all sorts of conjectures. (You know the true computer scientists right away because they insist that breaking the chocolate into successive halves must be the best way. It just must!). Most interview candidates don't realize that to prove a minimum by such a method would require exhaustively testing all the possibilities, which is clearly too many (even for those of you who were just about to respond with some comment about symmetry [or how your job has gone to India and now you're browsing the web all day]). Far better to learn from Vexing Solution #1 and see this problem from a different angle. Here's the angle: no matter how you break a piece of chocolate along a pre-scored line, you always end up with the same thing -- two pieces of chocolate. Any break always adds one and only one to the total number of separate pieces of chocolate you have. So by induction, the number of breaks it takes to break one solid bar of chocolate into its 32 constituent pieces is always 31, no matter how you choose to break it. So be you Row-ist, Column-ist, Half-ist, or Whatever-Other-Compulsive-Chocolate-Breaking-Strateg-ist, know in your heart of hearts that it doesn't matter. 31. Always.
|
-
Software developers, I've got one word for you: www.yourjobisgoingtoindia.com.
That's right. Your job is going to India, princess. Anyone who tells you different is trying to sell you something.
Peek-a-Boo
It's a fascinating thing to watch children grow up. There are stages in life where their ignorance is an amusing reminder of our own. Every child goes through a phase where they think you can't see them because they're covering their own eyes. “It sure is dark around here! I bet no one sees me.”
It's the same with outsourcing. Sure, you read about it in the press. Alarmist titles like, well, “Your Job Is Going to India!” Or, “America -- Land of the Ji, Home of the Knave.”
For those of you playing along in the home game, Ji (“gee!”) is a Hindi word that's a title of respect. So, instead of Sir Charles Barkley, you might say Barkley-ji. A native of India is far more likely to say Gandhi-ji, of course, unless it's their fourth Guinness.
But no one I talk to in everyday life seems to take it seriously. We're like kids covering our own eyes, ignorant of our impending doom.
Your job is going to India. Period. Well, semi-colon. It could go to China. Or Borneo. But India's most likely. Let me count the ways:
- They’re cheap. Everyone focuses on this. After all, eight developers for the price of one is hard to argue with -- it’s a veritable Wal-Mart of developers over there. A three-hour cab ride from Mumbai to Pune is $25. I don’t think a cab in Manhattan would even slow down for you for that little.
- They're brilliant. I can't believe the amount of time I spend debating this with otherwise rational people. “Americans are creative! We invented the computer! Heck, we invented C++! Java! C#! Oh, and did I mention Logo? Or the mind-numbingly lame ML? Let's see Hindustan match THAT!”
- Puh-LEASE! Americans are awesome at inventing technology and then being overtaken by other countries with more efficient production. Cars. Radios. Air Jordans. You name it. (And please don’t be the one person who inevitably writes in arguing that American cars are engineered better than Japanese ones. Don’t be that person. Not today.)
- And just think about the sheer odds against us! The US produces about 1.3 million college graduates a year, from a population of 290 million. India graduates 3.1 million college students a year, culled from a population of 1.07 billion. They’re far more selective. Just the raw number of graduates is daunting! As if that’s not enough, more than half of them are working the local Hyderabad Starbucks waiting to be discovered. It’s as close to a geek L.A. as it gets!
- They're entrepreneurial. Americans have traditionally been entrepreneurial, an advantage we’ve long enjoyed over many other cultures when it comes to capitalism. But India’s different. In general, Indian culture accepts entrepreneurial risk-taking much like the US. This is one of the main reasons outsourcing is so hot there.
- They speak English. I’m bracing myself for the deluge of comments griping about Dell tech support. You’re missing the point. We’re not talking about tech support. We’re not even talking about talking. These are coders we’re talking about -- room full of socially awkward youngsters, fridge full of Mountain Dews, the works. But they can code in English. Compile in English. Bid your next contract $3 million dollars lower, in English.
- They’re learning. This is the thing: even if you believe that India is currently not as good at software as the US, they’re learning from American-trained developers. Every year gobs of senior developers and software managers return to India from Microsoft alone. I know these people! I’ve worked with them! They’re great managers, and they will train a generation of highly capable Indian software developers. And don’t even get me started on just how motivated these young Indian graduates become when they’re chosen as part of the elite few to join a software company. It’s like they’ve hit the jackpot in Powerball Calcutta. You don’t know the meaning of motivation until you’ve paid a 22-year-old a bajillion dollars in local currency, contingent on his continued stellar performance.
Microsoft’s India Development Center (IDC) is growing like gangbusters – it’s like they can’t buy enough of Hyderabad. One of IDC’s main goals is to replicate the successful software development model of the Redmond campus. And Microsoft’s just one example – everybody’s doing this. The 2.3 IT companies that aren’t are going to start next month.
Be afraid. Be very afraid. And prepare to train your replacement on your way out.
Don’t cover your own eyes. Your job is going to India.
What Will Really Happen
I’ve exaggerated a little. Not all of us will lose our jobs, of course. Just most of us. Those left behind will have much lower salaries. The math is simple – the inevitability, manifest. You can choose to deny it or try to defy it, but it doesn’t make the laws of supply and demand any less true.
Most people think that they are paid (or should be paid) the value of their contributions to a company. This leads to whiny dribble I sometimes hear from Microsofties about how a portion of Microsoft’s $53 billion cash should be paid to the people who helped create that value (inevitably, they feel they’ve personally created a few millions’ worth). I totally agree with the spirit of that utopian dream – it’s a noble ideal that you should be rewarded according to the value you add to a company. It appeals to our inner sense of fairness. But the reality is that you’re paid your replacement cost. You are paid what it would cost the company to find another person who could add just as much value. So, in general:
developer.paycheck = min(developer.valueAdd, developer.replacementCost)
I’m not saying this is a good thing. I’m not saying this is a right thing. I’m saying this is a capitalistic thing. And I’m saying this is the truth. The equation of our capitalistic software development economy is getting cheap professionals added to it annually by the truckload. You bet this is going to hit your salary.
Brace For Impact
This is all fine and dandy, but it’s also horribly depressing. Stay tuned – next week, I’ll cover things you can do to brace for impact. For the pessimists: it’ll be a futile attempt to avoid certain doom. For the optimists: it’ll be a positive piece that will give you practical guidance and imbue you with hope.
Don’t ignore the issue. You need to prepare yourself.
|
-
I'm constantly drawn back to the heady dot-com days at Microsoft. Not only because team meetings flowed freely with Dove Bars and Frappuccinos. But because the heady days created a fundamental shift in the culture at Microsoft -- a shift we may never fully recover from.
Above all else, the heady dot-com days decimated the talent pool at Microsoft. As you know from listening to execs like BillG and from reading books like Microserfs, Microsoft has always maintained that the one thing at the core of its success, the one key asset that distinguishes it from all its competitors, is its whopping $53 billion dollars in the bank.
Hehe. I'm only kidding, of course. Sure, the money helps. But it's about The People. At least that's what execs keep saying.
Two things happened to The People during the heady dot-com days:
- If you were part of The Old-School People, the same people who wrote 3000 lines of code before breakfast and cracked jokes about SoftICE over the latest issue of Byte magazine, you left the company the moment your buddy, no doubt a member of The Good-Looking Old-School Business/Marketing People, phoned you up from the newly leased offices of youwouldntbelievehowgoodofafirstmoversadvantagewevegot.com.
- On the other hand, if you were a member of The Talented Graduating College People, you dissed on SoftICE, grabbed a copy of Java In A Nutshell, and headed straight for thosefirstmovershavenoideawevegotapatentsubmarine.com.
I worked recruiting. I was there.
During the heady dot-com days, I often worked on a volunteer basis with Microsoft recruiters. I gave tech talks, attended career fairs, and interviewed students at several universities, and focused especially on University of Maryland, my alma mater, over a period of years. Working a Microsoft booth at career fairs in 1999 and early 2000 was like selling cigars in The Vatican. Some would stare at us with blank, incredulous looks. Isn't the DOJ thing enough already? Can you believe they're even here?! Others would walk politely by, ignoring eye contact. Maybe they'll think I'm a business major! [Before everyone jumps: for the record, Microsoft loves business majors. Two folks on my floor are Harvard MBAs. There's always room for business majors. We love you guys.]
Point is, a significant portion of the folks who even bothered applying to Microsoft during the heady dot-com days were mediocre at best. Couple that with the fact that we needed to fill positions like they were going out of style and you've got a formula for disaster.
disaster = probability(applicant[i].IsMediocre) * positionsFilled
The heady dot-com days produced a huge sucking sound at Microsoft. All the experienced folks were leaving. All the good college grads were busy working for Trilogy. Add to this the fact that we wanted to grow the company at record rates... I leave the conclusion as an exercise for the reader.
Culture Change
More than 60% of Microsoft's 55,000+ employees joined during the heady dot-com days or shortly thereafter. [Before you math whizzes pounce, remember that folks were leaving in record numbers during those years as well -- in net, Microsoft did not grow 60+% during that time.] This means whatever you've read in Microserfs, in Showstopper, in numerous magazines in the `90's about Microsoft developers, is at least 60% wrong.
This is not your father's Microsoft.
Those people you thought were here? They're gone. Well, some of them have returned, repentant, like prodigal sons and daughters. But they're mostly gone, replaced by The Next Batch.
Don’t get me wrong – we hired some great people during the heady dot-com days. We just had to work a lot harder to find the right folks, and often had to beg shamelessly. But I’m certainly not going to blow sunshine about how, against all odds, we redoubled our recruiting efforts and ended up with just as high quality folks as we’ve always had. That’s simply not true. That’s not even statistically possible. Truth of the matter is that good people were very hard to find during those years.
Microsoft Mojo was diluted because we had to hire during the heady dot-com days. There’s no doubt about it – the whole Bubble Phenom decimated Microsoft’s talent pool.
Now the Good News
The best thing to happen to Microsoft since the heady dot-com days wasn't settling the DOJ bit. It wasn't Windows XP. And it certainly wasn't the remix of SteveB screaming “Developers, developers, developers, developers!“
The best thing to happen to Microsoft since the heady dot-com days was the utter and complete collapse of the entire software industry. There were no jobs to be found anywhere for new grads, except for the thousands of jobs with the company that had bazillions in the bank.
You wouldn't believe the folks I interviewed last fall at the University of Maryland. One sophomore had taken over leadership of his dad's consulting business when he was fourteen. Another runs Menuocity in his spare time, and employs several folks during the course of business. Did I mention he was only a sophomore as well? I couldn't invent resumes better than some of the ones I saw.
Grab a Dove Bar. Snap open a Frappuccino. The heady days are returning for Microsoft.
|
-
The Ever-Elusive Personal Finance Manager
I worked as a developer on the Microsoft Money team for a little over two releases (Money 99 - Money 2001). During my time on Money, it made its transition in the eyes of the press from an inferior Quicken wannabe into what reviewers would agree is a superior product (the dramatic improvement wasn't due to me, of course -- I just happened to have graduated in 1998). Despite this, I ultimately left the team because I was frustrated by the direction that Money was being led. Instead of making Money into what we knew users wanted, we were busy trying to match Quicken and meet MSN goals. This is the back story regarding what eventually led to my departure.
Time to take a break for a shameless disclaimer. What follows are my own opinions and perceptions of what happened. The facts I present may be completely wrong. I may discover years later that I had a grapefruit-sized tumor in my brain during my years on Money. And regardless of what I say below, the Money team was one of the most enjoyable, cohesive set of folks I've ever worked with. And I still love the product, warts and all.
The majority of consumers who buy computers claim that personal finance management is one of the top three reasons they are purchasing a PC. They've been claiming this for more than a decade. But only somewhere around 2% of consumers end up using a personal finance manager (“PFM”), with Intuit Quicken and Microsoft Money dominating the market. Both products have been around for -- you guessed it -- more than a decade. This dramatic disconnect between consumer demand and actual market penetration is mind-boggling.
Take a guess at what percentage of consumers launch Money ever again, after running it only once. You'll need to remove a digit from whatever percentage you're currently guessing. It's seriously that low. Granted, most copies of Money are actually pre-installed by the OEM on consumer machines, so you're not exactly dealing with a captive audience. But we're still looking at a huge discrepancy between expressed consumer desire and actual consumer behavior. There's a lot of money to be made if we solve this mystery!
From Money 99 to Money 2001, the product suffered from two major debilitations that ultimately ended up in disappointed customers:
- Competition with Quicken. Don't get me wrong -- I'm all for competition in software. The dynamics of competition with Quicken, however, created an environment that ultimately did not serve customers.
- Money's subjection to MSN success metrics. Money is part of the MSN organization. During the heady dot-com days, when all reason was tossed to the wind, Money's success was measured against the same metrics that other MSN properties (read: “websites“) used.
We'll need to take these one at a time.
Competition with Quicken
Before all The HatersTM spam my inbox, let me go on the record saying that competition in software is almost always good for the consumer. After all, who can forget the BBS days, back when ProCOMM and QModem were suddenly assaulted by Telemate, a multi-tasking DOS-based modem program written by -- brace yourself -- one Japanese guy. No doubt in my mind that competition breeds innovation. (Whatever happened to Telemate's author, anyway? Unbelievable what he achieved. With Telemate, you could download one game, unzip another, and play hangman all at the same time -- I kid you not.)
Brief refresher on how the PFM market works: consumers don't buy PFMs for themselves. They don't. Well, maybe three of them do. But the bulk of the PFM market resembles two other markets:
- Deer Hunter. What? Not familiar with the multi-platinum PC game title that has sold gazillions of copies after 5+ versions? It's a game where you shoot deer. Seriously. Stay downwind, keep quiet, the whole works. Anyway, the point is that you don't buy Deer Hunter for ~yourself~. Heck no. You buy it for your husband. For your dad. For some business client that just signed a billion-dollar deal with your firm.
- Anti-virus. Your parents' Pentium 60 still has the same anti-virus program that originally came bundled with their PC. And it's probably got Money 97 on it. Enough said.
The reality of the PFM market is that it's completely driven by journalists' reviews of the software. Don't know which PFM to buy dad? Check the PC Magazine review. Want to know which PFM to pre-install with your new line of consumer PCs? Read the Wall Street Journal review.
Rewind back to 1998. Quicken led the PFM market, and had pretty much been spanking Money with thousand dollar bills. Intuit, Quicken's parent company, called the shots. The only chance Money had to survive was to win reviews. Reviews were everything. All hands were on deck to match Quicken feature for feature... there was a veritable cover-of-the-box bullet-point shootout at the PFM Corral. Direct from the Money 2001 Deluxe box:
- “Track employee stock options!”
- “Shop for insurance through MSN MoneyCentral!”
- “Gain insights into IPOs!”
You'd think Money users were all upper-middle class technocrats.
Fact of the matter is that we knew from years of usability studies that what users most wanted was a simple system that helped them do the most basic of things. Track a monthly budget. Get out of debt. Figure out what's left in the checking account. Try as we might to improve these things, we couldn't invest seriously in fixing these basic user experiences. What if Quicken were to come out with support for calls and puts? Indeed, that too came to pass, and reviewers latched on to the fact that the new Quicken supported call and put options. What followed was a Reagan-esque Features Arms RaceTM. It was all you could do to close your eyes, hang on, and add yet another feature.
There was simply neither interest nor leeway to improve the usability of the core features of Money. For the business to survive, we had to match Quicken move for needless move, feature for futile feature. It's little surprise that users flocked to online bank websites in preference to using Money or Quicken. What? My current bank balance, without entering any transactions manually? Single-click bill payment? Simple budget categories? Sign me up!
Money's Subjection to MSN Success Metrics
Microsoft Money is considered part of the MSN family of products, and has been for many years. It was thought that the consumer products division, of which Money was a part, should belong in MSN. As a property of MSN, Money's success or failure was judged by execs using the same metrics as MSN's websites.
You might have missed that. After all, this article's kind of long. So let me say that again. Money's success or failure was judged using the same metrics as MSN's websites.
Metrics like minutes viewed per month. Like ad revenue. Like click-through. Stickiness. I am not making this up.
I sat through meetings where we were asked to research ways in which to increase the amount of time that users spent in Money. Increase the amount of time! Users always ask for the exact opposite. Users want a Navy Seal relationship with Money -- get in quietly, do the job quickly, leave no comrade behind, maybe smoke a little afterwards. We got busy making Money into a needy girlfriend. “Let's make it so fun and engaging people won't want to leave!” Users would rather be scheduled for a root canal than to spend another minute trying to balance a checkbook.
A goal was set to increase ad revenue by 600%. At this point in time, during the heady dot-com days, Money was already filled with banner ads. It even installed several icons on the desktop hawking E*Trade and other bygones. How were we supposed to increase the revenue another sixfold? Someone suggested showing the banner ads even faster -- essentially increasing the “frame rate,” if you will. Click-through infected the product similarly. Push MSN websites! Get 'em to click through! We get referrals!
It was 1999. Twenty-year-olds were millionaires. Anything was possible. Money was judged as a portal, so a portal it became. Thing is, no one wanted a sticky, ad-serving, time-consuming personal finance application.
Silver Lining
Fear not! The story has a happy ending! After all, Money still holds a special spot in my techie heart. I wouldn't leave it hanging.
Money is no longer laser-focused on beating Quicken. We realized that the PFM pie is much bigger than just getting upper middle class folks to read reviews and buy Money for their favorite uncle. There's now much more focus on getting simple things done. Integration with MoneyCentral is going well. The web forces you to simplify. And in personal finance software, simple = good.
Funny enough, the other reason the arms race with Quicken is no longer as interesting is that both sides have lost some motivation. Starting with Money 2002, Money has “won“ more reviews than Quicken. It's often thought to be the superior product by key reviewers. Turns out Quicken's not that interested in beating Money either. Intuit's business is founded on taxes and accounting. Just look at the 10-Ks -- TurboTax and QuickBooks dwarf any revenues that Quicken brings in. It's not at all a stretch to say that Quicken's raison d'etre is to drive TurboTax sales.
And what of treating Money like a web portal? Fortunately, the bubble burst and all sins were forgiven. Money is no longer evaluated on things like minutes of use per month. Sanity has returned and all is well.
|
-
After all this time, finally got around to starting this blog. The World As Best As I Remember It will be centered around topics in software development management -- not technology itself, but the management of software development process and the industry in general. Rants and raves about the world sprinkled in between for crunchiness.
Quick professional bio: I'm a software development manager on the Tablet PC team at Microsoft. Previously a developer on Microsoft Money and Microsoft Word. Web developer at the University of Maryland. Taught C++ and XML at University of Washington. Co-authored Building Tablet PC Applications, the Microsoft Press book for Tablet developers.
Glad to sign on. Let's go!
|
|
|
|