As a non technical founder, I am trying to manage and align the progress of the non technical team and the technical team towards our milestone. The challenge that I am facing is mapping out the product roadmap. Because of my limited technical knowledge, I can't see as far as I'd like to while taking into account bug fixes or technical challenges that we are facing. I am now working with my technical cofounder more closely in terms of understanding our product's technical stack so that I can better predict the challenges and potential of our product and work together to lay out the roadmap. I was thinking of picking up basic programming so I can at least understand what my dev team is telling me instead of trying to imagine it. Is this the right approach?
As a non-technical product manager who has wrestled with this exact question, I think I can add value to this conversation. Given the answers from other folks, I'll only comment on the aspects of your question that haven't been covered.
Namely, YES, you should pick up basic programming skills if you can spare the time to do so. It will help you in a number of ways, including the ones you alluded to. The more conversant you can be, the fewer instances where you will be confused in meetings with customers (where gathering requirements can get technical). Also, by being more technically competent, you'll spend less energy and time getting explanations and summaries from your tech guys.
You don't need to be a programmer to manage a technical team, especially if you are a competent product manager, who understands the user and business side of the product and roadmap. It's best to ensure you have a solid relationship and good communication with your technical people, especially your technical co-founder.
So, for the most part, learning some code will help YOU a lot. But in terms of management, you wouldn't need to know programming to lead unless your communication/relationships are not as healthy as they should be. Then it can help you cut through some obfuscation behaviors that sometimes come up when business and tech don't work in concert as well as they could.
Final point: learning some programming skills requires time. So does running a startup. It's challenging to do both without sacrificing the quality of your learning, or the outcomes of your efforts. In my opinion, setting aside time for this is only worth it if you have no other options. It seems like you have a technical cofounder that will help you. From a resource standpoint, that is far more effective and less disruptive than learning to code.