Two things really helped me. First was the series "Ethereum from scratch" by Matt Thomas on YouTube.
Second was gitcoin.co. I would pick up random bounties on there, often slightly beyond my skill level so that I would learn faster. You quickly build relevant skills and just as importantly you are building working relationships with companies and peers whilst getting paid to write open source software. To start out I would take on the issues that are entirely writing tests; it's low stakes so you're not going to break the product and you learn as much as if you were writing the code that you are writing tests for.
I've been out of it for a couple of years. Not because I disliked it, just had other opportunities come up. I expect some things are very different today and some the same. Pay was great, it has only gone up since. Projects are people are extremely varied; some of the most talented people on the planet working on compelling ideas to scams and more general time wasters. Sometimes all together in the same company.
Second was gitcoin.co. I would pick up random bounties on there, often slightly beyond my skill level so that I would learn faster. You quickly build relevant skills and just as importantly you are building working relationships with companies and peers whilst getting paid to write open source software. To start out I would take on the issues that are entirely writing tests; it's low stakes so you're not going to break the product and you learn as much as if you were writing the code that you are writing tests for.