Auto Ads by Adsense

Booking.com

Wednesday, April 21, 2010

Xianhang Zhang Returns!

Xianhang Cooks


After his last visit, I was very lucky to have more and longer conversations with Xianhang, including a long hike on Saturday, and he agreed to cook for us once more. This time, it's for the crew that's coming along for this year's Tour of the German-speaking Alps.

My kitchen was sadly under-equipped, even though the stove and oven was brand new. So we first started off the cooking expedition with a visit to the Restaurant Supply store to pick up pots, a frying pan, and various other utensils. I was so glad that someone with real expertise was helping me pick out stuff. I would have just gone down to Safeway and picked up stuff off the rack. Now I have a full set of mixing bowls, baking pans, etc.

Then it was off to Ranch 99 and then Whole Foods to pick up groceries, and upon returning home Xianhang basically started cooking up a Swiss-themed dinner in anticipation of the alps trip. We started off with sausage and polenta, followed by potato salad, then soup, and finally desert was a baked Alaska: a meringue topping off rocky road ice cream, which was on top of sponge cake, all baked in the oven (the first time we ever baked anything in my oven), followed with a sprinkle of strawberry sauce. All very yummy. Cynthia and Kekoa brought wine and plates (when I say under-equipped I mean it), Phil brought more wine, and we all had a great time.

Thanks, Xianhang!

Monday, April 19, 2010

Review: Planet Earth

Planet Earth is the BBC HD documentary series covering all the various landscapes and wildlife of the planet. It also seems to be the Blu-Ray used to show off people who've bought new entertainment systems.

The cinematography is just amazing. I can't watch even half an episode without thinking to myself that the cinematographers must have spent weeks sitting in blinds trying to capture the images and shots in the series. The sound is perfect, and the narration by David Attenborough brings back days of sitting in classrooms getting to watch a documentary instead of listening to another boring lecture.

I do have complaints, and it's that the series as a whole seem shallow. In nearly every episode, the narration raises more questions than it answers, and you wish it occasionally would stop to explain something rather than just barrel along to the next wonder of nature. Of course, you could watch the series with a laptop so you can Google questions as they come up, but to take your eyes off screen after screen of beautiful shots would be silly.

If you own a Blu-Ray player and a home entertainment system capable of showing it off, buy Baraka. After you're done watching that, then get a copy of Planet Earth (there're so many floating around, I'm sure you could just borrow it from someone) and view it. Don't take my word for it, Amazon's released Episode 1: Pole to Pole in HD for free. So go watch it already.

Tips for Tech Leads

One of the unending sources of frustrations of being an experienced engineer in a company full of fresh graduates is having to deal with new tech leads---many engineers fresh out of school are great designers and engineers, but couldn't lead a team out of a paper bag. It didn't help that Google's internal leadership training was derived from team-building exercises for experienced executives, rather than leadership 101 that would have been appropriate in this situation.

My favorite remedy for this is the Peopleware, which I also mentioned in An Engineer's Guide to Silicon Valley Startups. However, that book seems to be out of print available only direct from the publisher, so I'll do my best to summarize my tips for new tech leads:
  • Have lunch with your team at least once a week. If you learn nothing else about leadership, learn to eat with your team. (If you're an industry veteran, I know this sounds basic, but I assure you that I ran into multiple tech leads at Google who did not do this, because no one told them that this is necessary and essential) If necessary, put it on the calendar. Communal eating is such a major bonding ritual since the dawn of humanity that not to do this marks you as an idiot tech lead or manager. One of the best tech leads I know at Google, Arup Mukherjee does this not just once a week, but nearly every day. In Peopleware, Demarco and Lister describe a situation where a crafty tech lead turned making dinner into a team-building exercise. That's the way tech leads should be: even when they're leading, it's not obvious. When a great leader is finished, the team says, "We did it all by ourselves without a leader!"
  • Schedule 1-on-1s with every team member, at least once every two weeks. This ensures that your team member has time to catch up with you and tell you about problems that are important but not urgent. Many people have a fear of speaking in public, and private meetings ensures that little nagging things that could blow up don't blind side you. You can also use this time to provide feedback. Most people crave feedback, and being able to provide useful feedback regularly distinguishes a great leader from the rest.
  • Make sure that members of your team don't hear from you only when things go wrong. Many tech leads only talk to team members only if something went wrong. Do this enough times, and your team mates will start avoiding you out of repeated Pavlovian training. If this means you have to find ways to praise them every other time you see them, so be it. In Orson Scott Card's book, Ender's Game, the protagonist instinctively knows something that many executives do not: bad news should come from the top level, and good news should come from line management. This is something that every executive should learn and do.
  • Make a big deal out of milestones. Celebrate every milestone. Reed Hastings was a great cheer-leader for every person in his company. When I applied that to small teams of 3 or 4, it was just as motivating. Most technical leaders err too much on the side of not providing sufficient positive feedback to encourage teams.
  • Try to give team members whatever they need in order to get things done. Your role is to support them. Avoid grabbing the glory by taking all the interesting jobs and treating them as minions to do work you don't want to do. Note: if you work at Google, this might not apply to you. It's more important to get promoted early at Google so your evaluations of your team-mates matter more so they can get promotions --- this is another way incentives get mixed up in big companies in a way that don't at startups.
  • You're spending well over $100k a year per engineer. There's no reason to skimp on $5,000-$10,000 worth of hardware sitting at his workstation so that he's more productive. Yes, it's nice to be frugal, but one big sign for me that a company has gone too far is when I'm tempted to bring my home machine to work so that I can have a faster machine at work. And no, I don't consider upgrades every 18 months a waste of money if your business depends on the productivity of engineers, but many companies do. I just don't understand it.
Do all of these things and you still might not be a great leader (so much of leadership is built into who you are, and not really teachable), but you'll at least not be the kind of tech lead that people and talk about years later about how bad a tech lead you are. And ultimately, if you eventually wish to have a career at a startup or even start your own company, you'll discover that these soft skills are as important as your ability to code.

(I now have a book full of useful tips like these: Startup Engineering Management)

Friday, April 16, 2010

Singapore-Malaysia-Thailand Trip Pictures

I took a vacation for two weeks in Singapore, Thailand, and Malaysia with my girlfriend and my parents. My parents mostly because they knew the area well, thereby ensured that I was eating mostly the best of the best that Singapore and Malaysia had to offer, and secondly, Malaysia is still enough of a podunk country that simply speaking English wouldn't have been enough. My dad speaks fluent Malay. =)

Anyhow, pictures and video! Pictures are in chronological order, the videos, not so much. I ended up with about 500 pictures culling from 1000, so not too bad. =)


