Мой путь в ИТ. Часть 3: Подготовка, поиск, собеседование
Мой путь в ИТ. Часть 3: Подготовка, поиск, собеседование.
В данной статье хочу поделиться опытом поиска работы, подготовки и прохождения собеседования на должность Java-разработчика.
Ссылки на все статьи цикла:
- Часть 1: Планирование
- Часть 2: Сертификация OCA Java SE 8 Programmer (экзамен 1Z0-808)
- Часть 3: Подготовка, поиск, собеседование
1. Подготовка.
После сертификации, которая описана во второй статье, для приобретения практического опыта я выполнил небольшой проект в двух версиях: на Java EE и Spring. Именно эти две технологии, как мне кажется, наиболее часто используются при создании Java-приложений, при этом заранее неизвестно с какой придется работать или отвечать на вопросы на собеседовании, по-этому лучше разбираться в обеих.
При разработке я использовал в основном следующие ресурсы:
- Учебник по Java EE с сайта Oracle
- Книгу Java EE 7 Essentials с общим обзором технологий платформы Java EE 7
- Документацию по Spring
- Книгу Spring in Action
- Книгу Pro Spring MVC: With Web Flow
Для выполнения проекта потребовалась база данных, я выбрал MySQL, основы которой осваивал по книге MySQL. Базовый курс. Также использовал документацию с сайта MySQL.
После окончания работ по проекту я подготовился по книге OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809 и сдал соответствующий экзамен. По факту приобретения новых знаний некоторые части проекта пришлось переделать.
Для определения уровня своей готовности я использовал типовые вопросы для собеседования из этой статьи и этого комментария.
2. Поиск.
Поиск работы я осуществлял через сайты по трудоустройству, друзей и знакомых. Вакансий для начинающих мало, но они периодически появляются. Искал достаточно долго, думаю, основной проблемой было резюме. Процент отклика увеличился после того, как резюме было просмотрено знакомыми разработчиками и переделано по их советам. В основном переделка сводилась к минимизации информации о предыдущем опыте работы, как о не релевантном, и расстановке акцентов на разработку. К стати, на ДОУ была не одна статья с рекомендациями по составлению резюме, например, вот и вот.
3. Собеседование.
Я проходил собеседование в три разных компании. Большинство задаваемых вопросов укладывалось в рамки списков, ссылки на которые приведены выше. В общем, все собеседования проходили весьма доброжелательно, атмосфера была приятной. Кратко о собеседовании в каждой из компаний:
- Небольшая продуктовая компания, бизнес которой построен вокруг собственного вэб-портала. Собеседования с HR не было (все HR находятся в другом городе). Задавали много технических вопросов по Java Core, SQL, Spring. Потом предложили выполнить тестовое задние — реализовать CRUD-приложение на Spring Boot с использованием JavaScript.
- Большая аутсорсинговая компания. Тут было собеседование с HR, на котором задавали обычные вопросы, затем техническое собеседование и еще собеседование с руководителем. На техническом собеседовании дали на выполнение небольшие тесты похожие на тесты для экзамена OCP. Обсудили ответы по тестам, пообщались о Spring и Java EE.
- Аутсорсинговая компания в Польше. Собеседовали по скайпу, без HR, сразу технические вопросы. Задавали обычные вопросы по Java, спрашивали о JavaScript. Это собеседование мне запомнилось общими вопросами, типа:
- Что такое ORM? Это хорошая штука или плохая?
- Допустим, пользователи жалуются, что программа тормозит. Что будете делать?
- Как вы поддерживаете свои знания в актуальном состоянии?
В итоге я работаю во второй компании, которая мне приглянулась больше всего и быстрее всех дала положительный ответ.
4. Выводы и заключение.
По результатам своего перехода в ИТ хочу поделиться некоторыми выводами:
- Переквалифицироваться в Java developer реально, хотя и непросто.
- Процесс переквалификации может занять немало времени (у меня ушло около 5 месяцев).
- Для Java developer’а желательно знать не только Java Core, SQL и фреймворки, но еще и JavaScript.
- При подготовке нужно учить не только, то что интересно, но и то, что будет полезно. Например, я во всех книгах и пособиях пропускал главы по security, как скучные и не особо интересные. Это была ошибка, так как практически в каждом приложении есть роли доступа, login/logout и т.п.
- Резюме важно, на его «вылизывание» стоит потратить время и силы.
В заключение хочу поблагодарить всех, кто мне помогал, и пожелать удачи всем, кто в поиске.
UPDATE: Освоение Java у меня было не совсем с нуля. Хотя ранее на Java я не программировал, у меня был неплохой опыт некоммерческой разработки на разных языках, в том числе на C, который имеет много общего с Java.
35 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівОтлично написал!Для новичков-бодрит и вдохновляет)
Коментар порушує правила спільноти і видалений модераторами.
одному мне глаза режет что чувак с опытом смог осилить джаву только на уровень джуниора ? я не джава сеньйор, может там сеньйорство за знание каких то тайн дают ?
Сеньора дают за «опыт коммерческой разработки 3 года», без него хоть ты исходники JVM наизусть запомнишь-сеньором не станешь.
знание тайн, но...не тайн Java ))
Мои поздравления.
Спасибо!
Отличный рассказ и мотивирует! Когда-нибудь и я расскажу о своем пути как «войти войти» с нуля и вообще из другой отрасли.
Рад, что вы оценили. Расскажите и свою историю, когда я начинал, подобные рассказы очень вдохновляли.
Собственно вот пример, человек поставил цель и дошел, пока куча людей ноет о конкуренции. Системный подход для «войти в айти» очень важно.
Автора поздравляю.
Советую сделать пометку, что вы имели базовые знания и опыт разработки, а не то возможно недопонимания от неопытных людей.
Спасибо за поздравления! Добавил небольшой апдейт по знаниям/опыту.
сколько ушло времени на каждый этап ?
Очень понятно и структурированно описал свой путь.
Думаю, многим ищущим будет полезно.
Удачи на новом месте!
Спасибо!
Можно несколько уточняющих вопросов:8-12 часов в день занимались самоообучением/пет-проектами, подготовкой к сертификации?
1) В каком городе вы искали работу и в каком нашли?
2) Были ли у вас пет-проекты, выложенные на GitHub, и если да, то фигурировали ли они на собеседованиях?
3) Переквалификация за 5 месяцев — это календарно 5 месяцев или вы уволились с работы и по
4) Если не секрет, вы устроились как Trainee или всё-таки Junior?
1) Киев — Киев.
2) Был проект с кодом на GitHub, который я разрабатывал для себя, в основном, чтоб освоить технологии/фреймворки. На одном собеседовании меня расспрашивали о нем (что и как работает, зачем именно так было сделано и т.п.). На остальных собеседованиях особо не расспрашивали, смотрели ли код — не знаю. Проект в любом случае считаю очень полезным, не пощупав на практике, многие технологии понять тяжело, плюс это хоть и небольшой, но опыт.
3) Если говорить о сроках точнее, то где-то месяц-полтора я совмещал работу и самообучение. Уволился, когда сдал OCA. После этого два месяца ушло на освоение в основном Spring, Java EE и разработку проекта. Затем месяц на подготовку к OCP и переписывание недоработок в проекте. И еще месяц с небольшим на поиск работы. После того, как уволился, занимался 8 часов каждый день по будням, в выходные меньше, часа по 4 в день.
4) Junior.
так я не совсем поняла, яву вы (всего) за 5 месяцев изучили?или раньше были какие-то познания уже?
Ранее у меня был неплохой опыт некоммерческой разработки на разных языках, в том числе на С, который имеет с Java похожий синтаксис. Совсем с нуля за такой срок вряд ли у меня получилось бы.
сделайте пометку об этом. И прикиньте сколько бы вы потратили времени, если бы у вас небыло такого опыта.
Пометку добавил. Прикинуть сложно, если на вскидку, то я бы увеличил время в полтора раза. Вероятно, если б не было такого опыта, то и готовился бы я как-то по-другому. Тут бы лучше высказались те люди, которые переключались с меньшим опытом. Их оценка была бы адекватнее.
Абсолютно без опыта, изучение Java заняло 6 месяцев, не бросая предыдущую работу. Путь изучения примерно такой же как и у тебя, плюс курсы. Необходимо много практики, прежде всего.
Андрей, а вы как изучали яву?
Книги, курсы, пет-прожект. На доу есть отличный цикл статей, называется «путь разработчика» или как-то так.
dou.ua/lenta/articles/java-beginner-guide-1
спасиб)
4) ЗП >= 500 ?
ЗП не подлежит разглашению :-)
Имхо, первая зп абсолютно не имеет значения. Через 3 года гарантированно будет сеньерские 3+ тыщи )))
я и не хочу знать размер ЗП, я хочу знать больше она или меньше чтобы понять кем взяли, трейни или джуниором
500$ — універсальна межа, яка визначає ти трейні чи джуніор?
Junior
8 часов каждый рабочий день? Не верю.
А я верю. Я когда в 20 лет к MCSE готовился, я по 12 часов в день каждый день занимался месяца два. :)
Молодец!
Спасибо!