Author Topic: Is it worth it for a non-technical Product Manager to learn to code?  (Read 4238 times)

apoclater

  • 5 O'Clock Shadow
  • *
  • Posts: 54
Background: I'm currently a Product Manager at a small (~120 employees) software company and I lead a large piece of our product.  My team is a 6 devs with a Tech Lead running a tight sprint schedule.

I'm 27 and about 4.5 years out of college where I graduated with an Information Systems major - codeword for "doesn't know how to code, but can talk to people, so stick him in Project Management".  In college I did a couple of classes in programming - I've coded in Javascript, PHP, and Visual Basic in the past, but beyond some of the basics I've all but forgotten everything.  My experience in the workplace so far has been in everything from Business Analysis to Project Management, then into Operations to Program Management, and finally I've fallen into Product Management where I'm learning a lot and really enjoy it so far.

I live in Chicago and make just over $80k a year, saving 50%, blah blah.  I've gotten to the point where I'm happy with my finances, this is more of a career question.  This isn't really a money thing in the short-term, but long term I'd love to start my own software company in the near future as I explain below.

So why bother to learn programming? 

Frankly, I don't like putting "I'm really good with working alongside developers" is exactly a great skill.  Sure, it IS a skill, but it's not exactly a skill I could go off and freelance with.  Ultimately I feel like I've only managed and led and never really produced.  Someday I would love to go my own way and build something myself or with a team of developers - who knows, maybe I build the prototype with the shitty code and technical solutions and they scale it.  At least THAT is producing something - taking an idea, putting it into form, and then leading other people to build it the right way.  Plus, programming seems like a lot of fun, and something I could be good at.

I've been toying with this idea since the day I graduated from college, I've just never really had the time to sit down and devote myself to learning it.  With a full time job, a lot of hobbies, a girlfriend, etc - doesn't leave a ton of room for learning new skills at work that don't already fit with what I'm doing.  I also see this move as potentially ass backwards - a lot of programmers I know aspire to be project or product managers so they are out of the programming aspect - why go "backwards"?  I sometimes feel like I should have started with programming in college and made my way upwards in that path, but I can't change the past at this point.

My question is this: based on this information, does putting a couple thousand hours into learning programming make sense?  Or should I just keep running with what I've been doing?   Ultimately, my career is on a nice trajectory, but learning programming could really be the game-changer.  That being said, it IS a huge opportunity cost - I'd potentially do less of other things I'd like to do, like rock climbing, tennis, and learning an instrument.

Any thoughts?  Thanks for reading, I really appreciate all responses.

csprof

  • Stubble
  • **
  • Posts: 228
Re: Is it worth it for a non-technical Product Manager to learn to code?
« Reply #1 on: January 27, 2016, 09:42:07 PM »
Frankly, I don't like putting "I'm really good with working alongside developers" is exactly a great skill.  Sure, it IS a skill, but it's not exactly a skill I could go off and freelance with.  Ultimately I feel like I've only managed and led and never really produced.  Someday I would love to go my own way and build something myself or with a team of developers - who knows, maybe I build the prototype with the shitty code and technical solutions and they scale it.  At least THAT is producing something - taking an idea, putting it into form, and then leading other people to build it the right way.  Plus, programming seems like a lot of fun, and something I could be good at.

I've been toying with this idea since the day I graduated from college, I've just never really had the time to sit down and devote myself to learning it.  With a full time job, a lot of hobbies, a girlfriend, etc - doesn't leave a ton of room for learning new skills at work that don't already fit with what I'm doing.  I also see this move as potentially ass backwards - a lot of programmers I know aspire to be project or product managers so they are out of the programming aspect - why go "backwards"?  I sometimes feel like I should have started with programming in college and made my way upwards in that path, but I can't change the past at this point.

My question is this: based on this information, does putting a couple thousand hours into learning programming make sense?  Or should I just keep running with what I've been doing?   Ultimately, my career is on a nice trajectory, but learning programming could really be the game-changer.  That being said, it IS a huge opportunity cost - I'd potentially do less of other things I'd like to do, like rock climbing, tennis, and learning an instrument.