Videos are uploaded on youtube because picasa doesn't support 720p yet. To see the difference between 480p and 720p, simply do full screen and the difference will be obvious.


Enjoy!

Promotion Systems

When doing research for my book, I interviewed several Googler old-timers. What surprised me was that two ex-Googlers said the same thing pretty consistently: they felt that the Engineering Ladder was a very bad idea. At the time, I disagreed. I believed that in general, incentives systems worked and it was a good idea to spur everyone along with carrots. Since then, I've come around to agreeing with these two very smart people.

What changed my mind? The first was my reading of the book Drive. To a large extent, software engineering is a field full of ambiguity and complexity, and that makes compensation hard. So incentives tend to fail or backfire. Then I tried to invert the problem. What if I tried to design a promotion system to piss off as many employees as possible? What characteristics would it have?
  • No pleasant surprises. In other words, you can only be disappointed if you didn't get a promotion, you can't be pleasantly surprised by a promotion.
  • Create unhappiness by dependence on scarce resources. In other words, gate promotions based on scarce resources so that even people who would otherwise be qualified could become disgruntled through no fault of their own.
  • Eliminate accountability from people who make the promotion decisions (e.g., through a committee). That way, promotion decisions can seem arbitrary.
  • Ensure that promotions are competitive races between all qualified candidates. This ensures that people who manipulate that packet in such a way as to have the best looking packets will win over people who are trying to get feedback and improve, which is supposedly the point behind all these feedback systems.
When I looked at Google's promotion system through this lens, I was very impressed. It seemed as though the system was designed to create disgruntled employees out of people who might otherwise be perfectly happy. And note that the ex-Googlers I interviewed were people who benefited from the system, as in: they were very well respected and were hence ranked highly. They were people who couldn't care less what their ranking was, yet they disliked the system anyway, purely because they thought that having a ranking system actually had a deleterious effect on the exchange of ideas. Note that at one time the system did work: when the company was small enough that everyone knew what everyone else was working on (more or less), and hence felt accountable when making promotion decisions. The company also had so few managers that they didn't have time to put people up for promotion anyway, so putting the onus on the employee made sense. (Actually, at one point the promotion committees would consider everyone for a promotion, not just the ones who applied) Furthermore, if you tried to game your packet, chances were, someone on the promotion committee would know, so it was futile. This went away when the company got big, and got so many managers that there was no excuse for your manager not to say good things about you if he wanted to see you promoted. Someone did tell me that he thought that this evaluation of the system was biased: the alternative is the traditional management system, where everyone tries to suck up to the boss. When I discussed this with Reed Hastings, he said that he's still the biggest fan of the traditional management system executed well. When I thought about it, that makes sense, because of the following:
  • You have to select good managers anyway. Even in a peer based system, a bad manager can still sink good engineers by selecting bad goals, or blatantly playing favorites.
  • Managers are typically incentivized through business goals. If they deliberately promote poor engineers, good engineers tend to leave their teams and the business goals will be much harder to achieve. In general, most companies do a very good job of properly aligning managers with the corporate objectives. It's much harder to do so for rank and file employees.
  • A manager can be held accountable for her promotion decisions. It's much harder to hold a faceless committee accountable.
