Why learning to code as a PM may just be the most valuable hard skill to have

You’re a PM. Should you learn how to program? Is it worth it? And if so, how do you get started with learning how to program?

Why you should learn to program

Learning how to program is absolutely worth it.

It’s going to help you communicate better with your engineering team.

You’re going to be able to better gauge estimates for how long things will take.

And you’ll be more competitive in the job market.

But it’s not going to be easy

Now, that being said, learning how to program does not come without its challenges.

It’s going to take a lot of patience. There will be very frustrating moments when you can’t figure out why something isn’t working.

And if you don’t have a background in programming or you haven’t dabbled in it at all, it can be very intimidating.

But…once you have that first “aha” moment where your code starts to work and it does exactly what you want it to do I can almost guarantee you that you’re going to be hooked.

Getting started

Sound good? Great! Now, where do you start?

If you’re totally new

If you have zero experience with coding or programming, the first thing I would recommend is learning HTML and CSS.

Now, while this technically isn’t a programming language, it is a strong and firm base from which you’ll be able to build a lot of your technical skills on. By knowing HTML & CSS, you’re going to be able to do a lot of little tasks here and there without even having to bother your engineering team.

Need to change some copy? Cool. Go in and get that done. Need to maybe change the styling on email marketing template? You’ll be able to do that.

HTML/CSS also has a quick visual feedback loop, so you can see how what you’re doing in the code effects how things display on your screen.

Already know some basic HTML/CSS?

After you understand HTML/CSS, what’s next?

One option is to learn more about what your engineering team is using already.

Say your engineering team is using Ruby on Rails. Learning ruby is probably going to be your most logical first step.

Now, if you’re still aspiring to be a product manager and you don’t have an engineering team to talk to right now, I’d recommend going with JavaScript or Python.

They are both very popular languages at the moment and good ones to start off with. Python may be a bit more beginner friendly than JavaScript, but it really depends on what you’re into.

Go through books, tutorials, documentation, whatever it is that you like and however it is that you like to learn. It’s going to take a bit…at least a couple of hours every week for a couple of months to get familiar with the language.

But once you’re familiar, learning other languages is going to be much easier.

Got a language under your belt already?

Once you have learned a language, it’s time to build a project or find a framework to learn.

After I learned Ruby, learning Ruby on Rails was the next logical choice — especially since I enjoy SaaS apps.

If you’re more of a machine learning person, maybe your next step is to learn something like NumPy or TensorFlow or Pytorch.

If you picked up JavaScript, check out a frontend framework like Vue or React or a backend framework like Node.

Go through tutorials for the next step of your choice, find a little project you can work on, and jump into it. Bonus if you actually complete it and can add it to your portfolio.

Bam! You just became instantly more desirable as a PM candidate.

In review

Learning how to program will help you be more competitive in the job market, even if it make take some time and be frustrating at moments.

But, when you have that first aha moment, you’re going to see why some people really love this line of work. Plus, you’ll be able to take care of small technical tasks on your own.

We wish you the best of luck on your programming journey, should you choose to take it.