Code kata in my opinion is the superior way to learn. Code through practice and repetition, just like every other skill.
Ironically, you can read a book about it https://www.amazon.com/Pragmatic-Programmer-journey-mastery-...
https://www.amazon.com/Pragmatic-Programmer-journey-mastery-...
Join 4,500+ subscribers and get the best books mentioned on Hacker News every Thursday.
+1 on CI & automated tests BTW.