Rob Reiner: "Whatever you like to do, do a lot of it. Do it every day."

Photo of Rob Reiner from Wikipedia, source Neil Grabowsky / Montclair Film Festival

I was fortunate to have met and shared a meal with Rob Reiner some years back. I wanted to take a moment to share this story on the sad occasion of his death this week.

It was 2003 or so. I lived and worked for Akamai in Boston. I had been going back and forth to San Mateo office a fair bit that year, often taking a red eye home from San Jose. Back then the San Jose airport was smaller than it is now, and was especially quiet at the evenings. Not a lot of dinner options, so McDonald's it was.

That day I was surprised to recognize Rob Reiner in line right in front of me! He was traveling with some assistant-type person, patiently waiting. I tend to not bother celebrities in public, but I was moved to say something.

Sef: Hello Mr. Reiner. Forgive me but I just wanted to say how much I enjoy your work. I'm a really big fan.

Rob Reiner (big grin): Hi! What's your name? Thanks for introducing yourself. What have I done that you like?

I think he genuinely wanted to know. I knew his big films pretty well — When Harry Met Sally was the most popular, A Few Good Men had been up for Best Picture, Spinal Tap is well, Spinal Tap. These are all really great films.

Sef: The Princess Bride, hands down. I love the story and I love what you did with it.

Rob Reiner: I'm glad you said that. That's my favorite too.

Hearing that was more than I'd hoped for. I thanked him and begged off so he could order his burger and have dinner in peace. But no, in that New Yorker voice and with a big smile he said, "C'mon, let's have cheeseburgers!" The three of us all sat.

We had a nice talk over dinner. He asked questions and seemed genuinely interested in what I did -- work, family. But the highlight was toward the end.

Rob Reiner: What else can I answer for you?

Sef: What would you tell someone early in their career?

At this point I was about thirty years old, so hardly that early in my own career, but I was asking in a genuine way. He answered straight away.

Rob Reiner: Whatever you like to do, do a lot of it. Do it every day. Me, I like writing so I try to do that of it every day if I can. That's how you get good.

He then told a few stories about people he'd met who don't do this. I guess when you're someone like him, people ask you frequently for jobs or if you'd produce their movie or whatnot. He said he asks what was the last thing they'd written, or what they were working on now, or what'd they'd written today. And he could tell if they did it often and did it for fun. If they didn't do it often, then how good a writer were they likely to be?

I was struck by what a nice and interesting, and interested, person Rob Reiner was. It was incredibly generous for him to spend time with a fanboy when he could be off duty and just enjoying his cheeseburger. What a gem.

No More Blog Comments

💩

I turned off comments on this site today. The good people at Disqus had provided me with a free service for commenting that had worked for ten-plus years. But they appear to have gone down the enshittification path and started running a bunch of link-spam right above the comment box on all my pages. Of course they did. I captured a screenshot if you want to see. Boo.

Shame on me for entrusting a company to handle content for my personal site in the first place. Isn't controlling things the whole point of this old-school blog business? Not a big loss, nobody had posted a comment in a long time. But still.

Three Months

I've been off work for about three months now. It's a good occasion to take stock of how that's going. In a word, it's been great.

Meme from the movie \

  • I'm surprised how much lighter my mood is. It feels like a weight that I've been carrying around for some time is no longer there. It's different than being on vacation, better actually. I didn't appreciate how stressful tech management has been all these years.

  • I'm taking a ton of pleasure in simple things. I go grocery shopping almost every day, I'm doing a ton of cooking.

  • It feels good to get healthier. I had knee surgery and am recovering from that just fine. I exercise nearly every day. On days that I don't go to the gym I do thirty minutes on the bike.

  • It's great to have flexibility. I hadn't planned to see my Dad on his 80th birthday because we'd on a bigger group thing later. But on a whim I drove down and took him out for breakfast on his actual birthday, because why not.

  • If I didn't want to do it before, I still don't want to do it. The closet hasn't gotten cleaned out; neither has the garage.

