Hiring managers often debate over how much technological competency is required for product managers to be strong and effective.
Some people want product managers to have an engineering background, while others think this requirement is overrated.
I think it really depends on what an organization needs.
In my opinion, it’s always better to have technical knowledge than not to have it, irrespective of the situation you find yourself in. I personally try to retain as much technical knowledge as possible.
I started my career with a background in English. After a few years as a product manager, I wanted to be more technical.
I was sick of not being able to see eye-to-eye with the engineers I worked with. We lacked a mutual understanding, and I felt like I was in the dark. Everything was fuzzy.
Also, I wanted to grow professionally, and I found this was hard to do with limited technical knowledge.
In my third year as a product manager, I interviewed for a position at Appsavvy. The hiring manager was an ex-Googler who only hired product managers that were former engineers. I told him I wasn’t a former engineer, but I was technical. He asked me was what LAMP stood for. I was nervous and I couldn’t remember the ‘M”. ”Linux, Apache, Memcache, PHP?” I knew next to nothing about software or programming at the time. For all I knew, Memcache and MySQL were the same thing . He said I wasn’t technical enough. I didn’t get an offer. I thought it was unfair to evaluate me with a stupid acronym. It was unfair to consider only my technical knowledge. I had a lot of other skills to offer! Needless to say, my opinion didn’t change the outcome of the interview.
Some people think you need to have a formal education or background in CS to be technologically competent. I think this is short-sighted. It takes time and effort to improve your technical understanding, but it’s possible. I’ve been able to improve my technical skills over the years and have found it to be one of the most important things a product manager can spend his/her time learning.
With a better understanding and appreciation for technology, you will be able to emphasize with Engineers. Engineers will have more respect you and for what you know. Engineers will become more transparent about issues and setbacks, and you become more understanding. You will be able to calculate risks better, evaluate limitations and capabilities, and prioritize features less dependently. You will be taken more seriously by others, and become more confident in your ability to make decisions.
Here are a few tips on how to develop your technical know-how, from lessons I’ve learned a long the way.
1. Don’t try to understand, just listen. I didn’t know how to listen in the beginning of my career. I would try too hard to get a grip on a conversation I didn’t understand. I used to sit (stand, rather) in morning scrum, and It would be hard to hear what developers were saying over Skype. Most of them were in Israel and they spoke too fast and too softly. When I could hear, I was quick to ask questions about everything I didn’t understand. This was a mistake. I was better off sitting back and listening, absorbing what I could. It is a waste of time to try to understand what’s being said right away. Like everything new, it takes time to learn. It’s easier and more effective to listen first, and slowly begin connecting the dots.
2. Google everything. When you hear something you don’t know, look it up on Wikipedia. Even if you don’t understand it right away, you’ll absorb enough information to be able to talk about it, or ask someone about it who is knowledgeable. Usually, you can learn a lot just from getting familiar with a term. Then move on. Don’t try to memorize everything you look up. This is impossible, and would be too overwhelming. Once you hear something enough times, it begins to soak in.
3. Ask what you don’t know on Stackoverflow. No one there judges, and if you ask a really dumb question, hopefully you’re smart enough to use an alias handle.
4. Start a project. After I learned CSS, I finally started to be able to empahsize with developers, which is a really important part of being a product manager. I decided I was sick of using ugly Tumblr themes, and I wanted to make my own. I didn’t decide to learn CSS because I thought I had to, but rather because I wanted to. The reason I recommend starting a project that you will enjoy working on, is because there is a greater chance that you will see it through and not give up. One time I tried to learn Python for the sake of learning Python and being able to say ‘I know Python.’ I didn’t get very far. I still don’t know Python, and I might not ever know it. The point is, learn a skill when you have something motivating you to learn it.
5. Poke around on Github. There are a lot of cool, open-source projects to play around with on Github that don’t require heavy programming skills. At the very least, copy/paste code from projects you find interesting. I find when you’re interacting with code, rather than just looking at it, you get a better understanding of how things work and fit together.
6. Read popular posts on Hacker News every day. It’s an incredibly valuable way to spend time. Posts are thoughtful and well written, easy to read. You will read a long post about someone’s depressive journey using MongoDB and you will be surprisingly stimulated. Also, read the comments. I find they’re just as important to read as the post itself. It gives the article dimension and context.
8. Read Steve Yegge’s Google Platform Rant.
11. Play around on programmableweb. Get to know and understand popular APIs and web services.