It's strange to be back in Toronto; in part because it isn't strange. Some paradox, huh?
It feels a little like picking up a book about my Toronto life that I was enjoying earlier and continuing the story.
It feels a little like putting down a book about my San Francisco life and taking a walk in the real world outside of the story.
But the strange part is that this isn't my story anymore, even though it's so familiar. Like watching a play that you acted in for decades, and hearing another voice recite your lines. I know these streets, I know these people, I know what it feels like to have them be mine, but they're not anymore.
It feels a little like I'm a ghost, haunting the people who belonged to my past. Like I'm cheating time and fate by even being here. I've gone back in time, because that's when I belonged here, and they've gone ahead in time, because it never stopped for them, and somehow we're going to make those two directions meet.
It's confusing to explain, because it's confusing to experience, but such things aside, I'm thrilled to be here. I may be haunting Toronto, but believe me when I say that I'm a very happy phantom.
Managing a team of programmers has been described as " herding cats".
Programmers are stubborn, fiercely opposed to change, and probably one of the most difficult types of
people to get to collaborate without the use of cattle prods.
This is probably why many people imagine absolute chaos when they hear about Google's
management process.
As Steve Yegge puts it:
"Google has a philosophy of not ever telling developers what to work on, and they take it pretty
seriously."
Here's an example of what this means. Soon after arriving at Google, Neal Norwitz contacted me to see if
I'd be interested in joining a group at Google that promotes developer testing. I attended a few
meetings and soon found something that I could help with: at an upcoming fixit day, they needed more
volunteers. So I offered to grab a bunch of new Google employees (even newer than I) and lead a noogler
army of volunteers that day. I also volunteered to give a small tutorial on unittesting on the fixit
day, and I'm now giving the unittest lecture to new Googlers every few weeks. I plan on getting involved
even more with this group during this upcoming quarter.
Note the lack of managers in the above story.
So how could this possibly work? How could you have Google employees running around in whatever
direction they want? What's to stop engineers from just picking the glamourous tasks and leaving behind
the important but less fun tasks? Remember in Brave New World when
they describe an all-alpha society that resulted in civil war because in a society of all-geniuses, no
one wanted to clean toilets? Wouldn't Google suffer from the same problems?
A few weeks ago I took a look at an internal app that I was working on and decided that it needed a
facelift. So I spent a bit of time putting together some Javascript and a new CSS file until it looked a
lot more Googley and altogether pretty damn nice (if I do say so myself). After my changes got rolled
out, the praise started coming in. Everyone who used the app was thrilled with the new changes,
especially those who spent large parts of their day just staring at the app. Now at least they had
something nice to look at.
The peer-praise system at Google, in my limited experience so far, is incredible. When you do a good job
at something -- whether something that advances to company goals, or just something that's been bugging a
few engineers -- you hear about it. And you have to remember that your peers at Google tend to be
extraordinarily bright people whose respect and gratitude actually mean something. Not only that, but
because the majority of your performance review is based on peer reviews, it actually has a large impact
on you.
But it goes beyond just peer thanking. Every Friday the company gathers to hear about recent launches,
and the names of everyone involved in those launches are displayed for everyone to see. There are also a
number of rewards and incentives for working on important projects. And by "important", I don't mean all
those cool sexy outward-facing Google applications. I mean the often-forgotten jobs too: the people who
accomplish large sysadmin tasks, or the people who get something in the backend to run faster, or the
people who manage to scale an existing project to handle an even greater capacity. No users of Google
see these changes directly, but Google recognizes how important they are and rewards them just the
same.
However, beyond anything else, the biggest motivator at Google is gratitude. You've been given a job
that is quite possibly the best job in the world, and an uncountable number of perks have been thrown at
you. There is the very real sense that Google loves you, and really does appreciate that you, as an
individual employee, is working for it. And in exchange, you find yourself loving Google back.
It's difficult to describe exactly how much love Google showers upon its employees, but Steve
Yegge has a good analogy:
"When friends who aren't at Google ask me how it is working at Google -- and this applies to all my
friends at all other companies equally, not just companies I've worked at -- I feel just how you'd feel
if you'd just gotten out of prison, and your prison buddies, all of whom
were sentenced in their early teens, are writing to you and asking you what it's like "on the outside". I
mean, what would you tell them?"
When I'm sitting here in Toronto, explaining to my friends how awesome Google is, I know that they can't
possibly understand the magnitude of "amazingness" that I mean. Even if they let their imaginations run
wild, it might not cover it.
As I brainstorm what goals I want to set for myself (note: set for myself) for the upcoming
quarter, I actually get excited about what I might be able to accomplish. I know some bugs I want to
fix, features I want to implement, documentation I want to write, tests I want to put in place. I want
to maintain a high level of software engineering vigour because Google as a whole is very disciplined in
these things and I want to participate.
There's no "herding cats" at Google, because they don't hire cats. They've hired a bunch of kittens who
are full of love and enthusiasm and more than happy to roll onto their backs and expose their soft tummy
in hopes of getting even more love. We wear our Google t-shirts with pride because we really do love our
company.
So if you attend the Google tech talk at UofT this evening, and you ask " What's the downside of
working for Google?" and you hear us all laugh and smile knowingly at each other, it's not because
we're keeping something from you. It's because we wish that you could possibly understand: we can't find
a "catch". The recruiters aren't lying to you. It really is the amazing paradise that it sounds
like.
Google just launched a /* Code Search */ product for
searching through lines of open source code.
My favourite search so far?
Google Code Search for "uh
oh". It amuses me to see all the situations in which programmers feel that "uh oh" is an appropriate
commentable reaction to a branch of the code.
Can you find any other amusing searches?
When you're on the road, you gotta get your wifi where you can.
I'm not exactly surprised by this information, but the videoclip nonetheless has some excellent
soundbites from a variety of Jon Stewart's shows.
(If you have trouble watching the clip above, you can also watch it here.)
This is quite possibly one of the finest things to appear on television. As far as I can understand,
this represents the heart and soul of public access television. Prepare to be amazed.
You think you've seen public access painting shows? YOU DON'T KNOW PUBLIC ACCESS PAINTING
SHOWS!
Let's Paint and Exercise TV!
Let's Paint, Exercise, and Eat Pie Live TV!
Let's Paint, Exercise, and Blend Drinks TV!
Let's Paint, Execise, and Cook TV!
And there's lots
more where those came from.

