“Maker vs Manager Schedule” Is Essential Reading if You’re a Software Developer

March 15, 2021

Meetings ruin your productivity. If you’re a developer building complex applications, you should follow the Maker Schedule.

My Big Problem

As a software developer, I hate meetings. If you’ve worked as a developer, you probably understand.

To me, meetings feel frustrating and demoralizing. If I have a meeting scheduled, I often feel like I can’t accomplish my coding goals.

You may have noticed this, too. If you have a meeting at 1pm and another at 3pm, the hour in between the meetings feels unproductive. One hour simply isn’t enough to get complex coding work done.

As a developer, a meeting costs you a lot.

An Important Idea: The Maker Schedule

It wasn’t until I read Paul Graham’s “Maker Schedule, Manager Schedule” that I really grasped the problem. After reading it, I consider that article required reading for all software developers.

Maker's Schedule, Manager's Schedule _"...the mere consciousness of an engagement will sometimes worry a whole day." Charles Dickens July 2009 One reason…_paulgraham.com

Feel free to stop reading this article and go read Paul Graham’s. It’s really that good and insightful.

But if you’re still here, I’ll make the case for why every developer who’s serious about their craft needs to understand the Maker Schedule and what it means for getting work done.

Along the way, I’ll summarize some of the key points from Paul Graham’s article and add my own emphasis on what’s important for developers.

Definitely read the original article! But come back here once you’re done for the developer-specific advice and lessons I’ve learned applying the Maker Schedule in my work.

Makers Work Differently than Managers

The guiding thesis of Graham’s article is that there are two ways to work:

  1. Manager Schedule — Need to accomplish many smaller tasks and conversations in a day. Usually have an appointment book blocked off into 1 hour or 30 minute segments for meetings and to-dos.
  2. Maker Schedule — Need large chunks of time in order to accomplish breakthroughs in complex tasks. 1 hour is barely enough time to get started writing a book, building furniture, or (in our case) coding complex software

For a manager, creating a new meeting is simple. It’s just a matter of finding an available time in their schedule.

For a maker, adding a meeting to the calendar means breaking up a big time block into smaller blocks. One meeting can ruin half a day for a maker!

Graham’s words:

When you’re operating on the maker’s schedule, meetings are a disaster. A single meeting can blow a whole afternoon, by breaking it into two pieces each too small to do anything hard in.

Like what you’ve read here?

I share my best content with my email list for free.

Join 500 other developers currently in my email series.

Cascading Effect of Meetings

Graham goes on to say that even the mere presence of a meeting on the calendar can cause cascading effects.

I’ve definitely felt this. If I know I have a meeting in a few hours, I’m less likely to start on something ambitious.

Not to mention I have to remember to go to the meeting! It’s not uncommon for me to get sucked into a coding problem and completely lose track of time or forget I have an upcoming appointment.

Once again, Graham summarizes the feeling well:

I know this may sound oversensitive, but if you’re a maker, think of your own case. Don’t your spirits rise at the thought of having an entire day free to work, with no appointments at all?

Well, that means your spirits are correspondingly depressed when you don’t. And ambitious projects are by definition close to the limits of your capacity. A small decrease in morale is enough to kill them off.

Being a Manager Isn’t a Problem

I want to be clear: managers aren’t the enemy.

We need people to plan, collaborate, oversee, and map big projects. As a developer, your manager is actually a huge asset who helps fit your work into the larger picture of the business.

Similarly, we need salespeople, customer success, and operations professionals in order to sell software and be successful. Those people all tend to work on the Manager Schedule.

The problem comes when the Maker Schedule and Manager Schedule collide. According to Graham:

Each type of schedule works fine by itself. Problems arise when they meet. Since most powerful people operate on the manager’s schedule, they’re in a position to make everyone resonate at their frequency if they want to.

When managers schedule meetings that interrupt the makers on the team, productivity and morale decline. Chances are if you’re a developer you like your job because you get to solve interesting challenges, not because you love the meetings.

It’s important that managers understand this tradeoff:

[T]he smarter ones restrain themselves, if they know that some of the people working for them need long chunks of time to work in. … I suspect founders may increasingly be able to resist, or at least postpone, turning into managers.

What You Can Do as a Developer

If large blocks of uninterrupted time are critical to working effectively as a developer, you can start to see some implications.

  1. Distractions are deadly — Insulate yourself as much as possible from ad hoc requests. I’ve personally developed a reputation of being slow to respond to Slack or emails, and that’s on purpose. As a developer, I want to be difficult to reach. To the extent possible, silence notifications.
  2. Get out of meetings — This one is hard but worth it. Start to question which meetings you really need to be in, and let your manager know when a meeting seems to be a poor use of your time. The good managers will respect you for this.
  3. Batch your meetings — You’re not likely to be able to cancel all your meetings. So, when you have to meet, batch them together. Pick a day or half-day to put your meetings back-to-back. Operate on the Manager Schedule for that time frame so that you can get back to Maker Schedule later.

Use the Maker Schedule

I’m convinced, and hopefully I’ve convinced you, that the Maker’s Schedule is critical to doing good work as a software developer.

You need long, interrupted stretches of time in order to solve complex problems. So, do what you can to protect your time and not allow your day to be broken up!

About Bennett

I’m a web developer building things with Python and JavaScript.

Want my best content on web development and becoming a better programmer?

I share my favorite advice with my email list — no spam, nothing sales-y, just useful content.

Join 500 other developers currently in my email series.


Profile picture

I write something new every day for 2k software developers. You should sign up for the daily email.

© 2024