> . But it is when I tried some theoretical courses that I realized how much I had to learn in this domain.
> I never learnt anything about advanced algorithmic, or graph theory before, or language semantics. But in the end, by knowing all that I really look at a problem with a different point of view than before. I am able to imagine some new tricky algorithm etc.
This is exactly what I have found myself going through since making an attempt to switch to 3d video game development. Specifically with the game I'm currently building and some other things I've wanted to get involved with (I've taken an interest in AI lately... like everyone else). I can see how having more math in my past would help greatly.
That said I've been studying algorithms and supplementing my math with books from the library. I also have a list of bookmarks to various CS courses. I just need to block out time and watch them.
I never learnt anything about advanced algorithmic, or graph theory before, or language semantics. But in the end, by knowing all that I really look at a problem with a different point of view than before. I am able to imagine some new tricky algorithm etc.
All of that to say : It depends on what you seek going to college. You will be bored if it's just learning some new language, because you either know them already, or you will go faster than the course. But if you want to learn some more theoretical knowledge, you will learn some new stuff for sure. Then again, I don't know where you live, and college might be quite expensive in some country, so I can't tell if it's really worth the money (since you already have some years as a developper). But it is totally worth the time imo.