Great advice, thanks!
> Usually homeworks get very easy which is a good sign
I agree, but having homeworks in itself is a big advantage! It means you're in a structured learning environment where someone has taken the care to create a learning path and added checkpoints with carefully designed problems designed to refresh + assess what you've absorbed until that point.
When you're learning outside the classroom (for yourself or on the job), there's this sudden loss of all bounds where you now also have to draw a line of what knowledge is reasonable to acquire and what is out of scope. For example, when working independently on personal projects, I sometimes get sucked into reading about the details of protocols, standards, RFCs etc. and have a difficult time deciding when to stop.
One answer is learn just enough to solve the problem at hand at move on, but if you're in a field like eg. security you feel an obligation to do your due diligence when designing something. And of course, with LLMs now it's possible to move past any problem without learning anything at all, so you have to be even more intentional in which things you do decide to learn.
This is why I always recommend an education over self learning programming. I can absolutely see the argument in places like the US where it costs an arm and a leg, but in Europe and other places with free education it's pretty much a no-brainer to me.
Not only does it help you learn in a structured way with predetermined goals etc, but you end up with fairly solid evidence of what you've learned.
I think the self learning path is much more difficult, both figuring out what to learn and then proving what you know to a potential employer. I tried that first and did learn some things, then I tried calling a potential employer who asked me a few questions, quickly assessed that I wasn't up to their standard and recommended a formal education. I took his advice and my career was pretty much on rails from then on.
A common argument is that they teach a lot of "useless" stuff and you can tailor your learning better on your own. I think it's really hard to figure out what to learn when you have no idea what the options are, and I think you won't know what's useful until you end up using it. Many people go through their whole careers doing things the wrong way because they don't know they need to learn something that would help them do better. There's also nothing stopping you from learning extra things beyond the curriculum, in fact I would recommend that.
Another common one is "I didn't learn anything in university" and all I can say about that is if you spent 3 years where your job was learning, and you didn't learn anything, then that's on you.