- The TPM Craft
- Posts
- Technical Skill Matrix for TPMs
Technical Skill Matrix for TPMs
Technical Versatility is a journey, not a destination
(6 minute read)
👋 Hey TPM Craftsman, let’s get crafting.
This newsletter edition is focused on the Technical Versatility
What’s inside?
👨‍🏫 Learn: A brief look at my technical roots.
🤖 Deep Dive: an early version-1 of a Technical Skill Matrix for TPMs.
đź“° Article: A fantastic read on scaling Pinterest to 11 million users with only 6 engineers.
đź“š Resource: Tech-Talk for Non-Developers, created by Zeeshan Syed. TPM Craft subscribers get $20 off with a unique promo code for the ULTIMATE BUNDLE.
Today’s Sponsor
Web Intelligence, Unlocked
With Bright Data's proxies, you can unlock and analyze extensive datasets at scale for ML/AI innovations in Ecommerce, Travel, and Finance. Leverage our flexible, scalable services to drive data-driven decisions.
Learn
👨‍🏫 A brief background of my technical foundations
Of all the required skill domains a Technical Program Manager, the Technical skills have the greatest amount of debate and difference across companies.
This isn’t good, nor bad. It’s just a reflection of each company’s organizational engineering culture.
Despite the differences, being technical (in all its variations) is a continued, needed theme if you want to drive execution in a technical domain successfully.
Check out my earlier post on the correlation of the TPM role emerging in parallel with the rise of distributed systems.
I love a good course and book as much as anybody else, but I must tell you that most of my Technical foundations as a TPM come from technical jobs.
Courses and books are supplemental to hard earned on-the-job experience to gain technical foundations as a TPM.
With that being said, I don’t have a computer science degree. My university experience is based in an undergraduate degree in Information Systems Management, followed by a masters degree in the same field. Both degrees were hosted in a business college, not a technical college.
Here’s a 10,000ft view of technical jobs or responsibilities I’ve had which has provided a solid technical foundation for me being a TPM:
Software Quality Assurance
Automation Engineer
IT Project Manager
Database Researcher
Analytics Engineer
Front-End Web Developer
API Engineer
(“Jack of all trades, master of none” is what comes to mind when I see my list above!)
A core early-career strategy for me was exploration. I had no idea exactly what I wanted to do, but I knew that establishing a technical foundation would pay off long-term.
I hope that the list above illustrates an important point: Courses and books are supplemental to hard earned on-the-job experience to gain technical foundations as a TPM.
Deep Dive
🤖 An early version-1 of the TPM Technical Skill Matrix
A few characteristics you might notice about this early version a TPM Technical Skills Matrix:
This goes beyond system design. There so much more that goes into being a technical program manager. This matrix intentionally doesn’t break down all the system design principles.
The matrix focuses on the world of software. Not hardware or any other field.
Being technical is not a binary state. It is much more nuanced than that with stages of maturity and specialization.
The following 5 areas are generalized enough to cover most of the technical foundations you’ll encounter as a TPM:
Development Practices
Architectural Patterns
Security and Privacy
Data Practices
Technical Strategy
The goal isn’t necessarily to become an expert in ALL these areas to be considered technical.
However, achieving the beginner or intermediate for all categories puts you in a really strong position as a TPM. Once you move to advanced skills in this matrix, you may be entering the territory of TPM Specialization.
If you’ve become advanced in all these areas, you are a TPM unicorn.
Technical Skills Matrix for TPM’s
Area | Beginner | Intermediate | Advanced |
---|---|---|---|
Development Practices | - Fundamentals of SDLC - CI/CD Basics - Testing Basics - Version Control - Collaboration Tooling - MVC Approach to Code Organization | - Testing in CI/CD Pipeline - DevOps Practices - Observability: Using monitoring and logging - Multiple Environment Management | - Zero-downtime deployments and rollback strategies - Infrastructure as Code (IaC) and Cloud Orchestration - Observability: Setting up monitoring and logging |
Architectural Patterns | - Basic 3-tier Architecture - RESTful Services - Client-Server Model - Layered Architecture (presentation, application, business logic, and data access layers) - API Gateway Pattern - Performance Basics | - Monolithic vs Microservice Architecture - Serverless Architecture - Foundations of System Design Principles (Scalability, Performance, Reliability, Availability) - Cloud vs On-Prem Implementations - Load Balancing Strategies - Service Models: IaaS, PaaS, SaaS | - Service Mesh - Data Replication and Consistency - Edge Computing - Consistent Hashing - Cloud Architecture Practices (eg: AWS Well Architected Framework) - Service Discovery |
Security and Privacy | - Basic security principles such as encryption, authentication, and authorization techniques. - Basic awareness of data privacy regulations such as GDPR - Web Application Security (eg: OWASP Top 10) - RBAC Practices | - Security by Design - Basics of Vulnerability Management Processes - Incident Response and Reporting - Data Masking - Cloud Security Basics - GDPR + other data privacy regulations | - Advanced Encryption and Cryptography - Threat Intelligence - Intrusion Detection and Prevention Systems (IDPS) - Advanced Data Privacy Implementation Practices - Security information and event management (SIEM) systems |
Data Practices | - Relational DBs - Data Quality - Data Types and Structures - Data Modeling - Basics of SQL Querying - Integration with other API layers - Analytics Tooling | - Database Design and Normalization - SQL vs NoSQL - Cloud Storage Solutions - ETL Practices - Data Pipelines - Data Analytics Integration - Data Warehousing - Data Governance | - Big Data Technologies and Data Lakes - Data Science - Machine Learning Data Management - Real-time Data Processing and Streaming |
Technical Strategy | - Aligning Technology with Business Goals - Basic Project Management - Understanding Market and Technology Trends - Dependency Management | - Cost-Benefit Analysis for Technology Investments - Managing Tech Debt - On-Prem vs Cloud Decision Making - Vendor Evaluation - When to use IaaS, PaaS, or SaaS | - Advanced Technology Forecasting and Assessment - Global Technology Strategy Development - Cost Optimization - Sustainability Considerations |
Reminder: this is an early version that I’ve mostly written for myself but its in a decent enough form to share here. It shouldn’t be taken as a final source of truth on how to approach the T in TPM.
The list above is likely not exhaustive and can be improved in many ways. I’m sending out an early version to pressure test the general concept. Let’s see where it lands!
How would you improve this matrix? Feel free to reply to this email directly and tell me your thoughts!
TLDR
There is no silver bullet course or book on system design that will make you magically technical. The T in TPM grows over the course of years, not weeks.
Experience is 10x more valuable and long-lasting than courses or books. But it’s also much, much harder.
My early career strategy was to focus on technical roles, fully knowing its not what I wanted long-term. It worked for me, maybe it will work for you.
Don’t boil the ocean in your journey to become technical. Its better to become the right type of technical. Align your technical growth with where you want to aim the trajectory of your TPM career.
Be patient, but be hungry. You’ll get there with consistency of learning rather than spikes of learning.
Content
đź“° A System Design Story
I really enjoyed the fascinating journey detailed in the story below.
I have no affiliation with the author and no motive to share other than its a great read on the topic of system design.
Resources
đź“š Tech Talk for Non-Developers
Do not let tech jargon stop you from being a kick-ass Technical Program Manager.
Zeeshan Syed is a top-notch technical educator. He’s an engineer who has built out a fantastic course to help non-tech folks bridge that technical gap.
Is this you?
You come from a non-technical background
Your developers toss around “tech” terms
Those “tech” terms still make no sense despite years of Googling
There is no linear approach to learning “dev talk”
You feel like tech isn’t right for you.
If you resonate with any of those, check out his course below.
TPM Craft Newsletter subscribers get $20 off the ULTIMATE BUNDLE: Tech Talk course + System Design course. (the discount does not apply to the courses individually)
Use promo code TPMCRAFT20 on the ULTIMATE BUNDLE to get $20 off final price.