Quick Thoughts on AI-Powered Coding Assistants as a PM

I haven’t coded professionally since 2018 but the late nights I spent debugging code in my college’s “dungeon” (CS lab) are burned into my memory. A few weeks ago, I started messing around with AI-powered coding assistants to better understand how they can be integrated into my Product Management workflow, so I entered the same prompt into a few assistants to see how their solutions differed. There was magic in seeing software being built so quickly from a few words, but I found the solutions overly complicated, the UI design choices distracting, and visualizing the project structure difficult. They were great for practicing “working backwards” and refining the problem I was trying to solve but I wanted a mutable skeleton.

I abandoned the experiment and focused on something simpler, building a basic personal website, and I was able to build one, from nothing to hosted, with Cursor in a few hours. It blew my mind.

Cursor’s agent provides enough coding abstraction to focus my attention on defining what I want to build instead of the programming language I am using. In addition, the agent being integrated into the IDE reduces the amount of context switching I’m doing investigating how to implement a component or debugging an issue in the code base. It felt easier to focus on ideation and building for a longer period of time because I wasn’t hopping back and forth between different tools.

There are plenty of AI-powered coding assistants to choose from these days and I was hesitant to dive into an IDE off the bat. Being a PM there’s an emphasis on using tools that only enhance productivity related to problem discovery, high-level ideation, and development planning, and I thought being that close to code again would add unnecessary work to my plate. To be honest I also wasn’t sure if my coding experience would be enough for the tool to be valuable to me since Cursor is marketed towards “technical” folks. What I found was that the time I did invest into building a solution with Cursor paid off in a deeper understanding of the development process and made it easy to investigate curiosities without creating distractions.

While having some experience with coding was helpful for using the IDE, the agent made it less about knowing how to write code in a specific language and more about knowing how to specify what I wanted and how to debug the system when something went wrong. If you’re intimidated, a basic intro-level programming course is enough to get started using Cursor. I’d like to write up some tips in another post but for now I want to emphasize that these skills are very attainable for Product Managers and make for better collaboration.

There’s an elephant in the room that needs to be acknowledged when we talk about PMs using AI-assisted coding assistants. At most companies, there’s an unspoken tension between PMs and their partners during collaboration… if I, the PM, mock up an experience or engineer a prototype, am I overstepping into my designer’s or my engineer’s responsibilities? When I worked at Apple, your direct responsibilities were called your “sphere of influence”… working past your sphere was a big no no. It’s a relic of the hierarchy that’s been necessary historically to build many interrelated products across different organizations with thousands of employees for millions and millions of customers.

If we really want to stick to the way Software Development companies have defined roles in the past 5 years, the truth is that the type of person that will excel doing AI-assisted software development is a TPM, a generalist who can clearly identify and define customer/business problems worth solving in addition to understanding a little bit of everything in the cycle to get things moving: design, engineering, testing, etc. But I hesitate to even write this because there is so much pressure across roles to maintain relevancy and the hard line between the way roles are defined is something the industry needs to evolve past. At the end of the day, if a team is truly collaborating, there is very little ego about how they reached a solution.

Tangent aside, AI-powered coding assistants make me excited to build software. With Cursor, I was able to build something tangible quickly and learn along the way. I feel satisfied with the project I built and motivated to continue turning ideas into a reality. Bottom line – It’s the most fun I’ve had coding maybe ever. If Cursor were to add functionality for non-technical users, I would love for the agent to suggest or integrate prompt engineering techniques into its outputs. This would increase satisfaction with the agent’s outputs and help users move past the friction of development roadblocks.

I truly believe there’s a future not too far from now where people who are currently labeled as non-technical will be capable of end-to-end software development. Don’t let the big, bad, dark mode IDE stop you.