Robert Heaton

Software Engineer /
One-track lover / Down a two-way lane

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.

Why?

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 freepik.com)

Who?

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

  • Work at Silicon Valley unicorns
  • Work at outsourcing firms in North Africa
  • Are trying to get the hang of what variables and functions are
  • Are in high school and cobbling together a computer science curriculum for themselves from YouTube
  • Are changing careers
  • Work for the Indian government
  • Are about to leave university, are looking for their first job, and are hoping for reassurance that it’s not always this miserable

How?

  • Listen
  • Ask questions
  • Be careful about giving advice
  • Don’t assume anything

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.

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.