Английский безусловно нужен, но рекрутеры некоторых компаний говорят, что разговорный английский нужен на уровне senior или team lead.
Я бы советовал мониторить вакансии и собрать общий знаменатель знаний, необходимых Java разработчику.
В первую очередь изучи Java Collection Framework - он нужен в любой программе и его часто спрашивают на собеседовании.
В 1С со структурами данных уныло - есть список значений и таблица значений, в нормальных языках с этим гораздо интереснее и многообразнее.
Начать можно с вышерекомендованной книги Хорстманна.
В дополнение к JCF можно пробежаться по википедии - подтянуть знания по структурам данных, на собеседовании могут спросить.
Изучи многопоточность - в инете есть много на эту тему и на русском в том числе.
В свинг глубоко закапываться не советую, так как десктопных приложений разрабатывается мало, а если разрабатывается, то это может быть SWT.
Изучать глубоко JEE на первых порах тоже не советую, так как или погрязнешь или отпугнет, да и сейчас много проектов строится на Java SE.
Из JEE лучше взять сервлеты и, может быть, попробовать jdbc.
Из контейнеров сервлетов я бы порекомендовал Jetty, т.к. его не нужно устанавливать, можно встроить в свое приложение.
Компонентные Web фреймворки я бы не советовал, попробуй Spring MVC.
Попробуй сделать web-приложение, частично повторяющее то, что ты делал на 1С.
Или попробуй реализовать механику 1С-ных регистров на Hibernate - это будет жесть, но в результате ты познаешь Hibernate
И еще, сразу начинай новые проекты на maven, у black-zorro было неплохое введение.
Социальные закладки