Учу Java. Как развиваться?
Если вы метите в джуниоры, то вам нужно несколько изменить порядок книг в вашей очереди. 
Отложите алгоритмы и TDD на последнюю очередь -- это безусловно очень важные темы, но для вашей цели не первоочередные.
Познакомьтесь с паттернами (GoF) и "Рефакторингом" Фаулера.
Прочитайте вдумчиво английское издание Effective Java Джошуа Блоха. Не загромождайте (поначалу) голову паззлерами.
Ну и, наконец, сформируйте то, что нужно работодателю -- кругозор. Получите представление о вещах, вращающихся вокруг Java. Вот вам набор ключевых слов: Java Collections Framework, Java EE, Spring Framework, Maven, Glassfish, JDBC... Не нужно углубляться. Осознайте, что это такое. Изучите туториалы. 
Я считаю, для поставленной цели этого достаточно.
В бумажном варианте хороша эта книга Алгоритмы на Java.