Any thoughts?  Thanks for reading, I really appreciate all responses.

(a)  Don't downplay the value of a good {program, product} manager.  I don't know if you're a good one.  It's easy to feel less valuable because your contributions are  more intangible, but the act of trying to blend a coherent product vision through the technical people, and shielding them from organizational glorp so that they can focus on getting their jobs done, is valuable if done right.  There's most likely a reason your job exists.  Even at the most engineer-focused companies, projects over a certain size get program managers, and products get product managers.

(b)  Of course it's worthwhile. :) :)  Seriously, though, learning computer science -- not just "coding" -- is good for your brain, and may help you be a better PM in that it may accelerate your conversations with your devs when they err on the side of a too-technical explanation.  A friend of mine is a PM at {name of massively successful game company} as a lead producer on {name of a game many people have played and enjoyed}.  She's not a hardcore computer scientist, but took a set of relatively solid programming classes and got some good experience from them, and I believe it's served her very well despite staying on the management track.

And you might find that it leads to fun side projects.  Learning a new skill is rarely worthless, and programming can help you in almost every aspect of work life.  Seriously -- you'll never look at a boring, repetitive task the same way again.

As a second example, I chatted with one of the people management people at a high-frequency trading firm last year, and she mentioned that she uses python on a pretty regular basis for business process automation-type-things.  The thought processes extend even to the land of spreadsheets, when it really gets down to it, though hopefully learning to program in better languages will spoil excel for you. :)

Don't pay for it if you're not going to get a job as a full-time dev.  But do try to learn some of the CS, not just the hacking.

I teach this stuff for a living, though, so I'm probably biased.

Urchina

  • Stubble
  • **
  • Posts: 198
Re: Is it worth it for a non-technical Product Manager to learn to code?
« Reply #2 on: January 27, 2016, 10:09:40 PM »
Do you WANT to learn to code? Do you like it? Would it make your life now easier/better?

If so, go for it. If not, don't. Life is too short to spend 2000+ hours learning a skill you're not really all that excited about.


mxt0133

  • Handlebar Stache
  • *****
  • Posts: 1551
  • Location: San Francisco
Re: Is it worth it for a non-technical Product Manager to learn to code?
« Reply #3 on: January 27, 2016, 11:37:40 PM »
When you say 'lead' a team of developers are you their manager?  Or are you responsible for gathering requirements and explaining it to the leads and developers.  Then they in turn give you a timeline of when it can be done?  Are you the SCRUM master? 

Career-wise, if they report to you then yes I would say it would be worth while to learn how to code.  Because you can understand the technical challenges and also mentor them.  For me any developer appreciates a PM/Development manager that has some background in programming. 

However if you are only responsible for defining the work for the team and making sure that what ever they develop meets the initial set of requirements then I think you time would be best suited to working skill sets more tailored to project management, such as interpersonal communications, presentations, organizational, ect.

But if you really have a desire to learn to code then go for it, but I doubt it will help you on your day to day responsibilities significantly.

msilenus

  • Pencil Stache
  • ****
  • Posts: 525
Re: Is it worth it for a non-technical Product Manager to learn to code?
« Reply #4 on: January 28, 2016, 12:06:09 AM »
Career-wise, if they report to you then yes I would say it would be worth while to learn how to code.  Because you can understand the technical challenges and also mentor them.

As a developer with a dozen years in the trenches, let me just say that the moment some tie-wearing fucker with a semester of night school Java tries to mentor me on my "for loops" is the moment he's got a head to fill.  Fortunately, he'd be in a better position to do that, since that's about when you're able to code up a linked list.

ulrichw

  • 5 O'Clock Shadow
  • *
  • Posts: 86
Re: Is it worth it for a non-technical Product Manager to learn to code?
« Reply #5 on: January 28, 2016, 12:24:51 AM »
[...]
Background: I'm currently a Product Manager at a small (~120 employees) software company and I lead a large piece of our product. Does putting a couple thousand hours into learning programming make sense?  Or should I just keep running with what I've been doing? [/b]  [...]

If you want to start your own company, the more skills you have the better. The other area that's worth having experience in is sales.

I've been a techie my whole (25+ year) career, including in leadership positions at startups.

