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:
- Udemy courses on SDLC, programming basics, Git, SQL, and QA
- Atlassian’s Git tutorials
- W3Schools’ SQL tutorial
- International Software Testing Qualifications Board (ISTQB) QA tester certification program
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.