Robert Heaton

Why I have office hours and why you should too

05 Dec 2019

Since the summer of 2018 I’ve been offering open office hours. This is a ten-dollar way of saying that I’ll talk about computer programming with anyone on the internet who thinks that this might be an interesting thing to do. I’ve since spoken with over 50 people, on every continent except Antarctica, which I don’t think should count. I’ve learned a lot about being a technical therapist and about how people learn (or don’t) about computer programming.

It turns out that you don’t need to ask anyone’s permission to do this kind of thing. You can have office hours too.


It’s nice to feel useful.

No matter who you are, someone somewhere would benefit from talking to you. If you’re three months into your first job then you might be the perfect confrere for someone who is just starting to look their first job search. If someone is at exactly the same point in their career as you then you might both have a fun time swapping notes. And if you’re generally a pleasant person (and I’m sure you are) then almost anyone will at least have a reasonable time chatting with you.

I’ve learned a lot from my office hours. I’ve learned how people do and don’t learn programming. I’ve found invaluable ideas for future writing projects. I think I’ve become a better communicator, and have learned that it’s important to listen a bit before launching into a long advice monologue. Sometimes it’s even advisable to skip the monologue altogether.

Previously I would never have missed an opportunity for a good monologue.

If we’re doing a cost-benefit analysis then the cost is the ten minutes it takes to set up a /office-hours page on your website. The benefit is somewhere between nothing and everything. Those odds are mathematically not well specified, but I still like them.

(Vector from


I have no idea who you’ll talk to, it depends on who gets in touch. I’ve spoken to people who:


At first I was very anxious that people would demand details of databases and distributed systems that I didn’t know anything about. But most people have wanted to talk big picture career strategy and personal development, and even those with specific questions understand that I don’t know everything. I’ve become better at saying “I’m not entirely sure, but here’s an idea…”

How do you start?

Set up a page on your personal website at /office-hours describing what you’re offering and why (here’s mine). Say that I told you to do it if you like. Tell Twitter or your friends or whoever it is that you tell about things like this. Then check your emails and see what happens.

See the links below this post for more about my office hours experiences.

Follow me on Twitter or RSS

Subscribe to my new work on programming, security, and a few other topics. Published a few times a month.

NEW: Also subscribe to my new series, Programming Feedback for Advanced Beginners

More on Office Hours