The first thing about programming in Java is that one should try to use Kotlin if possible and use Java only if absolutely required.
Some other points I figured out:
- Most frameworks that implement standards won’t be very much documented on what they do or how they do it. This is because the standards itself form some sort of documentation. Find the standard on jcp.org and read from there to get context on how implementations work.
- Think in terms of real life objects for everything. When writing methods, try to use declarative style that lambdas and streams bring.
- On that matter, listen to every talk by Venkat Subramaniam
Database / Persistence
It will be tempting to use Hibernate. But it is cake mix. Use jooq if you want. Or even sql2o.