My advice is: Try doing some programming - see if you have an affinity for it. If it doesn't come naturally to you, forget it - it's not worth your trouble to be a mediocre software engineer.

My observation is that some people have the "knack" and some don't. There's software engineers and then there's programmers. The former can be worth ten of the latter.

Some of the signs that you're suited for the role is if you find you can visualize how to structure code to solve a complex problem before you write the code. Or that you can dive into a complex piece of code that somebody else wrote and figure out how to fix a bug without ripping the code apart. Or where you can quickly pick up different coding environments because you understand the basic principles that tie them all together. Or you can become productive in a new system without having to first read reams of documentation or code - where you can skim some code and know approximately what it does without having to figure out every last detail. Or you find that you're the one answering questions about a piece of code even though you have spent the shortest amount of time on it.

This won't happen immediately, but you should feel things "flowing" pretty early in your programming career.

Combining the business side with the technical side is a "power play" in startups - so if you have the skill, it will be invaluable. On the other hand, there's no point trying to push string - if you don't take to it fairly quickly, there's better ways to spend your time.

PS: There's a lot more to being a software developer than writing lines of code. So the previous statement from mxt0133 about understanding the technical challenges is a little over-simplified - this is something you'll only learn once you've worked on some big projects yourself - it's not something that any coursework I know of will teach you.

msilenus

  • Pencil Stache
  • ****
  • Posts: 525
Re: Is it worth it for a non-technical Product Manager to learn to code?
« Reply #6 on: January 28, 2016, 12:29:45 AM »
Here's my serious answer: don't do it.

You've got some PHP, JS, and VB under your belt.  You stopped there.  You don't love it.

apoclater

  • 5 O'Clock Shadow
  • *
  • Posts: 54
Re: Is it worth it for a non-technical Product Manager to learn to code?
« Reply #7 on: January 28, 2016, 06:16:15 AM »
Thanks for the responses, everyone, they're all appreciated and helpful.

To answer a few questions:

1. I am NOT the functional manager for any of these developers.  They all report up indirectly into a tech lead, and directly into a functional manager for their practice area (ie front end, back end, etc).

2. I would not be using my knowledge to ever mentor the team.  My objectives in the short term would be to further understand the challenges and be able to communicate with the team better.  In the long term, I'd love to be able to conceptualize systems and build things - right now, it's difficult for me to think about how data models "look" or put together an actual prototype of what I'd like to build for a piece of software on my own time. 

3. My biggest concern with learning programming is that it's a pretty massive time commitment and I don't do it as my full time job (and unless I start my own business, I likely never will).  So ultimately, I'm relegated to learning on nights and weekends and will never get the benefit of looking forward to practicing it in my full-time job in the near future. 

That being said, I think I'm going to dedicate a couple of weeks to trying it and see where I get.  If it's not something I like or comes naturally to me, I can put it to bed. 

Thanks all again - and any further responses are always helpful!

ender

  • Walrus Stache
  • *******
  • Posts: 6539
Re: Is it worth it for a non-technical Product Manager to learn to code?
« Reply #8 on: January 28, 2016, 06:37:32 AM »
If you want to start a software dev company in the future, it's far better to build really strong relationships with all the developers on your team. It's far better to invest those 1000 hours into building relationships with people who are going to code fulltime for the next X years, so when you start this company you have a strong group of people to reach out to, than try to "learn to code" in 1000 hours.

An easy way to do this is ask THEM for help understanding things.  Honest humility is a really useful relationship building thing, because so few people are honestly humble.

"Hey, I've been realizing it's hard for me to really conceptualize data models, do you think we could grab lunch and talk through how I can better approach this?"


Also, if you are a rockstar PM, your skills in a startup will be horribly wasted if you try to force yourself into a coder role.

formerlydivorcedmom

  • Pencil Stache
  • ****
  • Posts: 693
  • Location: Texas
Re: Is it worth it for a non-technical Product Manager to learn to code?
« Reply #9 on: January 28, 2016, 07:58:00 AM »
I have an Information Systems degree, took classes similar to yours. I'm 15 years post-graduation.  My career can be boiled down to: 3 times I've hired in as a straight programmer developing internal run-the-business applications, and 3 times, within a few years I've transitioned into a combination of project manager/process goddess/semi-programmer focusing on databases. 

