Самообразование для 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
12 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівВначале я предлагаю подойти к менеджеру и TL и спокойно обсудить ситуацию — попросить больше тасков, может какой-то миддл/senior возьмет вас под опёку чтобы поменторить, а самому потренировать soft-skills и лидские качества, это все реально. Руководство не телепаты и не всегдя угадывает что вы реально хотите и что вас блочит в работе, если вы об этом молчите. Попробуйте, ничего не потеряете.
Прежде чем куда-то двигаться нужно понять где вы сейчас находитесь, трезво проанализируйте
что вы знаете и владеете на данный момент, в чем вы очень сильны, а на что нужно обратить внимание. Можете попросить feedback у своего лида.
Теперь вам нужно понять куда вы хотите попасть — это должность миддла. Вам нужно понять что миддл — это разработчик, способный качественно решить любую задачу на проекте, кроме разве что полномасштабного проектирования и выбора технологий. Миддл — не знаток всех фреймворков на свете и всех спецификаций JEE, он способен выучить и разобраться в короткий промежуток времени. Также хорошо владеет англ. языком и вполне способен общаться с заказчиками/аналитиками и другими участниками проекта.
Начните с Java Core, только после этого есть смысл учить фремворки к тому же60-70% вопросов на собеседовании по Java Core. Если вам понадобится Swing или Апплеты то вы их легко выучите. Рекомендую эти 2 книги:
www.manning.com/gupta
www.manning.com/gupta2
Далее я бы рекомендовал хорошо разобраться в Servlet/JSP, понять что такое веб-контейнер, сессия, фильтр. Лучшая книга, хоть и немного устарела:10-15% разницы.
Head First Servlets and JSP: Passing the Sun Certified Web Component Developer Exam. Задумаете сдавать новый одноименный экзамен уровня Expert от Oracle — доучите
Spring — достаточно объемный. MVC тут тоже есть1-2 главы. Я бы рекомендовал прочитать обе эти книги, т.к. в 3-м издании много что выбросили и сократили. 4-е издание я еще не читал, поэтому прокомментировать не могу.
www.manning.com/walls3
www.manning.com/walls4
Hibernate — с головой хватает Java Persistence with Hibernate, можно предыдущее издание. Вот новейшее
Есть одна фундаментальная книга издана в приличном виде на русском языке: Введение в системы баз данных Крис Дж. Дейт. Книга очень фундаментальная и большая. Поэтому есть смысл почитать первые главы, разобраться с основой и без необходимости не влазить в дебриwww.manning.com/bauer3
В некоторых местах требуют хорошие знания 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 очень и очень неплох, также вроде для мускуля неплохой клиент есть...
а чего это ты не присоединился к группе изучения джавы ?)))
не слышал о такой
dou.ua/...ms/topic/10268
мне не нужно учить SE, вроде знаю в достаточном количестве, но спасибо
Ждать? Это глупо. Нужна динамика. Ходите на собеседования. Ищущий — да найдет)
Ну беда в том что их даже нет особо) в любом случае можно быть на чеку и реализовывать пункт 2