Самообразование для junior to midle java dev

Проблема:
Я разработчик с годом опыта, текущая работа сильно не устраивает по многим причинам (плохо налажены процессы, суть работы на 90 процентов совсем не касается программирования, нет развития). Найти работу достаточно сложно с таким малым опытом, рынок как то проседает, везде хотят минимум 2+.

Варианты решения:
1. Ждать с моря погоды и надеяться что кто то подберет в скором времени
2. За год самостоятельно освоить middle уровень, стек технологий который позволит через год без особых проблем найти хорошее место.

Вопрос:
Пункт 1 из вариантов решения не очень надежен, поэтому хочу всерьез взяться за пункт 2. Интересует как раз список must have. Простой пересмотр вакансий помог выделить среди востребованных spring, hibernate, java EE6 ну и английский. Меня интересуют также апликейшн серверы, СУБД и просто хорошая, более продвинутая, сторона программирования, возмножно еще какие то хорошие востребованные фреймворки помимо spring, hibernate, java EE6. Собственно вопрос: что еще учить?

зы: не выделял ООП, Java Core, проектирование и паттерны так как это то, что база которая уже в принципе есть. То что неплохо свой учебный проект наваять и положить в гитхаб тоже знаю, вот думаю чего туда напихать.
зыы: порекомендуйте пожалуйста литературу по:
Проектирование БД(нормализация, денормализация и другие умные слова чтоб понимать) — это самое интересное
Spring MVC
Hibernate
MySQL

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Вначале я предлагаю подойти к менеджеру и TL и спокойно обсудить ситуацию — попросить больше тасков, может какой-то миддл/senior возьмет вас под опёку чтобы поменторить, а самому потренировать soft-skills и лидские качества, это все реально. Руководство не телепаты и не всегдя угадывает что вы реально хотите и что вас блочит в работе, если вы об этом молчите. Попробуйте, ничего не потеряете.

Прежде чем куда-то двигаться нужно понять где вы сейчас находитесь, трезво проанализируйте
что вы знаете и владеете на данный момент, в чем вы очень сильны, а на что нужно обратить внимание. Можете попросить feedback у своего лида.

Теперь вам нужно понять куда вы хотите попасть — это должность миддла. Вам нужно понять что миддл — это разработчик, способный качественно решить любую задачу на проекте, кроме разве что полномасштабного проектирования и выбора технологий. Миддл — не знаток всех фреймворков на свете и всех спецификаций JEE, он способен выучить и разобраться в короткий промежуток времени. Также хорошо владеет англ. языком и вполне способен общаться с заказчиками/аналитиками и другими участниками проекта.

Начните с Java Core, только после этого есть смысл учить фремворки к тому же 60-70% вопросов на собеседовании по Java Core. Если вам понадобится Swing или Апплеты то вы их легко выучите. Рекомендую эти 2 книги:
www.manning.com/gupta
www.manning.com/gupta2

Далее я бы рекомендовал хорошо разобраться в Servlet/JSP, понять что такое веб-контейнер, сессия, фильтр. Лучшая книга, хоть и немного устарела:
Head First Servlets and JSP: Passing the Sun Certified Web Component Developer Exam. Задумаете сдавать новый одноименный экзамен уровня Expert от Oracle — доучите 10-15% разницы.

Spring — достаточно объемный. MVC тут тоже есть 1-2 главы. Я бы рекомендовал прочитать обе эти книги, т.к. в 3-м издании много что выбросили и сократили. 4-е издание я еще не читал, поэтому прокомментировать не могу.
www.manning.com/walls3
www.manning.com/walls4

Hibernate — с головой хватает Java Persistence with Hibernate, можно предыдущее издание. Вот новейшее
www.manning.com/bauer3

Проектирование БД(нормализация, денормализация и другие умные слова чтоб понимать) — это самое интересное
Есть одна фундаментальная книга издана в приличном виде на русском языке: Введение в системы баз данных Крис Дж. Дейт. Книга очень фундаментальная и большая. Поэтому есть смысл почитать первые главы, разобраться с основой и без необходимости не влазить в дебри 7-й нормальной формы.
MySQL
Любая книга, если вы не будете работать DBA, то основ вам будет достаточно.

В некоторых местах требуют хорошие знания JS, в основном jQuery конечно, но попадаются еще всякие фреймворки — имейте ввиду. HTML 5, СSS 3 — тоже надо знать.

P.S. Не спешите сжигать мосты, выучите это все и возможно вам даже не придется уходить и вам предложат приемлемые условия на старом месте.

Спасибо большое за развернутый ответ! По поводу предложения с текущей работой — уже пробовал...

Учись, делай проект, ищи подработки, берись за любую работу, тренируйся для собеседований по вопросникам из Java сертификации, учись составлять резюме и не тупить на итервью, найми репетитора по английскому, голодай, страдай, вкалывай.

Что учить: почитай описание вакансий. Две основные категории: веб и андроид. Советую веб.
Тебе точно нужно знать IntelliJ и её базовые шорткаты и рефакторинги, знать Java Core (коллекции, парсинг XML), базы данных MySQL или Postgresql, Maven, JDBC, JavaScript.
Полистай этот форум, почитай.
Я вот сам недавно в блоге накатал советов stokito.wordpress.com/...жно-студенту-ч

Вот тут можешь найти полезности www.vitaliypodoba.com
Вот тут курс есть небольшой от Кучина kuchyn.com.ua/...category/uroky
Ещё есть группа в линкедин где проскакивают полезные ссылки www.linkedin.com/...Juniors-4755943

спасибо, по поводу парсинга xml знаю jaxb неплохо, мб какие то другие варианты более «модные»?

Я для себе за орієнтир взяв цей зріз технологій:
i.piccy.info/...00855/Image.png

доречі, може також підкажете якесь зручне, просте ПО для проектування БД, що можна було виставити зв"язки і візуально все побачити? Бо я зараз фактично все в блокнотику роблю, незручно і повільно...

Спасибо, офигезная картинка, примерно то что я и хотел!

Ну смотря что за СУБД, например sqldeveloper для OracleDB очень и очень неплох, также вроде для мускуля неплохой клиент есть...

а чего это ты не присоединился к группе изучения джавы ?)))

мне не нужно учить SE, вроде знаю в достаточном количестве, но спасибо

Ждать? Это глупо. Нужна динамика. Ходите на собеседования. Ищущий — да найдет)

Ну беда в том что их даже нет особо) в любом случае можно быть на чеку и реализовывать пункт 2

Подписаться на комментарии