Much to my chagrin I do not code. Somewhere in the archives of my brain is some C++ I learned back in the stone age (late 90's) but that's about it. I certainly understand the value in knowing how to code at least at a basic level as a Product Manager I just haven’t taken the time to learn yet.& Well I should say I’m trying to learn and so far I’m pleased with the process on Codecademy . I have a long ways to go however.
While it’s debatable in many circles I personally think this is a huge weakness of mine. It’s so much harder to have a deep understanding of what it takes to build an application, how all the pieces fit together, and what it means to maintain web based software when you don’t have a fundamental understanding of it. Personally I think I've done a reasonably good job understanding enough of the building blocks and high-level components that I can at least get by on that front. The challenge goes beyond just the technical though. Developers, especially the good ones think differently. It’s much harder to develop trust and engagement with developers if they know you don’t understand what they do. It’s not impossible but it certainly means you often have to work harder to gain their trust. Honestly it’s hard to blame them. In most cases developers don’t actually report to the Product Managers on their team (or at least they shouldn't in my opinion), but 9 times out of 10 the PM is the one deciding what they will work on from one week to the next. PMs set the priority for what the team is working on and thus what any given developer is engaged with. In the best cases the PM is engaged with each and every developer on the team working through problems on a daily basis. Would you want someone guiding you that you didn't think understood what he or she was asking you to do? Probably not.
Here’s the rub. The fact that I don’t know how to code is a tremendous strength in my particular PM space. For the majority of the past 10 years my customers have been marketers. I help to build products for marketers to get their job done easier. In my current life this idea of making marketers lives easier has never been more important. We strive to help marketers be amazing in a changing world where often the old skills that made them amazing marketers originally don’t apply anymore. We build software products for people trying to succeed in a changed world. In many cases they aren't technical people. They are smart, driven and amazingly competent, they just grew up in a marketing world that hasn't provided them with the skills to succeed. So they turn to people like HubSpot to help them.
Developers do not think like marketers. Developers are problem solvers at the core. At least the good ones are. There is nothing more satisfying to a top-notch developer than solving a challenging problem. Developers love to think. The goal for a developer is a solution to the problem, the more elegant and straight forward the better. For many developers simply having a way to do something is enough. I can’t tell you how many conversations I have had with unbelievably awesome developers that go something like this.
Me: “Customers are struggling to understand how to make X work”
Dev: “They just need to click that link and configure their settings the first time they log in and it will work fine. ”
Marketers unlike developers are generally not problem solvers (yes, yes I know this is a gross stereotype that doesn't always apply). Marketers are goal oriented. They are looking for the shortest easiest path to accomplish their goal. They want to finish this thing so they can move on to the 133 other things on their plate, before they get assigned 57 more things. They don't want to have to think because they don't have time to think. This mentality does not lend itself to problem solving. Stepping back for a minute to think about how to solve the problem at hand is a luxury most marketers don’t think they can afford. So when they hit a challenge they skip it and move on to the next thing. In many cases this could mean in a split second deciding this app or this piece of software is just too complicated for me to use. They quit your software before you never even had a chance to show them how magical it will make their lives. The marketer is staring at the page for 30 seconds looking for the answer to their current headache. It’s not obvious so they bail. They don’t want to go hunting around for the solution because a) they don’t have time and b) they are scared they are going to screw something up. They aren't problem solvers. Remember the customer in here?
That's a marketer. Although most developers I know of would at least make the swing work but you get the point.
Developers aren’t scared to screw something up because they know they can fix it. “It’s just software, anything is possible.” Marketers are petrified of screwing things up because they have no idea if they can fix it.
So the interesting thing about developing software for marketers is you have to have people on your team that can think like marketers. You have to be able to empathize with their daily challenges but you still need awesome problem solving developers on the team. You need someone that can straddle these two worlds and help them communicate.
As an engineer by training I like solving problems, but I’m not a software developer. Oddly enough the challenge of not knowing how to code has helped me to think like the marketers we serve. Having a deep empathy with your customer base is impossible to over estimate. I would fail miserably as a PM at Github because Github’s customers are developers. By the same token I've seen really powerful pieces of software fail miserably because the customer just didn't get it.
That said … boy do I need to learn to code.