Fair warning, this is not a description of a typical programmer’s day. I
am not a typical programmer, in fact my wife constantly reminds me that
my sanity is also questionable, but I do love my job and I live quite
far from it … oh and I don’t have any children at home.
am – wake up, roll out of bed, feed the 3 cats in the house and the
outdoor cat that has adopted us, start the coffee machine (at most one
cup in the morning … before I get to work)
am – wake the computer from sleep (both Mac laptop and pc, I have 2 PCs
and 6 Macs at home … don’t ask how many more are in the closet), launch
email, begin stretching exercises, leg kicks, shoulders, back, get the
am (or earlier, depending on much stretching I actually feel like
doing) – answer emails from China (we have a dev group there), answer
other emails. Check on the build that happened on my Mac (using ARD via
VPN to work) and make up the list of things to do for the day.
7:30 am – shower, have breakfast
8:00 am – determine method of transport, either bicycle or commute with one or more fellow MacBU people.
8:30 am – 10:00 am – commute to work. I live in San Francisco; work
is in Mountain View … it’s a long ride via train or car, no matter how
you slice it.
10:00 am – check email, check bugs and get to work.
I have an 8-way KVM switch, one pc, and four Macs at work, plus the
Mac laptop from home. Two
of the Macs are x86 based, two are PowerPC based. One of the PowerPC
Macs is devoted to the building and debugging Office 11. All the other
machines have the latest sources from Office 12. Right now my major
responsibility is fixing OLE bugs within our source base. Unfortunately
the code is has been through so many changes for this revision, first
it was moving to Mach-O, then to XCode and finally to Intel, that I
need to run the Office 11 debug builds on one machine and compare them
to the Office 12 build on another machine. This way I can hopefully
figure out where the bug actually originated from.
After two or so hours of debugging and staring at code I have to eat. We’ve
got a pretty decent cafeteria here at the campus, supposedly it’s
better than anything in Redmond, but never eating in a Redmond
cafeteria I’ll let those bloggers from the north comment on that. There
is typically a bunch of us sitting outside on the patio hanging out and
talking for anywhere from 30 minutes to an hour, then it’s back to work.
try and make sure my meetings are all in the afternoon, not that it
always works out that way, but usually I’ll have anywhere from 1 to 2
meetings a day in the afternoon, except Tuesdays and Fridays which are
typically free (any PM reading this blog who schedules a meeting with
me on those days is dead!I’m warning you right now …J
– 5pm – typically a couple meetings, working on bugs, answering more
emails and overall trying to stay focused on what needs to get done at
5pm – anytime after 5 I am figuring out how to get back home, I usually leave work between 5:45 – 7pm depending on driving. If
you have ever commuted in the Bay Area you know that if you drive, it
doesn’t matter when you leave between 5 and 7, you’re still getting
home at the same time, especially from the southbay going north.
pm – 8:30 pm – usually get home around this time, my wife usually walks
in the door around the same time, dinner starts anywhere from 9 to 9:30
and we’re done by 10.
on the day, I’ll watch a TV show (I’m a TiVo guy … sorry media center
dudes), whether it’s Battlestar Galatica, Eureka, 60 minutes or Jon
Stewart, something to relax the brain.
pm – 12:30 am – answer emails from China, make sure the home printer is
working ... never fails that the wife always seems to break the printer
every night ... sorry honey but it’s the truth. Get the home machine building with the latest updated sources and hit the sack…
I said, I’m not the typical programmer, so my hours vary depending on
what I am focusing my attention on at the current time. I should
also point out that when I’m not programming /debugging during the day
I’m writing papers or doing research for the group on a variety of
you can imagine some days are more meetings and some days are more
debugging/programming (just a friendly reminder to those PMs out there
... don't even think about scheduling me for more meetings ...).
Personally I would love to spend all my days just programming,
designing and debugging but one thing everyone knows who develops
software professionally, you can't escape the meetings or email unless
you ... well I haven't figured out how to escape either of those things
during the work week, so if you know could you email me!