My friend Rachel Grey has a three month head start leaving Google. Her writing this resonates with me. Especially this from recent LinkedIn post (private, sorry): "one month off per year of service is a good rule of thumb; after six of them, I'm still feeling like a sailor who just barely managed to swim to shore." Maybe that's still where I'm at too.

So what have I been doing? I'm prioritizing friends and family — I'm lucky to have a lot of people I care about. I'm embarrassed that I haven't always been good about staying in touch, but I can fix that now. And fun stuff like bridge lessons.

Beyond that, I'm getting involved with a couple of small projects but nothing serious yet. When I find something interesting, I'll write about it here.

Leaving Google

Sef holding a framed certificate, Google ten years of service.

An offer of a Voluntary Exit from Google HR landed in my mailbox right around my ten-year anniversary with the company, give or take. We'd had a couple of packages like this at Google before (news), basically the same deal you'd get if you got laid off. But this was the first one put in front of those of us working in one of the revenue engines of the company — I worked on Search.

I wasn't aiming to leave. I liked the work, I had a good team and boss. But the package was enough to kickstart a discussion, "why not now?". My wife and I ran numbers and discussed our futures. I clicked the button. My last day as a Googler was earlier this week, October 4th.

I have good feelings about my time at Google. It was nice that I saw a some different parts of the business: some consumer (three years at YouTube, four years at Search) and some enterprise (three years at Cloud). I got to play with big infrastructure and solve some hard problems. I saw behind the curtain. But the best part was the smart and interesting people I got to work with. I know it's a cliche, but it's the truth.

Not everything was great. I've decided to not use this space for dishy stories about how Google isn't all it claims to be. But I sure do love reminiscing and grousing as much as any engineer. If you want to share war stories over a beer, I'm always up for that.

What's next? I haven't decided if this is retirement, or a sabbatical, or something else. I've been off work for extended stretches twice before, once by choice and once not. Those two times taught me that the difference between a wonderful, mind-expanding time and a stress-fest is my own mindset. And now that I haven't been really working for six weeks now, I can confidently say that my mindset is positive and good.

I'm excited about the next phase. I feel fortunate to have some time to focus on what's important.

A Good Interview Question

Python language logo

I liked the question that I got when interviewing at YouTube in 2015. At Google then we'd have an interview panel of four or five people, each assigned to cover a different area. Billy Biggs was the TL on my panel asked to evaluate "architecture." For a manager candidate that mostly meant evaluating technical cluefulness (someone else had me do some simple programming).

Billy's question: Discuss what would cause a Python interpreter to crash. Not a program written in Python, but the interpreter itself.

I remember this leading to a fun, rambling, back-and-forth discussion of the ways computers can fail. There are so many! Every level of the stack can fail in interesting ways: storage, RAM, memory management, networking. How would a bit flip in a TLB manifest? How does TCP/IP detect and handle ordering? collisions?

We also covered a bunch of engineering and process questions. How is the interpreter itself implemented, in what language and by whom? What would the quality processes be like for a product like that, especially given Python is presumably a really large open source project? How would you manage this? How important to quality is the role of the BDFL?

And then that lead to a some more interesting higher-level discussions about the actual costs and benefits of addressing failures like these in the field. When should programs hard-fail versus detect and recover? How would you staff an engineering team to find and chase down errors? What's the user impact to a failure like this?

One of my favorite things about this question is most likely it was something they'd actually seen right in their backyard. In 2015 significant parts of YouTube was written in Python (that's likely not the case anymore, I don't know). Crashes like these must have come up in the field. Not only are real-world problems relatively easy to ask, but they have the added benefit of showing the candidate the kinds of issues that the team actually deals with. It's also a well-shaped question: open ended, no right/wrong answers.

I got the job.

Naming Is Hard

Photo of Lena Forsén

This is a story about how hard it is to come up with a good name.

