I’m not much of a programmer. That said, I do know how to code and I have written apps in Perl, PHP, and ASP. I used to be a systems administrator and had a lot of fun with shell scripting (sed and awk, FTW!). For the past 10 years, though, I’ve been much more focused on product management. I’ve noticed something curious in the on-going PM/Software Engineering space. It seems like all PMs wish they knew how to code (yes, some do) and many engineers want to be PMs.
Don’t get me wrong–this is not a universal truth. I know a lot of engineers who don’t want to be product managers. On the other side, though, most good PMs with they knew how to code (better, or at all). To them I say, get started! I think think understanding software is critical to understanding how to develop software products. I don’t think that being an engineer is a requirement for being a good product manager (something a lot of ex-engineer PMs like to say), but I think having some coding knowledge goes a long way.
One of the things to understand about product management is that it is often more about people management than use cases and wireframes. Product management is ultimately about delivering amazing products to delight users. In order to do so, you need a team of developers who are delivering. When you want the most out of people, you need to ensure they like what they are doing, they care about what they are doing and they understand why they are doing it. It’s a product manager’s job to pull this all together for their development team.
It’s no secret that there is a often a bit of tension between the product management (or business) team and the engineering team. Some of that will never go away. It’s my experience, though, that having a credible understanding of what your team is building helps. I readily acknowledge I couldn’t build the software that I have product managed by myself (that is I couldn’t code it). I like to think that we built better software because I understand just enough about it to help provide the right information to the development that is building it.
Product Managers who want to know how to code have it right. They should learn how to write software. They don’t need to be great at it–they just need to get the concepts. This will help them understand what their team is doing, earn respect from their team, and, ultimately, build better software.
Image by cdeliens