The Great Debate: How Technical Should a Product Manager Be?

The Case for Being Technical

Having technical skills can only benefit a product manager. By understanding the basics of programming, software development lifecycle, and technical concepts, you’ll be better equipped to:

  • Understand your product’s strengths and weaknesses
  • Make informed decisions about trade-offs
  • Build stronger relationships with your development team
  • Improve communication skills

Technical Skills for Product Managers

While you don’t need to be a developer, there are certain technical concepts that are essential for product managers to understand:

  • Software development lifecycle (SDLC)
  • Programming basics
  • Git workflow
  • SQL
  • DevOps/cloud basics
  • Quality assurance

Breaking Down the Technical Concepts

Software Development Lifecycle (SDLC)

Understanding the SDLC will help you track progress, understand the current state of your product, and work with your team to adjust the lifecycle.

graph LR
    A[Requirements] --> B[Design]
    B --> C[Implementation]
    C --> D[Testing]
    D --> E[Deployment]
    E --> F[Maintenance]

Programming Basics

Knowing programming concepts such as APIs, services, and libraries will help you understand your development team’s work and have meaningful conversations with them.

// Example API call
fetch('undefinedapi.example.com/data')
  .then(response => response.json())
  .then(data => console.log(data));

Git Workflow

Understanding Git will help you comprehend day-to-day developer jargon and how versions are created.

git init
git add .
git commit -m "Initial commit"
git branch feature/new-feature

SQL

Knowing SQL will allow you to analyze data and make informed decisions.

SELECT * FROM customers
WHERE country='USA'
ORDER BY name;

DevOps/Cloud Basics

Understanding modern software architecture will help you see the bigger picture behind your product.

graph LR
    A[Client] --> B[Load Balancer]
    B --> C[Server]
    C --> D[Database]
    D --> E[Cloud Storage]

Quality Assurance

Learning the language of QA will help you understand how quality standards are set and kept in your product.

// Example JUnit test
public class CalculatorTest {
  @Test
  public void testAdd() {
    Calculator calculator = new Calculator();
    assertEquals(2 + 2, calculator.add(2, 2));
  }
}

Resources for Learning

If you’re looking to brush up on your technical skills, here are some resources to get you started:

The Verdict

While you don’t need to be a programmer or software architect, having technical expertise is essential for product managers. It’s not enough to just take a five-hour course and call it a day. By investing time and effort into learning technical concepts, you’ll be better equipped to work at the intersection of business, technology, and user experience.

Leave a Reply

Your email address will not be published. Required fields are marked *