Personnaly, when I feel like wandering off, i let it go. I stop working even if it has to be for 1 or 2 hours. Once I feel I had enough, I take a huuuge cup of coffee (or energy drink, your choice), then I get back to work. When I come back to it, I realize that I have a lot to do in a short time (since I did nothing for the past 2 hours), and the caffein is kicking in. That's when I'm the most productive, and how I manage to get things done.
HN user
Nelyah
I will take the point of view of someone who went to college. Actually I just graduated from my 5th year(I think it's master degree) and going to PhD in computer science. To understand what I want to explain, you need to know that I began college with 3 years of biology, and then switch to computer science. It is only in my 3rd year that I realised how much I loved computer science. I worked my ass off to get directly from 3rd year of biology to 4th year of computer science, so I basically learnt everything by myself too. In the end, I felt that every "practical" classes were pointless. I don't need someone to learn a new language, and it seems you don't either. 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.
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.