
Remarkable careers don't come by chance. You can't afford to sit back and let your job decide your future - it's time to take control.
Depending on the tech stack you're interested in, I would also strongly suggest reading foundational books that go deep into that platform (e.g. the Java Language Specification if you're into Java [1]). These are not things you necessarily need to read end-to-end or understand completely, but your global understanding of your chosen platform will expand significantly.
Systems Performance by Brendan Gregg is another useful classic. While it's about performance, it touches upon a huge number of important topics (from memory allocation to pretty graphs), perusing it will make you smarter.
The Passionate Programmer (2nd edition) Creating a Remarkable Career in Software Development by Chad Fowler https://pragprog.com/titles/cfcar2/the-passionate-programmer...
You can check it out before buying at either of the following:
https://www.pdfdrive.com/search?q=chad+fowler&pagecount=&pub... OR https://u1lib.org/s/chad%20fowler
My choice is to start from Charle's Petzold Code because it is the most beginner programming book I know book which really need popularization. Yakov Perelman has written some awesome nowadays forgotten books for kids, but they are about sciences not about programming.
I used to listen many audiobooks in my adolescenthood, some of them with cool audio effects. I named some books which I want to be read or listened in that age. Now I hate listening anything except podcasts or good retro music. Now I can read with my eyes too fast to bother about slow-pace and sometimes shortened audiobooks. I would continue to listen if there existed an mp3 player with 5 second backwards button and ability to change a speed with a fader without looking at the screen.
When I was in college I read The Passionate Programmer by Chad Fowler, which was my first exposure to the concept of treating yourself as business even when working for an employer.
Later on a found Patrick Mckenzie's blog, via his blog post on salary negotiation. https://www.kalzumeus.com/2012/01/23/salary-negotiation/ Which lead me to discovering a bunch of other great posts.
I could go on, but the moral is to seek out successful people that are willing to share their story.
There's a general focus in that book about building your personal brand in an organization so you basically have leverage to do what you want.
Beyond that, the short answer is to assume the role. Take on a PM-like presence amongst your team if you haven't already - ie. help any PMs you're currently working with on small tasks, ease their burden where you can - then have a candid discussion with your supervisor at some point about how you can see yourself in such a role.