3 reasons why your PM’s should learn to code
Over the past few years there’s been a movement surrounding programming education. There are tons of startups that have emerged in the “learn how to code” space. I am generally an optimist, but I‘ve taken quite a cynical approach to this. Many learn to code sites have come out and proclaimed “everyone should learn how to code.” Think about that, should everyone learn how to code?
Should everyone know how to make their own clothes? Should everyone know how to hunt? Of course not!
The proper answer is, everyone should be afforded the opportunity to an education, not just blindly told to code. One of my few passions is technology, and how technology becomes the fabric that ties us together. This is one of the reasons why I work at a startup.
Just over a year ago I joined Breather. I had come off a very successful 4 year stint in the adult industry. I managed around 20-25 programmers, 5 QA’s, a bunch of analyst and a few PM’s, but I couldn’t code. Was that such an issue? At the time I didn’t think so. I was able to get engineers to work together, I had their respect, I could describe the features I wanted built, I was able to forecast timelines properly, but, I was never able to fully understand how engineers built software.
Before I dive into the nitty gritty, understand that finishing a course like Codecademy does not make you a programmer. Over the past year I’ve learned the basics of the following languages: HTML, CSS, Java Script, jQuery, Ruby, PHP and currently, Objective C. Most of the programming courses out there will give you a working knowledge of these languages, by no means will you be an expert. Every now and again I get a tad too confident in my programming knowledge and I say something stupid, thinking I understand a topic. Fortunately, our engineering team is really cool, and rather than make me feel like an idiot, they help me understand what’s going on. I’m better at building product because of it. So, why bother to learn to code?
Communication with Developers:
I hear it far too often, PM’s say something to the effect, “just get it done,” without knowing what “it” is. As a PM you’re constantly working with engineers, I’m not saying it’s impossible to get their respect without learning to program, as pointed out by the example directly above, but you’ll be at an advantage. You can effectively add to the development conversation and speak their language. You can follow up throughout the dev process and understand what’s done, and what’s left to be done. Not only that, but if your CEO asks you “why isn’t this done yet?” You can offer a more confident response and not just blame it on engineering.
Quality and Iteration:
Shipping product is a major part of a PM’s job. Wether the product is consumer or business facing, you need to be able to iterate and continuously move the product forward. It is not an engineers job to tell you what feature should be next, it’s yours. If you have a working knowledge of programming, you’ll understand what steps are necessary to build the feature properly. By having all the facts you can make decisions on what features should go out first. Not only that, you can aid in the QA process and ensure the product is functioning the way it was intended to.
Fixing the Small Stuff:
Working in a startup is all about being agile and working outside of your comfort zone. I’ve been working in technology for 1/3rd of my life, and by no means am I even close to knowing everything that’s out there. Everyday at Breather I try to learn something new. Your programmers are busy and might not have time to make a small change to your website, an email newsletter or FAQ’s. By learning the basics of programming, you can aid in these day to day tasks. I have been able to make changes a few times, it’s generally a last resort as I am always worried about breaking something, but the important thing is I’m getting better every day.
The gist of it is, you can be a good PM without a working knowledge of programming, but you can be a killer PM, and have an advantage if you take the time to learn.