I've talked to a few people about this to try to gather some opinions because for a long time I was stuck at a middling intermediate level. Quite a few of my teachers suggested to just constantly read, to read as widely and as much as possible. They told me not to be discouraged by the number of words I didn't know, because it's not necessary to know every word to be able to determine context, and to only look words up if not knowing really affected my understanding of the sentence.
That worked for a little bit, but personally I found a more active engagement much more productive. For me, this meant looking up every single word that I didn't understand (and I know, at the beginning it's kind of disheartening and stressful) and having a notebook next to me to write down the meanings. The point of this wasn't that I was going to look over the lists and revise them all constantly (although that probably would've helped, but I am lazy XD) but the fact that writing things down simply helps words stick a lot better. I found that if I read a word again and couldn't remember the meaning, I'd just look it up again and it'd stick the second time. That's the good thing about reading, they repeat a LOT of words.
One more thing I found helpful - to write synonyms. For example when I learned about verwenden I'd write = benutzen next to it instead of "to use". And also to be aware there's a more formal register used in academic writing as in English. Also I aimed to read a news article a day, and it doesn't have to be long, just a topic that interests you (but because I'm a lazy person, that may not have entirely come to fruition).
I am impressed that you're entirely self taught! May I ask you how you went about it?
I hope this massive wall of text was somehow helpful to you.