Not Your Father's Java: An Opinionated Guide to Modern Java Development, Part 1