No matter what promotion system is in use, there'll be flaws. Worse, these flaws are insidious. Since superstars are those who get promoted frequently, they see nothing wrong with the system. In fact, they'll usually try to torpedo any changes that don't benefit them, and since they're the superstars, their opinions will carry more weight. Instead, it's the misfits who see the flaws of the system most often. Talented misfits will stick around for as long as compensation is adequate, and leave once it's not. And any manager will tell you that once compensation is the only thing holding employees to a company, you're in a very tenuous and dangerous situation. Silicon Valley has a history replete with companies who were stripped nearly bare of talent by smaller startups that had the ability to offer higher compensation (usually through stock options) to under-valued employees. Obviously, if you're one of the misfits, you should check your compensation package often and leave the moment it's inadequate.

Ultimately, having to have an engineering ladder at all is why I consider startups better places to work. If you've negotiated substantial stock compensation, then it doesn't matter whether or not you're a misfit or superstar under the promotion system. If the company does well, you're going to do very well. If the company does badly, even the superstars aren't going to be adequately compensated. That makes doing the right thing much easier for everyone, and explains why startups tend to have much less office politics than bigger companies.
[Update: Follow up Post]

Thursday, April 15, 2010

Selling Stock Post-IPO

Google was unusual in that it had 3 lock up periods: a 30 day lockup, a 90 day lockup, and the 180 day lockup. The idea was to let pre-IPO stock (and option) holders sell 5% of their holdings after 30 days, an additional 10% after 90 days and any amount after 180 days. The other company I heard of which got an exemption from the usual 180 day lockup rule was Netscape. In my book I discussed some of the pitfalls behind early selling, but here I want to talk a bit about selling strategy.

The first thing I observed was that the float at the time was tiny. This meant that it was conceivable for Google employees who are divesting to move the stock. I also observed that employees (especially employees with large stock holdings) were mostly housed in Mountain View. Many of the large stock holders were engineers, and were Owls, rather than Larks. Since I was effectively locked out of the 30 day lockup due to my vesting date, I got to observe market movements.

Indeed, what I saw was that the highest prices of the day tended to come before 10am PST, and the stock would take a consistent drop after that and stay low for the rest of the day, before another morning spike the next day. I saw this repeated day after day, week after week, and that convinced me that my theory was right.

Obviously, for me to take advantage of the idea, I had to ensure that I was the only person who would execute on it. Otherwise, everyone else would pile on and I would lost my chance to capture the morning spikes. So I deliberately unsubscribed myself from the internal financial-planning discussion mailing lists, and deliberately kept myself from blogging during that period, internally or externally. And yes, I did capture the morning spike when I finally did sell (I'm a lark by nature, so getting up at 6:30am PDT/PST to trade wasn't a problem).

Note that this only occurred at the 30 day and 60 day lockups. At the 180 day lockup periods, institutional investors/venture fund holders could sell, and those guys could move huge chunks of stock in a day, and employee movement would be lost in that noise.

In late 2007, I did the inverse. I took an informal poll of relatively naive employees, and asked if they were going to sell at the all-time high of $700+/share. When everyone else told me that they were holding on for more capital gains, I remembered Warren Buffett's adage: "Be fearful when everyone else is being greedy, and be greedy when everyone else is fearful", and sold until my hands shook from pushing the "sell" button. It was one of the hardest things I ever did, but was also incredibly lucrative. My only regret was not selling even more than I did.

I am not normally a market timer: those of you who've read my financial posts over the years have probably noticed that I have no faith in anybody's ability to time the markets, including my own, and I follow a rough asset-allocation model. But as William Bernstein said during his visit to Google on one of my birthdays: Just because you believe in the efficient market does not absolve you of the responsibility to do the math and look at what makes sense.

An investor always has the responsibility to check current conditions against common sense. As the above two examples illustrate, common sense means that when you know the market is wrong, acting on your beliefs quickly and decisive.

Wednesday, April 14, 2010

Review: Dollhouse

Dollhouse is Eliza Dushku's vehicle for showing off her versatility (lead actress and producer), and it's Joss Whedon's world for exploring the nature of identity.

The show is superficially a science fiction show, but there's very little science. The premise of the show is that you've got an outfit that can imprint personalities into people (called Dolls), and then use those people to fulfill fantasies, or perform more sinister roles. The obvious uses are touched upon, but the show really hits its strides when the Dollhouse's sinister past and secrets come back to revisit it.

The acting is generally good, with Olivia Williams stealing every scene she's in, and lending what would otherwise be a very dull character a surprisingly sympathetic life. The writing is intelligent, and with none of the teen buffyisms you almost come to expect out of a Joss Whedon show. With extremely strong female leads, however, it is very clear that this show plays to his strengths.

The technology, however, requires massive suspension of disbelief, not just of the basic tech piece of "imprinting", but from the giant ass plot-holes in the show. For instance, we're supposed to believe that the brilliant people who build all this amazing technology have never heard off-site backups (despite the Dollhouse being a widely distributed operation). There are basic security issues that are never addressed, and of course, many episodes leave you wondering why the equivalent of the New York Times in this universe hasn't already exploded the story.

