Получить свою первую работу обычно сложнее всего и IT-сфера не исключение. Лишь опытные специалисты могут себе позволить вальяжно перебирать многочисленные офферы от HR специалистов. А вот новичок похвастаться таким не может. И порой поиск работы превращается в настоящее испытание. Но мы, CodeInside, решили прийти на помощь и составили небольшой гайд, который отвечает на самые главные вопросы новичков Java-разработки: Что изучить? Где прочитать? Откуда взять опыт?
Шаг 1: Учимся программировать
Прежде чем начать читать, нужно выучить алфавит. С программированием точно такая же история, и вот с чего стоит начать:
- Основополагающие алгоритмы и структуры данных
- Принципы ООП (объектно-ориентированного программирования)
- Углубленное изучение ОС
В этом смогут помочь: соответствующие книги и ресурсы, бесплатные курсы на hexlet.io, tproger.ru, ru.code-basics.com
В результате получаем уровень - Intern
Изучив основы переходим на более углубленный уровень изучения, в этом помогут следующие книги:
- Шилдт Г. - Java. Руководство для начинающих,
- Шилдт Г. - Java. Полное руководство,
- Хорстманн К. С. - Java
В результате получаем уровень - Intern +
Далее разбираемся и углубляем свои знания в следующих направлениях:
- Системы контроля версий,
- Системы автоматизации сборки (maven/gradle),
- Паттерны программирования,
- Системы управления базами данных.
Ну и вишенкой на торте будет знакомство с популярными фреймворками и спецификациями: Spring (Шефер К. - Spring для профессионалов) и Java EE (Гонсалвес Э. - Изучаем Java EE 7)
Уже на этом этапе ты можешь добиться уровня Intern+/ Junior, но ведь тебе этого мало? :) А потому переходим к следующему пункту.
Шаг 2: Прокачиваем Soft Skills
1. Коммуникативные навыки - разработка это коллективный продукт, хочешь или нет - общаться придется. Сюда относятся навыки переговоров, презентации, умение работать в команде и т.д.
Как прокачать: банально, но просто - больше общаться и да, не забывайте просить о помощи.
2. Эмоциональный интеллект - исходя из первого пункта мы понимаем, что процесс разработки это командная работа, а потому очень важно понимать настроение и эмоции этой самой команды, будет гораздо проще общаться, если вы понимаете их чувства и мотивацию, умеете с ними взаимодействовать. А с другой стороны эмоциональный интеллект - это понимания своих собственных эмоций и чувств.
Как прокачать: научиться активному слушанию, и внимательно слушать свои собственные эмоции. И да, не забывайте, что нельзя быть токсичным! Книга для изучения - Harvard Business Review «Эмоциональный интеллект».
3. Креативность и гибкость - умение быстро адаптироваться к любой ситуации, да и разработчику всегда полезно нестандартное решение, чтобы генерировать новые вещи.
Как прокачать: беритесь за нестандартные задачи и пытайтесь взглянуть по-новому на уже выполненные.
4. Самостоятельность - делать больше, чем от вас ожидают и не задавать лишний раз вопросов, на которые вы сами можете найти ответ.
Как прокачать: Google самый лучший товарищ - таким образом можно будет сэкономить время и получить плюсик в карму от коллег.
5. Дисциплина - наиболее важный пункт, сюда можно отнести тайм-менеджмент, умение расставлять приоритеты и способность “не сгореть”. И пандемия лишь усилила важность данного скилла.
Как прокачать: на эту тему написано огромное количество книг, создано немеренно статей, так что каждый подберет что-то свое, забив необходимый запрос в гугл. Мы обязательно расскажем как CodeInside прокачивает свои скиллы, но это тема отдельной статьи.
Шаг 3: Ищем себя, создаем план и придерживаемся его
Мир IT это бездна возможностей, способов работы и обучения. Как понять что подходит именно тебе? Пробовать! (Как бы банально это не звучало, но по другому никак). В этом тебе помогут различные хакатоны, выставки, и встречи с профессионалами своего дела. Сильное окружение поможет тебе быстрее стать частью IT-комьюнити, определиться с собственным вектором развития и возможно в короткие сроки найти место стажировки/работы. P.S.: Советуем так же послушать доклад нашего сотрудника, Java-разработчика Алексея, который поделился своим опытом изучения Java. Смотреть видео
Важный совет: Прямо сегодня, после прочтения этой статьи, сделай шаг на встречу своей цели. Напиши план обучения, обозначь сроки выполнения задач, прямо сейчас загляни на habr и прочитай пару интересных статей. Возьми за привычку каждый день писать код и узнавать что-то новое.
Да, это требует усилий. Да, не существует волшебной таблетки, которая бы ускорила и упростила процесс обучения. Но мы бы хотели поделиться с тобой популярными системами, которые, могут быть полезными в планировании и достижении твоей цели:
1. GTD (Getting Things Done) - Система, которая подразумевает постановку главной задачи, для достижения которой надо поставить более мелкие подзадачи, которые в случае надобности тоже могут разбиваться на подзадачи.
2. КАНБАН - Суть в том, что вы представляете перед собой весь проект в виде доски, которая условно делится на 3 части: что было сделано, что сейчас находится в работе и что надо будет сделать. Задачи перемещаются между этими тремя секторами, и вы визуально видите, что у вас сейчас в работе и какой объём ещё предстоит сделать.
3. ТЕХНИКА ПОМОДОРО - Эта система направлена на максимальную концентрацию в определённый промежуток времени. Вы чередуете периоды интенсивной работы с периодами отдыха за счёт чего не "перегораете". Классически система настроена на 25 минут работы и 5 минут отдыха, и увеличенный интервал отдыха после нескольких циклов.
4. AGILE - и философия, и методология управления проектами. Хотя про «управление» не совсем верно. Agile не про «вертикаль», а про «горизонталь» — командную работу, где нет руководителей, которые всё контролируют, а каждый участник команды несёт ответственность перед остальными.
Шаг 4: Profit!
Ну вот и все, перед тобой был гайд как стать Junior Java разработчиком. Весь мир перед тобой открыт, готов ли ты стать профессионалом своего дела, обучать других или открыть свой стартап? Все зависит только от тебя.
Отправить резюме ---> codeinside.ru