I've given up trying to force myself back into the programmer model because what I am doing is what I am damn good at, and it also happens to be what I enjoy.

So that's for you to figure out - what do you enjoy, and what are you good at?  Did you enjoy your programming classes?  Did you have any projects in school where you went above and beyond the requirements because the work was just that interesting?

A good project/program/product manager is invaluable.  I'm a (part-time) developer on a huge project right now where the PM role is not filled adequately, and the project is an f'ing disaster, which means I am working crazy hours to try to get it back on track.  It has nothing to do with the current PM's lack of coding knowledge - it has everything to do with expectation-setting and organization.

If you are good at what you are doing, keep it up.  If you start your own company later, you can always hire good developers.  In your current job, you should be able to figure out who is successful and who is not and why.  That kind of insight will help you hire later.

If you are determined to become more technical, my advice is to look into the data side instead of the strict coding side.  Familiarize yourself with database rules, how to design tables well, etc.  That kind of logic and big-picture layout is extremely useful, and it often comes more easily to people like us.

nobody123

  • Pencil Stache
  • ****
  • Posts: 519
Re: Is it worth it for a non-technical Product Manager to learn to code?
« Reply #10 on: January 28, 2016, 12:42:25 PM »
I graduated with an MIS degree ~15 years ago.  I spent the first 7 or so years as a programmer, then moved up the management ladder.  Occasionally, I will help the devs under me whiteboard something out to get the flow right (if there is some business process they haven't encountered before) or to illustrate a point, but I haven't written a line of production code in at least 3 years.  Like anything, as technology advances at a rapid pace, you need to keep learning and practicing to keep your coding skills relevant.  The frameworks, languages, and technologies that my folks use in some cases didn't even exist when I was last writing code, and frankly I don't have the time to stay up to date on all of the stuff they use.  If you're going to try to learn it all in your spare time, good luck.

If you want to learn to program for some reason that will make you money (code an iOS app and sell it on the store), great.  If you are going to learn whatever language your team uses so you can "talk code" with them, don't bother.  As a previous poster said, the hardcore devs can run circles around you and won't take anything you say about code seriously at best, and worst case it will actually damage your relationship with them if you appear to be telling them how to do their job.  When I wrote code, I appreciated a business analyst / PM who would deal with the end users / customers / bureaucracy so I didn't have to. It's a valuable skill and is appreciated by the team.

Don't sell yourself short.  I'm sure you have people skills:  https://www.youtube.com/watch?v=nV7u1VBhWCE

Personally, I would invest the time you would have learned programming into something like getting your PMP certification or whatnot that will help you get a raise / promotion.

Le Dérisoire

  • Stubble
  • **
  • Posts: 107
Re: Is it worth it for a non-technical Product Manager to learn to code?
« Reply #11 on: January 28, 2016, 12:58:47 PM »
I'm a lawyer. The computer people in my company are in another building across the street and I never talk to them.

Yet, I recently learned some ruby and swift, just because it's fun and because knowing how to code is the fucking future. I'm still at a beginner level.

Learning to code will not take you away from your hobbies. It is a hobby by itself if you have the right mindset. Just find something useful you want to code, then do it. For ruby, I coded an AI that can play an internet board game against other AI. For swift, I coded an iOS app that I can actually use at work and does not exist elsewhere. It's very fun and addicting!

FrugalBuff

  • 5 O'Clock Shadow
  • *
  • Posts: 9
Re: Is it worth it for a non-technical Product Manager to learn to code?
« Reply #12 on: January 30, 2016, 11:55:11 AM »
I value strong leadership skills more than any technical knowledge. My favorite manager had a BA in English but was really good at letting technical people be technical. They mostly got out of the way and kept our team protected from higher level management. They had a lot of trust in our team and knew that when we slipped our schedule we working hard to get things done, but they understood that sometimes programming is complicated and telling us to work harder wouldn't make a difference. Unless you're really passionate about programming I'd focus on learning to be a great leader.