This was in 2013. I was part of a team building a system for online education at Stanford. We launched a nice little site, Class2Go, with a small team in a few months. It worked well and supported the basic features of an online course: videos, assessments, auth, reporting. We decided to keep it going and worked on it for another year, expanding the covered use cases and taking on more classes.

But even from the beginning the name Class2Go felt a bit off. Our original aim was to enable offline MOOC students, people trying to take classes offline or in poorly-connected places But we ended up pivoting away from the offline use case to more standard hosted-course features. It became a little multi-tenant CMS with a small database for auth, assessment results, and some basic analytics.

We decided to rebrand. Someone knew a naming consultant, presumably an alum, and soon enough we had an expert on board. They were really interesting to work with. After understanding the platform's goals and features, they generated hundreds of candidate names. Each was vetting for domain name availability and copyright conflicts. The consultant was good at their job, bringing us something like a hundred candidate names (I wish I still had that list).

One name caught everyone's attention: Tindra. It's a Swedish word that means "sparkle" or "twinkle." It's evocative and easy to say. It also happens to be a woman's name, but not a particularly common one we were told.

Surprisingly, tindra.com was available! In 2013 short and catchy domain names were getting hard to come The new gTLD program had only just been approved in 2012, and .com and .org were pretty crowded.

The problem was that if you Googled "tindra," the top result was a Swedish adult film actress! Not good. Maybe with enough SEO juice, over time, we would have overtaken that. But on launch day, that's not the association you want to have.

We ended up punting on the problem and going with a generic name, Stanford Online. It got the job done, but felt like a missed opportunity. We later merged with edX and I found another job. Eventually the team re-branded the site with the name Lagunita, the name of the lake on campus, which they're still using today. I like it.

I admit I still have a thing for Tindra though. The name, not the actress.

Postscript: tindra.com still doesn't seem to be used for anything today. It looks to just be parked by a German domain registrar. Google results don't seem to be a problem. Maybe it's available for something interesting?

Thanks to Jane Manning for her review, she was there too.

Learn From Experiments

Line art of an experiment

What's the value of an experiment or a prototype?

There are all kinds of ways to have impact. A feature can improve user experience; a hardening project can reduce risk of a production outage; refactoring or test coverage can improve velocity or make software easier and safer to maintain. And good engineers care a lot about impact. While it's not the only thing that matters (the "how" is important too), if you start with impact, you'll generally do well.

An engineer's job to put ideas into practice, to make things. But sometimes we're not sure what to make. Or we think we know, but aren't sure it'll work. The best way to figure that out is often running a set of experiments, or maybe building a prototype (an n=1 experiment).

But crucially, an experiment doesn't have value itself. An experiment is successful only if we've learned something. The intent of the test rig or prototype isn't to live on. Indeed, knowing that we plan to throw it away is part of what makes it fast and cheap to build, and it shouldn't have all the trappings of production-quality software, like test coverage and code reviews.

So how do we ensure that value gets delivered? When you work in a team or a company people turn over. It's not just enough to do the experiment, you need to write it up and share your results. To produce a good writeup, you should:

  1. Figure out the hypothesis(es) you're testing. Often this is in the form of one or more questions. For prototypes, it might be a boolean, i.e. we can build X that will work. But even then, consider what "done" means. Stating your hypothesis in terms of a metric is often easiest. NB I find the goal/driver/guardrail framework from Thanks Diane's book helpful, Trustworthy Online Controlled Experiments.

  2. State your assumptions and method. This is where you usually get the most feedback. Note that this usually isn't a project plan, as your reviewers usually don't care how long it takes or what happens when.

  3. Seek feedback from your peers. Publish the doc stating the method to have smart people poke holes in your plan and make sure what you're measuring will actually address the hypothesis. And then when the experiment is done, get it reviewed by someone senior to ensure that your work supports your conclusion. This also spreads knowledge about this work (both that you're doing it, and the results) so the overall organization benefits.

The artifact produced has many benefits. It's useful for you as you discuss follow-on work; it's useful come performance evaluation time. But most importantly, it benefits the organization. Contemporary and future peers can learn from this work.