Yesterday I got to see John Hodgman read from his latest book and entertain us all with his brand of
straight-faced expert of everything [that may or may not be true]. He's probably best known as the " I'm a PC" guy from those amusing Apple commercials.
But those familiar with the Daily Show would know him better as the "resident expert" on issues such as
net neutrality and the series of tubes, the fact that India and Pakistan are in fact two different
countries and of course the new system for identifying a person's skin colour (paint
samples).
He's just as funny in person as he is on TV.
Someone found this
article on The Examiner the other day for me and pointed me at it:
YouTube fits very well within the Google online media portfolio. The company already owns Blogger.com,
the most popular blog hosting site online, and Google News, which in two short years has become one of
the top news sites in the world.
Don't think it matters? Consider that, according to USA Today, 98 percent of the money donated to
political parties by Google employees - "Google Millionaires" - went to Democrats.
But it's not just Google's media
and financial muscle that benefits the left. Liberals run the leading blog search engine -
Technorati. They run the leading blog software manufacturer - Six Apart. They invented two of the most
important blogging technologies - Podcasting and RSS. The list goes on and on.
"Oh my gawd! Web technology is being taken over by the left! Run for the hills! Society is about to
collapse. You know what's going to happen if this trend continues, right? Soon they'll turn the Google
front page into a manifesto that man-on-pumpkin sex is an inalienable right and should be taught to
children. Damn their leftist agenda!"
Of course, the article is wrong and political contributions from those in a computer/internet career tend to contribute evenly between the two
parties.
But it's an interesting thought-experiment nonetheless. If there is some sort of correlation between
working in the technology sector and left wing politics, which is the cause and which is the effect? Or
are they both symptoms of some other factor?
Yesterday I went to go see the movie Jesus Camp (trailer above). Regardless of your views on
evangelicalism, this is a must see documentary. Though its primary focus is on religion, it also
deals with issues of indoctrinating children, politics, and the morality behind fighting fire with
fire.
And I do have to say that watching a crowded room of 5-10 year olds waving their hands wildly if asked if
they're ready to die for their faith is quite possibly the most frightening thing I've ever
seen.
Becky Fischer, whose camp is featured in this documentary, has a website where she sells educational religious kits for children
including some of the fine items below:
I really, really do recommend, however, that you go see this documentary for yourself. You're free to
form your own opinions about the subject matter, but at least make sure that you get out there and hear
what the movie has to say.
The other week when I was at my parents' house in Toronto, I noticed that their bed had an awesome
looking headboard. Further prodding revealed that my mother had made it from scratch. I decided to
follow suit. Today when I got home from work, I created my own headboard. Check it out! (Excuse the
poor quality of photos, I was using my laptop as a camera.)
To make awesome bed headboard you will need:
- A staple gun
- Three squares of plywood whose length sum equals the width of your bed
- Enough fabric to wrap each piece of plywood
- Quilting padding
- Industrial strength velcro
I had to borrow the staple gun from a fellow Googler, but the rest was available at a hardware store and
fabric store. Alright, what now?
First cut the quilting padding into the right shape and place over each piece of plywood.
Next cut the fabric. You want enough that it fully covers each square of plywood and has lots of extra
room so you can fasten it on the other side.
Staple the fabric to the back side of the plywood. Start by stapling the center of each side.
You have to pull pretty hard to make sure that you're making it tight enough. Once you've stapled the
center of all four sides, make additional staples where necessary to keep the fabric tight.
The front of your plywood "pillows" should look something like this:
Next fasten the velcro to the wall behind the bed. Two things to keep in mind: make sure your bed is
centered in your room, since you can't move it later; make sure your velcro is parallel to the
ground or your headboard will be crooked. If you were smart, you'd have a leveler to help you with
this. If you're me, you do it with measuring tape.br/>
Attach the other end of the velcro to the back of your plywood "pillows". Stick 'em on the wall!
Now you get much the same look as a bedframe, but don't have to spend hundreds of dollars on one. Ooooo.
Aaaaah. Thanks for the tip, mom!
From the Washington
Post:
To understand the corporate culture at Google Inc., take a look at the toilets. [...]
Google employees are encouraged to make good use of their downtime: A flier tacked inside each stall
bears the title, "Testing on the Toilet, Testing code that uses databases." It features a geek quiz that
changes every few weeks and asks technical questions about testing programming code for bugs.
The toilets reflect Google's general philosophy of work: Generous,
quirky perks keep employees happy and thinking in unconventional ways,
helping Google innovate as it rapidly expands into new lines of
business.
Check it out! Testing on the Toilet ( flickr pic) is just one of the
initiatives run by Google's testing grouplet that promotes developer testing at Google.
I joined the testing grouplet within my first month at Google, and now I've somehow landed myself with
the task of being one of the three people who runs the group. Specifically I wrangle the nooglers into
helping us with time consuming tasks like posting these "testing on the toilet" posters in the stalls
every single week, and then using it as a gateway to get them more involved with testing in the rest of
their google career. It's a big task! The job involves a bunch of other propaganda
media
initiatives to help educate developers about testing, and to advocate why it's so important.
Needless to say, it's quite amusing to see our "testing on the toilet" program picked up by the
media.
Today I got a plant for my desk at work.
And just because my plants have a life expectancy of a Spinal Tap drummer doesn't mean that I'm going to
kill this one! (Stop being so negative.)
My plant doesn't have a name yet, but its a totally weird plant and that makes me love it.
Reminder: there's only a few days left to submit
your talk for PyCon 2007 (Feb 23-25) in Addison,
TX.
If you have something interesting to say about Python, any projects that involve Python, or any planes
you were on that also contained Pythons, I highly encourage you to submit a proposal.
Not only do you get a chance to be heard in front of some of the leading Python developers and other
smart people, but you also get the chance to hang out with me for a few days! Which is, of course, the
best incentive I can offer. :)
|