Alessandro About that Grokking Algorithms book, big O doesn't tell you everything even when n gets fairly large. Take a look at the recent work on multiplication of large integers, for example. Sure, that spiffy new O(n log n) algo looks better than the old O(n¹.⁵⁸⁵) until you get to the "we are hopeful that with further refinements, the algorithm might become practical for numbers with merely billions or trillions of digits." 🤯
I had similar experiences... I would say the hardest part is showing up, and persisting that is the 80%. If you show up and leave at 4:30pm you don't get forced into thinking and executing (this is crucial during the early years). Software development is not easy, and a lot of the college education is questionable for some fields like web development. But for specializing like AI, Robotics, Parallel Computing I think it is required as a starting point. Glad you were able to move forward, next I would recommend going for a different backend language (Go, Python, or Rust are good candidates)