You'll benefit from taking the time to write it up, the reviewers learn from reading, and it'll live on past your time with the team.

Sponsoring

One person helping another while being graded

Sponsorship is using your position and influence to help someone get ahead. It's similar in many ways to mentorship, the topic of my last post. But sponsorship is a bit tricker. Most people understand mentorship and have good feelings about it. Sponsorship is a bit less familiar and might even feel a bit unseemly — at least it used to feel that way to me.

Although I'd heard the concept before, a talk Carla Harris gave at Google in 2022 made an impression on me and brought it to the forefront. (She has a 2019 TED Talk that hits a lot of the same points). She spoke about the value of sponsorship, both on the receiving end early in her career and now as a sponsor herself. More than just her description, what I most appreciated was her candor. It gave me a permission structure to use this concept myself. I started using it with junior engineers when thinking about their careers; I thought about it myself when debugging how some decision played out. It also helped me to think of it less judgmentally. Now I see it as being thoughtful and pragmatic about how decisions are made.

So what it it? Sponsoring is similar to mentoring in that it's an investment in someone, but the mechanism is different. Mentoring is a commitment to problem-solve issues as they come up, teach skills, and serve as a sounding board, amongst other things. Sponsoring is more strategic. The sponsor is committing to understand the sponsored's goals and strengths, and (here's the important part) help them get ahead. The time commitment isn't as large, but the actual commitment is greater. Assuming they see eye-to-eye, the sponsor commits to putting their reputation on the line to help the their person achieve their goals. Some examples would be vouching for the sponsored during a staffing conversations or seeking out and advocating for them when opportunities comes up.

In some ways, sponsorship acknowledges and even co-opts the "you have to know somebody" way that the world actually works. Underrepresented groups can benefit from sponsorship as a way to wedge into existing power structures. If that describes you, consider asking for someone to explicitly sponsor you; if you're in a traditionally privileged group, consider sponsoring someone who isn't so much. My Google peer Rachel observed: "women are often over-mentored and under-sponsored."

Maybe You're Going Up For Promotion

With this in mind, let's apply this to promotions.

Try as we might to bring rigor and de-bias these decisions, they are complicated and are made by real-world humans. Organizations rely on their senior people to bring their experience, knowledge, and judgment to bear.

Consider how the promotion decision will be made for your case. One key question is who'll be in the room? This isn't just who is invited and who will attend, but more who will be influential in the discussion and decision making process, and for what kinds of questions. Not everyone has an equal voice.

Say you're an engineer going up for promotion to senior engineer. Then likely a senior tech lead (not necessarily your tech lead!) will be asked to speak to the quality of your work (e.g. good code, considered alternatives, future-proofing). A senior manager will likely be asked to assess how well you worked with others and made good decisions. And these are just two of the factors — there will be many others depending on your role and level. You need to work down the rubric and think through who'll be asked to attest to each area as it comes up. Who will be asked to speak to concerns when they're raised ("was that really that hard?")?

Sometimes you might know who the key person will be, but often you won't. Enlist your manager or other senior leaders to think it through with you. Game plan the decision out.

And then assess their level of support. This may be something you can do yourself (if you have a relationship already) or maybe you'll need your manager's help. But somehow you need to ask them, as candidly as you can, "If asked about X, what will you say?" It can sometimes be hard to get an honest answer, so you may need to push a little. Reassure them you'd much rather know now if you have their support or not and you're not going to hold it against them.

If you don't have their support yet, that's OK. Think about work you can do to change that over time.

Day-To-Day Decisions

Not all decisions are as high-stakes as promotions. Leaders make decisions all the time, like whom to trust to lead a project or run a meeting. I like to think about these small-but-important decisions too in the context of sponsorship. Is your manager your sponsor? What about your TL?

Thanks to Josh Loftus, Maren Stever, Jane Manning, and Rachel Grey for their reviews.