Learning to programme as a Product Manager (part 1)

I'm currently taking CS50's Introduction to Programming with Python course, here's my half way report.

🖊️ Kit France

📅 08 June 2025  |  🕒 7 minutes to read

🏷️ programming, python, cs50

I'm learning Python - a programming language - to build my technical skills. I choose Python because it's often considered one of the easier languages to learn and is a little more readable then JavaScript along with being multi-purpose. We also have Python in our tech stack at work.

I'm now half way through CS50's Introduction to Programming with Python course and wanted to share my thoughts so far.

CS50's Introduction to Programming with Python #

I was going to take Replit's 100 Days of Code but after completing CS50's Introduction to Programming with Scratch course (I had already taken CS50's Introduction to Computer Science for Business Professionals - highly recommended), I decided to jump into their Python course.

Note

I didn't do the Scratch course problems / projects but I did create some of my own

Comparing CS50 to other courses, the topics / modules seem to cover a greater scope of Python. Each module has a lecture lasting about an hour followed by short supporting videos. Crucially the course is designed for students with or without prior programming experience.

The course has problem sets that you can turn in to receive a certificate. It's not the same as a college course I guess where you have to turn in these problems but I'm making myself do them (unlike Scratch!). Pre-empting the section below, programming makes you think. There're about 5 problems for each module and the difficulty varies. For a total beginner like me they can be hard! You get some hints, but as this is a HarvardX course I think back to my Uni days where knowing the course material only got you so far... further reading required. Ultimately, for me doing is the best way to learn. I even recently found myself writing a budget calculator programme instead of using a spreadsheet!

I've just finished module 4 on Libraries which covers how to use Python to call an API and use the returned data - great for product managers to understand 🐍

Important

You need discipline to work through the problems, they're challenging for a newbie but doable in many different ways. You just have to get stuck in and do (or try 😂), that repetition is what makes the knowledge stick.

Why learn a programming language #

Programming makes you think #

"Everybody in this country should learn how to programme a computer, because it teaches you how to think" - Steve Jobs

Famous quote from Steve Jobs and I can now strongly emphasise with it, programming forces you to think logically. Your programme won't work or run as expected otherwise.

Right now, I'm still struggling to think logically to solve some of the course problems, but I'm improving with each module 😄

Programming makes you appreciate enabling technology #

In Marty Cagan's product management bible Inspired, Marty talks about two critical classes for product managers.

  1. Introduction to Computer Programming
  2. Introduction to Business Accounting / Finance

Here's Marty's explanation from the book why we should learn programming:

"It will fundamentally expand your technology horizons and enable you to have richer discussions with your engineers and designers" - Marty Cagan, Inspired

When the team did a recent show and tell, I was able to understand the validation flow we were discussing - it wasn't even Python - and what was going on in the code. In another show and tell reviewing a new AWS Lambda function, I was able to understand the majority of the code - this one was Python - and ask technical questions! All this after 5 modules of an Introduction to Programming course.

I'll be honest, growing up I didn't have an interest in programming. But after enjoying building this website, and gaining new appreciations, I'm enjoying learning to programme. Am I going to change careers to be a developer, no, but I see the value in how it can make me a better product manager, and hobbyist developer 👨‍💻

Note

Marty talks about learning any programming language but not a markup language such as HTML. After building this website and learning some programming I get why. HTML doesn't really teach you how to think, you just need to get something written down a web browser can read - CSS then makes it pretty. Both are important to understand in their own context as many technology products have a user interface. A programming language takes it behind the scenes.

Wrap up #

That's my half way report into learning programming with Python. When I've finished the course I'll write a "part 2" and go into details on my final project.

If you're reading this and still aren't sure if you should learn a programming language, just do it, you've got nothing to lose and skills to gain!

Thanks for reading 🤙