All that aside, however, I enjoyed the themes that are explored, and definitely enjoyed the plot twists: they were both surprising and believable at the same time. Ultimately, however, I agree with Grant McCracken (I'd provide a link, but his blog seems to be down) as to why the show failed to connect with a broader audience:
Ours is a transformational world, and to that extent Dollhouse should speak to us.

But there are two kinds of transformation: involuntary and voluntary. We hate the former. We love the latter even more.

Which transformation is Dollhouse about? It's about a woman (Eliza Dushku, pictured) trapped in an endless series of involuntary transformations. A mysterious corporation wipes her soul, inserts a new persona, and hires her out. This is the stuff of our worst realities and dreams.

The trouble is not that we can not identify with "Echo." The problem is we can identify too well. We too have been the captives of forced transformations, and it gives us no comfort to see someone else endure this horrible condition.


All in all, it's a short Season (13 episodes), and I don't think it was a waste of time at all. It's not on par with the best Buffy season, but I consider it a show that's at least as good as Firefly.

I look forward to checking out Season 2 from the library.

Facebook is stealing Adsense Revenue

Just before I left Google, I heard rumors that if you told your manager that you were leaving to join Facebook, you would be escorted out of the building right away. What's interesting to me about this rumor is that it was quite believable, and also despite all that publicity about the Apple-Google rivalry, there was no such rumor circulating about that happening if you were to leave Google to join Apple.

Now, first of all, I will state my anti-Apple bias: I think that Apple would be a horrible place to work if you're a Googler. It is in every sense the anti-Google in outlook. I have friends who worked there (and one who still does), and I know for one thing it would drive me crazy. People tell me that there's so much secrecy that when you have to debug something, getting enough information to even do your work if the bug spans up or down one level of abstraction would be a challenge. And obviously, there's a lot more secrecy than there is at Google, even for internal employees.

On the other hand, while Apple might be able to start establishing ads on mobile devices, Facebook is already stealing ad revenue out of adsense. How? Take this blog for instance. I run Adsense Ads on the side and bottom (unobtrusive, but valuable if Google does a good job of monetization). The blog, however gets syndicated to various places: Buzz, Friendfeed and Facebook. The first is controlled by Google, the second doesn't try to monetize, and in fact helps drive traffic to the blog. The last, however, strips out all Google ads, and replaces it with Facebook ads!

Not only does Facebook see all the revenue that Google otherwise would see, it also grabs all the revenue that I would otherwise see, since Google shares Adsense revenue with the content provider (in this case, me). You can imagine a world in which all content thus gets syndicated through Facebook and Google's content ads network goes to zero.

So if the rumors are true, then indeed Google is terrified of Facebook, and has every reason to be. The potential for disruption to its content ads network is huge. The caveat, of course, is that the high traffic sites which have lots of traffic clearly have a disincentive to syndicate their content through Facebook, so it's only low traffic sites like mine that are affected by this. My guess though, is that Facebook will eventually provide some sort of revenue sharing arrangements with the high traffic sites, at which point it would really start chipping into Google's content ads network.

Then of course, there's that other insidious threat: Facebook is currently in the position Google was 6.5 years ago, being able to offer hot pre-IPO stock to potential employees. This is a cycle in Silicon Valley, however, and the correct response is to properly compensate your employees rather than threaten to escort them out of the buildings when they give notice. I doubt if upper-management at Google is unaware of that, given how recently the shoe was on the other foot.

Tuesday, April 13, 2010

Laundry

Google has an unusual perk: on-site laundry machines. When I first joined, it was just one laundry machine sitting in building 0. By the time I left, there were no less than 4 laundry rooms with entire banks of washers and dryers. When I first joined, I didn't think much of the perk: one laundry machine that operated at European speeds meant that it was never available when you needed it.

When the first laundry room with a bank of machines showed up, I started using them, because it was more work to dig up quarters for the laundry machines at my apartment building than to just dump the laundry onto my trailer and tow it to work on my bicycle. In California, you can do this most of the year and not even need a waterproof bag for the laundry. I also started keeping a week's worth of clothes at work and then never even bringing those home: this let me do a bike commute sans saddlebag, if I so chose to.

As mentioned in my book, Google had an unusual number of fresh graduates. This led to the kind of "accidents" you would expect in a college dorm. One day, I came in to the laundry room to find one of our administrative assistants in a huff. "Darn Engineers with PhDs shouldn't be allowed to do laundry," she muttered under her breath. I asked her what happened, and she said, "Some idiot PhD went and stuck washing powder into the dryer. Now the whole thing's jammed up and there's powder all over the place." She went out, grabbed a marker and a sheet of paper, and taped up the dryer with an "Out of Order" sign. Then she had a better idea. She went out, grabbed a ton of paper and tape, and wrote on them: "Washing machine. Use detergent here. Do not put dryer sheets here.", and "Dryer. DO NOT using detergent. Use dryer sheets here!" And proceeded to label every machine in the laundry room.

Since then, we have not had a repeat of the "detergent in drying machine" incident. So at least we know that even engineers with PhDs can read.

Monday, April 12, 2010

Referral Programs

Most companies, startups included, have employee referral programs. Nearly every corporation will tell you that referrals are the best source of their employees. If you compare the cost of an employee acquisition through a retained recruiter and through a referral, it's usually an order of magnitude. A retained recruiter usually gets 30% of the recruit's first year salary: for a $100k/year engineer, that's $30k a year. The typical referral bonus paid out to an employee is less than $3000.

One response that companies make when faced with urgent need for hiring is to raise the referral bonus. Strangely enough, this makes very little difference to the rate of recruits unless the referral fee is increased dramatically. In fact, the biggest way you can get more referrals from your employees is to make them happy. Google was the master at this: the campus is filled with fun exhibits, so when you invite your friends over for lunch, you pretty much have to take them all over campus and show them the various cool things. It makes you feel good, and it makes your friends want to work at this great environment. The mind-blowing free food perk is also amazing, and Google did not enforce strict limits on guests: these guests frequently became future full-time employees.

People recruit friends because they want their friends to be happy too, and even new employees are very good at filtering people whom they instinctively know won't fit in the culture. It wasn't uncommon to see a note from an employee referring a friend who wouldn't fit thus: "Hi, this is my friend X. He's a major pain in the ass to work with, and I wouldn't want him here. I don't want to offend him by not referring him, so could you please write him a note saying that there's no position here for him?" For some positions, you might want to ignore such notes, but by and large, if the person with a financial incentive to get someone hired would forgo that incentive so as to never have to work with that person, that's a pretty strong signal.

Finally, if you start to see the number of referrals drop off, this is a signal not that your carrot isn't good enough, but that your employees are no longer as happy at work. Nobody wants to bring their friends into a toxic work environment. Unfortunately, very few companies pay attention to this as a signal.

Sunday, April 11, 2010

Review: Garmin Edge 500

Someone I knew decided he didn't like the color of his Garmin Edge 500, so I bought it off him for $200. You can buy the version that's bundled with a HRM and Cadence/Speed sensor, but it's cheaper to buy those pieces separately. Since I didn't care about having a Cadence/Speed sensor, I just bought the Garmin Heart Rate Monitor. [Update: I bought the Cadence/Speed Sensor after all]

First, a note about what the Edge 500 is and is not. It's not a navigation unit like the GPSMap 76CSx or the Edge 705. There's no slot for an SD card to store maps, and it won't even give you route pointers or directions. It is purely a replacement for a traditional bike computer. My Sigma 2006MHR had given up the ghost recently, and I wanted a stoker computer for the bike position anyway, and the Edge 500, while expensive, had the benefit of not needing wheel magnets and sensors, as well as not needing adjustment when I switched it from bike to bike. Having nice looking tracks when you're done is a plus, though a minor one.

The unit came with 2 bike mounts, though you can buy more mounts if you have other bikes. The tie-on is very similar to the Sigma's with 2 rubber bands. The computer slots in and then twists 90 degrees to secure. I found the mounting not as reliable as I expected, since in pushing the buttons I ended up twisting the computer back towards the unlock position a couple of times.

The computer itself is fairly easy to use. There's a power button, and a start-stop button. A mode button switches between 3 different configurable displays, and accessing the menu system to switch settings, bikes, etc., did not require reading the manual. One note that the person who sold it to me said to do is to ensure that you always stop the timer and immediately reset the GPS unit while you still have a GPS signal, as otherwise the unit will lose all the data from your ride. I can definitely see this being very annoying.

Connecting the unit to my Windows 7 PC through a USB cord was straightforward, though I had to use the control panel to force Windows to recognize the unit. Once that was done, tracks uploaded quickly and easily. If you want to see my tracks, here's a hilly ride without the HRM and the next day's recovery ride with a HRM.

GPS speeds are not very accurate. In the first ride, the GPS unit recorded a top speed of 55.2mph. I had a separate, traditional bike computer on that bike (it was a tandem), and it recorded a top speed of 41.5mph. That's a 20% error. In other words, if you went on a Tour of the Alps, and all you had was a GPS track telling me your top speed of 100+kph, I won't believe you. Use a traditional bike computer if you want accurate speed measurements. Or get the speed/cadence sensor. The temperature sensor is also not very accurate, and doesn't react quickly to changes in ambient temperatures. This is of concern because without accurate temperature sensor, elevation changes measured by the barometric altimeter might not be accurate.

One improvement from previous years is that Garmin's Connect software now does appropriate smoothing for elevation gained/lost if you turn on the Elevation Corrections on the web-site. This makes Garmin's elevation gained/lost reports much more believable than in previous years.

Battery life with the Edge 500 is much better than in previous units. I've recorded about 7 hours of elapsed time with the unit on, and it reports 75% battery life. [Update: After two back to back rides (King Ridge, Coleman Valley Road]without a recharge, the unit was down to 30% from 100%. This was with both the HRM and the GSC 10 in use, which means that a 15 hour battery life is a reasonable expectation] The quoted 18 hour battery life seems very achievable. The unit is also light enough that I wouldn't consider leaving it behind on the Tour of the Alps just to save weight. All in all, I'm satisfied with this purchase as a bike computer replacement. It costs about $100 more than a similar non-GPS bike computer, but does quite a bit more. However, if you care about navigation features and absolute minimum weight isn't a big issue, I would still recommend the Edge 705 instead. I'm certainly not leaving behind my 76CSx for the upcoming tour, but would happily use the Garmin Edge 500 on my single and tandem for local rides.

Facebook: Google Redux?

It amuses me that what people say about Facebook today sound substantially the same as what people said about Google six and a half years ago. What were they saying to me back then?

It must be too late to join Google now. There's no way you'd become a millionaire by joining them at such a late stage.

How could they possibly make money? Those little ads? Nobody clicks on those! I don't know any one who clicks on those things, and I myself never click on those!

The former statement obviously might or might not be true, depending on how generous the stock compensation package handed out to employees today are. The latter statement, however, is easily verified: try placing an ad on Facebook. The last time I tried, it was a minimum of $0.60 per click, and they wouldn't take my $1/day budget. For reference: Google will happily take a $1/day ad campaign, and will take bids as low as $0.01.

When I visited Facebook campus a few weeks ago, it reminded me of Google campus 6 years ago. The parking lots were overflowing, and people were clearly working at high intensity. Even the cafeteria looked familiar (well, it should, since it was for all intents and purposes Google's old Cafe-14, complete with the same staff).

Ultimately, two things convinced me of Facebook's value. The first was when the Caja team needed a contact with Facebook 2 years ago. I dug through my Facebook contacts and came up with Jeff Rothschild, who's the VP of Technology at Facebook. I made the connection and they had their meeting. (Jeff by the way is featured in my book) Now, there might not be an easy way to monetize this (though see above about the price per click on Facebook today), but I was convinced of the value of Facebook after that.

The second thing that convinced me of Facebook's value happened when I was in Europe, and again when I was in Australia. Over and over again, whenever I met someone, instead of giving me their e-mail address, they'd tell me to friend them on Facebook. This by the way, is a very bad idea for most Europeans: there are so many name duplicates on Facebook that it's impossible to disambiguate the two hundred "Ben Smiths" for instance. I tell people to friend me instead since my name is much more unique than a typical European/Australian/American.

Thirdly, people I talked to who weren't in Silicon Valley all thought that Facebook must have been a giant corporation with more than 10,000 employees. More than anything else, having small companies have such a huge impact on the rest of the world is the major reason why Silicon Valley is still the place to be, if you're a computer scientist.

Finally, if it is true that Facebook has found a way to monetize social networks, this is huge news. The Google-MySpace deal famously fell short of expectations, so if Facebook really has trounced Google at the social-network monetization game, that would be huge.

Saturday, April 10, 2010

AMT and stock options

An e-mail came into my mail box addressed to a group of high net-worth friends. Apparently, a group of individuals were trying to put together a sum of money structured as a loan to an employee of a high profile startup in Silicon Valley. The startup has been noted as "the next hot IPO" in the Valley, and an early employee had recently exercised all his or her stock options, which triggered a large AMT capital gain immediately on the difference between the current "fair market value" price and his option price.

Let's take a look at this from an employee point of view: as a private company employee, he's in a very bad spot, since he can't actually sell enough stock on the open market to pay the AMT due. If there was any way he could sell the stock at all, that's the correct way to go. Alternatively, he could attempt a private placement (i.e., sell it to accredited investors) in order to raise the funds. That would however require expensive investment bankers, etc., in order to structure a deal. So it's understandable that he would try to structure a loan using some stock as collateral.

From an investor's point of view, however, this is a bad deal. If the hot startup collapses instead of going public, then the investor loses all his money anyway, since there would be no recourse other than the aid private company stock, which would be worthless. If the hot startup goes public, the investor would have his upside limited to the agreed upon interest rate. The only way such a deal would be attractive was if the investor got equity as well.

Obviously, the best thing to have done would have been for the employee to have read my book An Engineer's Guide to Silicon Valley Startups several years ago, but since it was only published this year, it's understandable that the advice (which is not at all common knowledge) wasn't followed.

Preparing Employees to be Wealthy

Of all the companies I ever worked for, Google put the most effort into educating its employees about financial planning prior to its IPO. I was impressed by the folks brought on campus to talk to us. These included Burton Malkiel, Bill Sharpe, and Robert Shiller. If after this world-class education in financial planning, investing, and basic economics, you couldn't figure out what to do with your money, it wasn't Google's fault for not providing opportunities to learn!

Google also organized financial fairs, where the big name financial firms, local financial advisors, brokerages, and even Vanguard would show up and talk to you one on one to try to sell you on their services, if that's what you felt you need. I didn't go, since I pretty much have my strategy all laid out, but I know others did make use of those services. Over the months coming up to the IPO, I saw more than one high level engineer/old-timer schedule meetings with these crooks financial professionals.

One of my friends did attend, however, and told me this story:
So I was at the Morgan Stanley booth, and O. came up and started talking to the MS rep. As you know, O. is very financially sophisticated, and started asking all these complicated questions about forward-contracts, asset allocation, options, and hedging strategies. You could see the rep's eyes get bigger and bigger. He clearly decided that O. was a potential big huge customer, and put lots of effort into selling him. Then C. came in (C was a serious old-timer with a huge amount of stock), and asked a couple of naive-sounding questions. You could see the rep getting irritated that this guy who by the looks of him wasn't in the same class as O. did was wasting his time and replied very curtly and tried to get rid of C.

At that point I couldn't help myself and laughed very hard. As with everything else, appearances are deceiving, and the sales rep had no way of knowing who the big fish was. Here in the valley, judging people's net-worths by their appearance or mode of dress is a serious mistake.

Review: Freedom

I found Daemon enjoyable, so I looked forward to reading Freedom when it came out. Unfortunately, it came out during a particularly busy time of my life, so rather than buy it, I waited in a virtual queue at the library.

Freedom continues where Daemon left off. We've got a networked AI of sorts slowly infiltrating the world, while a group of plutocrats try to fight back and take advantage of its capabilities for its own ends. As with the previous book, the characters are nothing to write home about: their motivations are simple, and even the (very mild) romance thread seems mishandled.

What the book does do a good job of, however, is to imagine a world where a MMORPG designer had the tools to reshape the way the world worked according to game design principles. You would have quests, levels, and ability to gather resources based on resources, and on top of that, a reputation based economy. But what would people do with it? Could you really run a community, a country, or the world this way? How would the non-digerati react? Dan Suarez hints at some answers, but is better at demonstrating the immediate consequences that unrolling the full implications of the world he has built.

All in all, if you turn off your brain, and then treat this book as a techno-thriller, you won't be disappointed: loud explosions, death matches, and full on fights are common. You could see a Hollywood movie made from this book. Furthermore, there's actually a conclusion: it's a bit pat, and I find it difficult to imagine someone who would actually execute such a vision to have the humility to build in the kind of checks and balances Suarez has him do, but there are no hanging threads and if there's a sequel, it'll have to involve different characters.

This novel is unusual in that it has a bibliography. It's an unusually well-read bibliography as well, including The Transparent Society, a book all too often ignored in the privacy debates, but is a much better book than most privacy advocates give it credit for. Recommended, but I'm not sure I would buy it at full price.

Friday, April 09, 2010

Infrastructure

If there's anything Google loves to build, it's infrastructure. Google had entire buildings worth of machines, and lots of ways to make use of all of them. There's MapReduce, Bigtable, Blobstore, and all sorts of other distributed infrastructure. So much so that engineers frequently told me that they thought that developing without all that infrastructure would be crippling, and would slow them down too much.

The irony, of course, is that companies like FriendFeed gives the lie to that statement. Friendfeed was launched in weeks! If you're not Google, you don't have to scale to billions of users right away. Existing tools can be made to be extremely scalable. For instance, even MySQL can be made to scale. The truth is, launching products at a big company takes a much longer time than at a startup because of non-coding related reasons. In fact, many of the engineers who made that above statement would find creative ways around missing infrastructure if they were at a startup: context is everything.

I remember attending a talk by YouTube engineers after the acquisition (this was at OSCON, so I know it's unclassified information). What impressed me was how closed they always seemed to be to falling over completely. Yet they never did. Then it occurred to me that a startup should always be running at the ragged edge of what their systems can handle: to do otherwise would mean that you're not using all your resources efficiently. By contrast, Google can afford a few under-utilized machines. In addition, all that generic infrastructure has overhead. Generic cluster management software, for instance, doesn't (and can't) know enough about the overall job structure of your tasks to put compute-intensive tasks on the same machine as network bound tasks. But a startup with a customized software stack can do that (and frequently must do so) because they don't have enough machines to do otherwise.

In short, I think startups have to be very careful about building generic infrastructure just because that's the way Google did things. Google built generic infrastructure because its big problem (search) had to have massive scalability right away. Even with a single user, a search engine still has to search as much of the web as possible. But what applied to Google doesn't apply to all startups. Build only the tools you need as the need arises.

GOOG digger

After about 6 months, I finally had enough time to sit down at Charlie's and have a meal, rather than eating at my desk, or more frequently, just snacking rather than eating meals. So sitting down alone in the cafeteria, I was about to get started when I heard an unfamiliar voice say, "Mind if I join you?" I looked up from my plate and saw a gorgeous Asian woman with a tray of food. Well, any geek will tell you that us dorky guys rarely get pretty women inviting themselves to sit with us when we're alone eating dinner, so I agreed.

She was in [department redacted], and we spent the next 15 minutes exchanging details of our work, what we were working on. Since we were in completely different departments, we had lots to talk about that was new to each other (or so I thought). Then she asked me this question: "So... how long have you been here?" My response, "About 6 months."

Not five minutes later, she looked at her watch and said, "Oh no! I have a meeting to run to!" It was already 7pm, and at that time we didn't have distributed offices to introduce time-zone craziness. Off she went, and I never saw her again. I thought nothing of the event and finished my dinner. When I told my girlfriend Lisa the story, she laughed hard for 10 minutes and said, "Next time a pretty girl in the cafetaria asks how long you've been working there, try saying 6 years!" I then realized what had happened and laughed along with her.

Thursday, April 08, 2010

Unicode Names in E-mail headers

If you've corresponded with folks via gmail, you might have noticed that some folks write their English names, and then put their non-English names in parenthesis after that. For instance, in my case, I write: Piaw Na(蓝俊彪).

This use started in my office in 2005. I was complaining to Pengtoh about the pain of using Chinese input methods, and how they weren't actually easy to use on my Linux workstation anyway. Pengtoh pointed me at Mandarin Tools, and I used that to construct my Chinese name in pinyin. We then wondered whether Gmail would handle unicode in the headers fine, so we tested that by sticking our Chinese names in the Gmail settings. (You can find this in the "Accounts and Import" tab of the Gmail settings)

It turns out that Gmail handled Unicode in e-mail headers just fine. We then decided we wanted to see if we could make this convention common. We did this by ourselves, and then decided that we had to recruit non-Asians to make the meme stick as well. So Pengtoh contacted a few more of our non-Asian co-workers, and offered to construct Chinese names for them.

I knew we had succeeded when I started seeing Japanese names in parenthesis, then Hindi over the years. The unfortunate part in the early days was that many other mail readers could not handle unicode characters, either blanking them out, or turning them into gibberish. To solve this problem, I also constructed a non-unicode name for use with those mailing lists and corresponding with people who used these mailers. You can do this by adding more than one entry in the "Send Mail" as part of the Gmail settings. My hope is that all mailers everywhere can handle non-Unicode names in headers eventually.

It's not inconceivable that somewhere else, someone else came up with the same convention. However, I do not recall seeing this convention pre-2005, so at this moment, my best guess is that Unicode names in parenthesis originated in my/Pengtoh/Ovidiu's office in 2005. If you know of an alternate origin, please let me know in the comments!

Wednesday, April 07, 2010

Corporate Culture

Corporate culture is a nebulous term. People use it to include everything from free food to whether or not you can bring your dog to work. I personally think that far more important is the way we interact with each other, and how things get done.

One winter, I decided that it would be a good thing to run a bicycle repair workshop as a series of winter classes. I didn't (and really couldn't) teach every class myself, so I put up a shared spreadsheet, and listed a couple of sessions that I would teach, and then Mark Logan, Ryan Kauffman, Bob Sutterfield all pitched in and taught classes I couldn't teach. It was typical of Google culture that volunteer-ism was common. You could almost always get help from someone if you went up to them and asked about something. If they didn't know, they'd point you to someone who did.

Unfortunately, corporate culture is one of the first things to get diluted when a company gets big. And indeed, when Google got to 5,000, then 10,000 and finally 20,000 people events like this got less common. An attempt was made to formalize events like this as "Googles Teaching Googlers." Pardo's wheel-building lectures were made available that way. While it worked to a certain extent, the formal version to my eyes, were always a pale reflection of the spirit of community that prevailed the the company was much smaller.

Tuesday, April 06, 2010

Food Story 2

Growing up in Singapore meant that I really loved food, and always appreciated good food. However, I'm also cheap, and so never went to any fancy restaurants. It wasn't until Google that I actually had a formal, multi-course Western-style dinner.

By 2005, those of us who were on the Sarbanes-Compliance projects were deemed to be "done". At other companies, this might mean a bonus, but Google had something much better: in-house Chefs who could prepare a fancy meal on a budget. Many people think that the in-house Chefs at Google are an ostentatious perk that was an expensive luxury for employees, but in reality, I think the value Google got out of them in terms of extra work from employees and being able to run award-type events really cheaply meant that the culinary staff more than paid for themselves.

We sat down in a room near Charlie's (this room would eventually become the B40 gym), which had been laid out like a restaurant, complete with a special door from which food would arrive. I'd never seen table-cloths so white, nor had I ever had a place-setting with this many implements. I thought, "OMG, I'm in for a treat."

The first entrée arrived. It was a salad with dressing. I had been trained to get hungry by 6:30, and was starving, so I ate it with relish. Then came the Ceviche. That was really tasty too! Then came the sorbet. I was shocked. That's it? That was my fancy dinner? I was still hungry. "Oh well," I thought, "I can still go grab a burger at Charlie's afterwards." When the main dish arrived after the sorbet (it was Filet Mignon), I finally realized that the sorbet was a palate cleanser, not desert. The rest of the meal was fantastic.

Google ran many other "event"-type dinners. One of my favorites was the chocolate-themed dinner that Chris persuaded Charlie and the culinary team to run. That was a $20 dinner, but my goodness, you got $100 worth of food out of it. Another week, Google's culinary team ran the Cafe Crawl: visit all the Cafes in a week:
Lea and I used bicycles to visit all the Cafes in one lunch period. The reward: a special meal, and a pass that let you skip to the front of the line for a week! Needless to say, I took advantage of that pass to get a huge amount of sushi.

Google cafeteria reached their height in 2007 --- when I visited Paris in 2008 for a culinary tour, I unfavorably compared some restaurants in Paris to Google's Cafe 5IVE, for instance. I was sad to return from Germany to discover that many of my favorite Chefs had left. Olivia Wu and Scott Giambastiani are still at Google though, and they still turn out meals that could blow your mind if you were used to the typical corporate cafeteria.

There's a talent war brewing in the valley over corporate Chefs, so hopefully, having great food as part of your compensation package will be more common.

P.S. I'm fasting for an annual physical/blood-test, and writing this post while fasting was a mistake!