I frequently get asked how non technical product managers can become more technical. I compiled a list of a few things that can help, but before get to it a little bit of rationale is warranted…

Firstly, I think most people make a mistake of trying to become a software developer themselves and start with a coding 101 course. Coding is hard and will be futile for most practical situations where you need to be more “technical”.

Instead of learning to code and trying to become an entry level software developer you should aim to learn what you need to be a senior engineer. Here’s just a sample - https://betterteam.com/senior-software-engineer-job-description but go read your own company’s job description of a senior engineer to get an idea. Why try to operate as a senior engineer?

Most situations you run into as a non technical product leader will revolve understand facilitating better technical decisions which are at a higher altitude than writing code. Writing code is almost never what you will provide value on.

Your decisions about engineering and inputs to tech teams are centered around tradeoffs, quality, velocity, agility, incremental improvements, operations etc.

These won’t require you to read or write code yourself. Think about the last 10+ situations when you felt the need to be more technical. Were any of them related to your ability to write code?

If you’re convinced already… Here’s at least 3 topics I believe you should learn:

  1. Software development philosophies - https://en.wikipedia.org/wiki/List_of_software_development_philosophies

  2. Definitions for APIs, Client, Server, Code repos, micro-services - what goes into the good, great and ugly for all these concepts.

  3. CI/CD, software testing concepts, what things affect team operations (oncall, bugs, engineering health etc) both positively and negatively.

What do you think is missing?