Do product managers need to code?
Oct 20, 2021Want to become more technical in just 5 weeks? Find out how the Skiplevel technical product management course can help.
Ask any 10 experienced product managers and you’ll get a wide range of yes, no’s, and it depends on the product.
To be clear, there are products that are inherently technical and requires a product manager with a high level of technical literacy.
But regardless of the product, the question shouldn’t be whether or not a product manager should be technical, it’s how technical should you be?
You can be technically literate without knowing how to code. And just because someone knows how to code doesn’t make them technically literate.
Most of us think that you have to know how to code or possess an engineering background or a CS degree in order to be technical. But that’s like saying you have to be a basketball player to know what a free throw is!
In reality, knowing how to code doesn’t automatically make a person technically literate. And many developers know how to code but don’t understand the fundamentals and are not able to communicate or are even aware of a wide-range of technical concepts and tools.
That’s because coding focuses on depth, but breadth of knowledge and the fundamentals are pretty important too and ultimately what makes a person technically literate.
So let’s rephrase the original question for clarity.
Instead of “Does a product manager need to be technical?”, the question is “Should a product manager possess a fundamental understanding of software, be able to communicate from a technical perspective, and understand the process of developing software?”.
I’d venture to say many experienced product managers would answer “Yes” or at least “It wouldn’t hurt”.
4 Big benefits of being a technically minded product manager
There are many benefits to being a technically literate product manager. After all, you’re a product manager designing and helping build a software product.
Imagine trying to collaborate with rocket scientists to design and build a rocket without understanding even the fundamentals of physics, space, or rockets! You may be able to make it to the finish line but the struggle is real.
With that said, let’s explore some of the benefits of being a technically literate product manager.
Benefit #1: Better able to communicate & collaborate with engineers
Being able to speak the same language as software engineers helps form a strong product-engineering working relationship.
Having a strong product-engineering relationship is important in many ways, but it’s especially important when conflicts around requirements inevitably occur.
Since the limitations and availabilities of technology play a large role in business requirement decisions, conflicts often occur when product managers are unable to understand or communicate about these limitations and how they affect requirements.
This often leads to difficulties collaborating, frustrations, a ‘lets-leave-the-pm-out-of-it’ attitude, and ultimately getting features out in a timely manner.
Benefit #2: Gain trust, respect, and influence from engineers and peers
Having the trust and respect of your engineering team gives you more influence and really helps ease the day-to-day anxieties of your job.
You’ll notice that the more technical you are, the more respect and influence you have and the more willing the engineering team is to work with you on prioritizing features that are important to your roadmap instead of constant pushback and friction (hence the anxiety).
Being technically literate also helps you communicate with ease during technical discussions which is seriously impressive. On the flip side, asking questions that reflect your lack of technical understanding (i.e. “What is a frontend and backend?”) seriously damages your office cred.
Benefit #3: Able to get a general sense of effort, time and feasibility
An important skill you want to cultivate as a product manager is the ability to have a general sense of the level of effort, amount of time and the feasibility of a requirement/feature.
Gaining more technical literacy will help you cultivate this sense since it allows you to make judgments about the limitations and factors that go into building any feature.
Let’s take a simple feature request to send a confirmation email to users as an example:
Assuming the current product is built in-house and not on a third-party platform, you’re able to guesstimate that in addition to a simple UI/UX change, your dev team will have to choose and set up an email service, create an email template using HTML, set up a message queue for email send resiliency, and create at least one API for email sends. If you know the current system is built using a microservices architecture, you’ll also know that engineers may have to build a new service for current and future communications including email.
In contrast, a less technically literate person would draw a blank and maybe even assume this work can be done quickly.
Having this sort of high-level sense prevents you from over-committing during stakeholder discussions and customer interactions, and helps you balance product and technical effort while you’re writing business requirements and ideating on a new idea. It will help plan and prioritize your roadmap accurately.
With that said, before making any commitments, always get input from the developer(s) working on the requirement/feature. After all, you likely do not have the full context around the product and work involved.
Benefit #4: Ability to ask the right questions
Being able to ask the right questions during technical discussions is a very useful (and impressive) skill.
Having a strong technical foundation helps you feel a sense of ownership over your product. It’s easy to lose a sense of control when engineers push back on requirements while providing technicals reason that completely go over your head.
Without a technical understanding, you don’t know where to begin to understand their reasoning and provide the appropriate feedback or response.
And this sucks because engineers don’t always have the best solution to a problem!
Oftentimes engineers get so stuck in the technical weeds that they tend to over-engineer solutions.
As a technically literate product manager who isn’t prone to overthinking the nitty gritty details, you’re in a great position to ask questions that help engineers come up with simpler solutions to technical problems that require less work and less time to implement.
A solid win-win if you ask me.
Bonus Benefit #5: You’ll feel more confident
Imposter syndrome is real y’all.
I’ve talked to many highly experienced product managers with years of experience as directors at large tech shops like Snapchat, Netflix and PayPal who tell me they feel like a fraud and barely scrape by during discussions where they have to sound like they understand how their product is built.
So at the very least, being more technically literate will make you feel more confident!
Ok, so how do I improve my technical literacy?
Many product managers ask me what they should do to become more technical. Unfortunately they usually follow that up with a “I’m taking a Python class on [x platform]!”.
But taking coding classes to learn how to assign a variable won’t make you more technically literate.
Instead, you should focus on strengthening these 4 technical skills that a coding class won’t teach you.
In short, the four skills are:
Possessing a Broad Knowledge of Available Technologies: Are you aware of the common tools and services in the industry used to design, create, document, and maintain software?
Ability to communicate technically: Are you able to use and understand the most common terms and lingo used in the software industry today?
Understanding of the Software Development Lifecycle (SDLC): Are you familiar with the end-to-end process of developing and releasing software, and the common tools used by developers throughout the process?
Ability to think through technical trade-offs: Are you able to think critically from a technical perspective taking into consideration trade-offs like security, fault tolerance, maintainability, speed, ease of implementation, etc..?
3 Action items to take immediately to become more technical
If you want to become more technical and gain more respect and influence, here are a three action items you can take right now to improve your technical literacy:
1) Get a tech mentor(s)
Product managers that show a curiosity for learning and the ability to understand the product from a technical perspective earn more respect from the engineering team.
Even in my personal experience as a developer working with product managers I’m always more willing to teach and be patient if the product manager shows an interest in learning (not to mention it’s a great opportunity for me to sound smart!)
Show you’re keen on learning by formally or informally asking a trusted developer that you’re able to communicate reasonably well with to be your tech mentor.
Book bi-weekly 1-on-1 meetings with trusted developer(s) to ask all the “stupid” questions you want and learn more about the product. Schedule additional meetings after important technical discussions to go over what was talked about.
And don’t be afraid to ask casual questions over company chat or in-person!
Finally, use what you learned during these 1-on-1 convos to ask more insightful questions during group technical discussions.
2) Do tutorials from cloud computing companies
Coding is a very small part of what goes into creating software and it’s too deep into technical implementation.
As a non-engineer you want to focus on breadth of knowledge (i.e. “What is a database and what problems do they solve?”) instead of depth of knowledge (i.e. Specific steps to set up a database server).
The best way to do this is through tutorials provided by popular cloud computing services.
You’ll get a much more comprehensive understanding what goes into software while getting hands-on practice–from pulling down existing code, editing existing code, updating configuration, deploying code to a host, working with a command line interface, and getting hands-on experience with cloud computing services.
Side note: If you’re new to software (and even if you’re not), the tutorials I’m about to share may be overwhelming. I suggest getting some level of basic software training through Skiplevel before starting these tutorials.
Here’s a few to get you started:
Frontend: Heroku: Getting started with NodeJS
Backend: Heroku: Getting started with Python
Infrastructure: AWS EC2: Get started with Amazon EC2 instances
Data: Microsoft Azure: Create an Azure SQL Database singe database
If you want tutorials and exercises that are more relevant to your role, Skiplevel provides hands-on exercises like documenting an API, designing a database schema based on a real product, and creating a system architecture diagram based on a real product.
3) Enroll in Skiplevel’s Software Training Program
Instead of taking a coding class or combing through tons of Youtube videos and books, enroll in a program like Skiplevel that’s tailored for non-engineering tech professionals like product managers, and non-technical startup founders.
Skiplevel is an on-demand course that only requires 2–3 hours a week for 5 weeks to complete. The course is designed to improve the 4 technical skills you learned about through video lessons, readings, and hands-on exercises that give you direct exposure to common software tools.
There’s also a community where you can ask questions about the course content, and get suggestions/advice in your day-to-day role or while interviewing!
If your team could use more technical literacy, Skiplevel for Teams helps teams structure taking the course and applying the course material to your team’s platform/product.
Final Thoughts
Let’s be clear: you don’t need a technical background to be a successful product manager since there’s much more to the product management role than just working with the engineering team.
But becoming more technically literate will go a long way in helping you achieve your career goals faster, and helping you feel more confident in your everyday role.
And who doesn’t like the feeling of confidence?
Positive feedback is feedback too!
We often think of feedback as “critical feedback”, but positive feedback is just as important! Team cohesive and effective teamwork ultimately comes from a place of positivity and a sense of forward/upward momentum. It’s difficult to have these when just focusing on critical feedback. You want to know what you’re doing right along with ways you can improve. So as much as possible, ask for positive feedback like “What did you like about [x] that you’d like to see me continue doing?” and “What was your favorite part about [x]?”
If you want to level up your technical skills and your ability to communicate and collaborate with engineers, enroll in the Skiplevel program. The Skiplevel program is a comprehensive, on-demand course + community that helps you become more technical without learning how to code.
Become more technical without learning to code with the Skiplevel program.
The Skiplevel program is specially designed for the non-engineering professional to give you the strong technical foundation you need to feel more confident in your technical abilities in your day-to-day role and during interviews.