Are there good resources out there? What should I pay attention to?
So first, define your end goal. Then work backwards - if you want to be at point Y in 5 years, you need to be at point X in 4 years, W in 3 years, V in 2 years, and U next year... so how do you make that first move?
Role is important because being a software development manager requires different skills than being a senior developer. For the latter you need to code more, understand how things work under the hood and develop a strong grasp over the fundamentals. For becoming a manager, understanding systems while preserving some abstractions is important. You also need to understand people and how you can effectively delegate. Similarly, there are other traits required for being a technical writer, a consultant or a technical program manager. Once you know the traits that will be useful for your future, invest time to nurture them.
Secondly, figuring out the area is important since you want to enjoy your work. It should be something that you are naturally excited about and see a value in. An area can be something as broad as software infrastructure or as specific as distributed message brokers. Once this is figured out, you can intensively read up on the relevant topics to gather knowledge and develop depth. This should be helpful to establish yourself as a domain expert regardless of the role you play later. However, you do need to try out a lot of things to discover which one of them intensely resonates with your interests. This process should involve working on small side projects and reading up. Being naturally curious helps.
When you interview, people tend to ask you what you're looking for and wanting to write more code to get more experience is a great reason to look for a new role.