Other than plain Java, I also need to learn about a bunch of other technologies like servlets, spring, JPA, etc. The tutorials, blog posts, etc I found related to these technologies use a lot of design pattern-y and Language full of abstraction. I'm not able to grasp how I should go about learning these things.
I started with spring yesterday, but the blog posts delve directly into vague topics and design patterns that I cannot wrap my head on. How should I proceed in learning these things?
I have tried to read the code of and contribute to Open Source projects like LLVM and MongoDB but its very tedious to get into. For almost the whole past year I haven't learnt anything new or atleast worthwhile. I tried getting into Machine learning but the Math was overwhelming.
What should I learn so that I can become competent for jobs other than web development?
EDIT: GitHub: https://github.com/ayushgp