I'm a math major that's been a front-end developer for three years. I used to not mind lacking a formal computer science education, but I'm starting to realize that's because the problems I have been working on have, frankly, not been very technically interesting.
My current big interest is accessibility, and that eventually led me to doing open-source contributions to the accessibility module in Chromium. I've done around 5-6 bug fixes, 2 improvements to tooling, and 1 moderately sized but straightforward enhancement (it's just updating an ARIA attribute to support multiple IDREFs instead of one). It's opened my eyes to the world of programming outside of web development and helped me grow as an engineer, but as I interact with more and more talented people it's making me woefully aware of how much knowledge I'm missing. It doesn't help that my best friend DOES have a formal education and works for a relatively popular Linux distribution, although it is cool to hear the technical problems they deal with.
I'm currently motivated to fill in my gaps because I think it's cool to help push the accessibility of the web forward. I want to become a better engineer so I can do more in that space (planning to use https://teachyourselfcs.com/). But at the same time, it's demotivating when you're surrounded by people who have been coding since they were 11 or whatever. It's probably also not great for my self-esteem that I've been unemployed for a little less than a year (quit my last job due to some unrelated trauma/depression that's more or less resolved with lots of therapy).
Read the great books of the field, starting with the Mythical Man Month, because all the others refer back to it.
Do one of the CS courses they mention on here once in a while. Online, self-paced whatever. (Oh, see you've found one.)
Don't rush it, expect it to take several years at a part-time pace to get fully up to speed. Yet, you never stop learning in this biz---don't take it personally. Was telling a younger person recently that there is an overwhelming amount of things to learn as a software dev these days. I had the benefit of learning it piece by piece over a couple of decades from the ground up as it was invented. Not so today, don't be too hard on yourself.
I think you already have great ingredients to up level your skill:
* an area you're curious and passionate about (Accessibility)
* already contributed bug fixes, improvements to tooling, and 1 moderately sized enhancement to a widely used piece of software
* surrounded by people better than you
My advice is to try and build something from scratch yourself. That will allow you to discover and learn a lot more.
What is the programming language that you have the most expertise in?