Things Every PM Should Know About Working with Devs

5 min read

thumbnail

As a senior developer and agency owner who also works as a Product Manager (PM) on in-house products, I’ve seen both sides of the product development coin. I’ve noticed that many PMs struggle to work effectively with developers, often because they’ve never written code themselves. In this post, I’ll share four crucial insights that will help PMs collaborate more efficiently with their development teams.

1. Understand the Manager vs. Maker Schedule

The concept of Manager vs. Maker schedule, first articulated by Y Combinator founder Paul Graham 15 years ago, still holds true today. It’s a fundamental difference that every PM needs to understand.

Manager’s Schedule

  • Typically divided into 1-hour or 30-minute blocks
  • Ideal for calls, meetings, and information exchange
  • Productive for managers who need to coordinate multiple aspects of a project

Maker’s Schedule

  • Requires long, uninterrupted blocks of time
  • Essential for tasks that require deep focus, like writing or programming
  • Interruptions can cause significant disruption to productivity

As someone who wears both hats, I’ve experienced this firsthand. When I’m in developer mode and facing a deadline, the last thing I want is a series of meetings breaking up my day.

Solution:

  • Schedule meetings with developers at the beginning or end of the day
  • Respect ‘maker time’ by minimizing interruptions during core working hours
  • Use asynchronous communication tools for non-urgent matters

Remember, a five-minute interruption can cost a developer 25 minutes of productivity as they try to regain their focus and context.

2. Developers Need Deadlines (But Use Them Wisely)

You might have come across articles that swear off deadlines, calling them “worse than worthless” or “pointless”. However, unless you have unlimited time and resources (which is rarely the case), deadlines are actually helpful.

Deadlines serve several important purposes:

  • They help avoid procrastination
  • They prevent over-engineering and endless experimentation
  • They focus the team on delivering a working product

Let me explain this real quick with a personal anecdote. I once completed in one day what another developer took a week to do, simply because I set myself a firm deadline. The time constraint forced me to focus on the essential features and avoid unnecessary complexity.

However, deadlines are a double-edged sword. Here’s what you need to know:

Benefits of Realistic Deadlines:

  • Increase productivity
  • Help meet project goals
  • Provide a sense of accomplishment when met

Dangers of Unrealistic Deadlines:

  • Negatively impact team morale
  • Lead to shortcuts and technical debt
  • Can actually decrease overall productivity

Solution:

  • Set realistic deadlines based on thorough project understanding
  • Break large projects into smaller, manageable milestones
  • Celebrate when deadlines are met to boost team morale
  • Be willing to adjust deadlines if unexpected challenges arise

3. Detailed Specifications Matter… A Lot

As a product manager, one of your primary responsibilities is to plan your product and effectively communicate this vision to your development team. This is where detailed specifications come into play.

Many PMs fall short in this area, assuming developers intuitively know what needs to be built. In reality, developers often think in terms of technical problems and solutions, and may not immediately see the user value without proper guidance.

Solution:

  • Write comprehensive product specification documents
  • Clearly outline what needs to happen in each feature of the app
  • Use visual aids (wireframes, mockups) to supplement written specifications
  • Be prepared to repeat and clarify specifications multiple times

For guidance on writing effective product specifications, I recommend checking out Ellie Nivelle’s YouTube video “HOW TO write Product Requirements for Product Managers”. She’s a senior product manager at Amazon and provides valuable insights in just 30 minutes.

4. Developers Struggle with Estimations (And That’s Normal)

One of the most challenging aspects of software development is accurate time estimation. I’ve seen this many times in my career, and it’s crucial for PMs to understand why this happens and how to work around it.

Developers, especially when deeply focused on a problem, often lose track of time. This leads to a common scenario where a task estimated at 16 hours ends up taking 25 hours or more.

This estimation problem is particularly pronounced with:

Junior Developers:

  • Tend to be overly optimistic
  • Lack reference points for complex tasks
  • May underestimate the time needed to overcome obstacles

Senior Developers:

  • Often err on the side of pessimism
  • Have seen projects go wrong and tend to overcompensate
  • Their pessimistic estimates can become self-fulfilling prophecies

Solution:

  • Always add a buffer to developer estimates (e.g., multiply by 1.5)
  • Use team estimation techniques to get more accurate averages
  • Track actual vs. estimated time to improve future estimations
  • Be patient and understanding when estimates are off

I have a detailed video on software estimation techniques that you might find helpful. It covers how to use team averages to get more accurate estimations.

Working effectively with developers is a crucial skill for any product manager. By understanding these four key areas – respecting the maker’s schedule, using deadlines wisely, providing detailed specifications, and managing estimation challenges – you’ll be well on your way to more successful collaborations and product launches.

Remember, great product management is about clear communication, realistic expectations, and mutual respect between PMs and developers. With these insights, you’re now better equipped to bridge the gap and lead your team to success.

What challenges have you faced when working with developers? Share your experiences in the comments below!

P.S. If you’re a developer wanting to know what PMs expect from you, check out my interview with Diana Vidstorm where we discuss this topic in depth.

Available slides

  1. slides
  2. slides_social

Till Carlos

I'm Till, a senior developer who started a software company. I explain software concepts for people in leading roles.