Python applications, ASGI, Kopf, testing of Elasticsearch на Python fwdays'20 | Online

Мой путь в ИТ. Часть 3: Подготовка, поиск, собеседование

Мой путь в ИТ. Часть 3: Подготовка, поиск, собеседование.

В данной статье хочу поделиться опытом поиска работы, подготовки и прохождения собеседования на должность Java-разработчика.
Ссылки на все статьи цикла:

1. Подготовка.

После сертификации, которая описана во второй статье, для приобретения практического опыта я выполнил небольшой проект в двух версиях: на Java EE и Spring. Именно эти две технологии, как мне кажется, наиболее часто используются при создании Java-приложений, при этом заранее неизвестно с какой придется работать или отвечать на вопросы на собеседовании, по-этому лучше разбираться в обеих.

При разработке я использовал в основном следующие ресурсы:

Для выполнения проекта потребовалась база данных, я выбрал MySQL, основы которой осваивал по книге MySQL. Базовый курс. Также использовал документацию с сайта MySQL.

После окончания работ по проекту я подготовился по книге OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809 и сдал соответствующий экзамен. По факту приобретения новых знаний некоторые части проекта пришлось переделать.

Для определения уровня своей готовности я использовал типовые вопросы для собеседования из этой статьи и этого комментария.

2. Поиск.

Поиск работы я осуществлял через сайты по трудоустройству, друзей и знакомых. Вакансий для начинающих мало, но они периодически появляются. Искал достаточно долго, думаю, основной проблемой было резюме. Процент отклика увеличился после того, как резюме было просмотрено знакомыми разработчиками и переделано по их советам. В основном переделка сводилась к минимизации информации о предыдущем опыте работы, как о не релевантном, и расстановке акцентов на разработку. К стати, на ДОУ была не одна статья с рекомендациями по составлению резюме, например, вот и вот.

3. Собеседование.

Я проходил собеседование в три разных компании. Большинство задаваемых вопросов укладывалось в рамки списков, ссылки на которые приведены выше. В общем, все собеседования проходили весьма доброжелательно, атмосфера была приятной. Кратко о собеседовании в каждой из компаний:

  1. Небольшая продуктовая компания, бизнес которой построен вокруг собственного вэб-портала. Собеседования с HR не было (все HR находятся в другом городе). Задавали много технических вопросов по Java Core, SQL, Spring. Потом предложили выполнить тестовое задние — реализовать CRUD-приложение на Spring Boot с использованием JavaScript.
  2. Большая аутсорсинговая компания. Тут было собеседование с HR, на котором задавали обычные вопросы, затем техническое собеседование и еще собеседование с руководителем. На техническом собеседовании дали на выполнение небольшие тесты похожие на тесты для экзамена OCP. Обсудили ответы по тестам, пообщались о Spring и Java EE.
  3. Аутсорсинговая компания в Польше. Собеседовали по скайпу, без HR, сразу технические вопросы. Задавали обычные вопросы по Java, спрашивали о JavaScript. Это собеседование мне запомнилось общими вопросами, типа:
    • Что такое ORM? Это хорошая штука или плохая?
    • Допустим, пользователи жалуются, что программа тормозит. Что будете делать?
    • Как вы поддерживаете свои знания в актуальном состоянии?

В итоге я работаю во второй компании, которая мне приглянулась больше всего и быстрее всех дала положительный ответ.

4. Выводы и заключение.

По результатам своего перехода в ИТ хочу поделиться некоторыми выводами:

  1. Переквалифицироваться в Java developer реально, хотя и непросто.
  2. Процесс переквалификации может занять немало времени (у меня ушло около 5 месяцев).
  3. Для Java developer’а желательно знать не только Java Core, SQL и фреймворки, но еще и JavaScript.
  4. При подготовке нужно учить не только, то что интересно, но и то, что будет полезно. Например, я во всех книгах и пособиях пропускал главы по security, как скучные и не особо интересные. Это была ошибка, так как практически в каждом приложении есть роли доступа, login/logout и т.п.
  5. Резюме важно, на его «вылизывание» стоит потратить время и силы.

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

UPDATE: Освоение Java у меня было не совсем с нуля. Хотя ранее на Java я не программировал, у меня был неплохой опыт некоммерческой разработки на разных языках, в том числе на C, который имеет много общего с Java.

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

Отлично написал!Для новичков-бодрит и вдохновляет)

одному мне глаза режет что чувак с опытом смог осилить джаву только на уровень джуниора ? я не джава сеньйор, может там сеньйорство за знание каких то тайн дают ?

Сеньора дают за «опыт коммерческой разработки 3 года», без него хоть ты исходники JVM наизусть запомнишь-сеньором не станешь.

знание тайн, но...не тайн Java ))

Мои поздравления.

Отличный рассказ и мотивирует! Когда-нибудь и я расскажу о своем пути как «войти войти» с нуля и вообще из другой отрасли.

Рад, что вы оценили. Расскажите и свою историю, когда я начинал, подобные рассказы очень вдохновляли.

Собственно вот пример, человек поставил цель и дошел, пока куча людей ноет о конкуренции. Системный подход для «войти в айти» очень важно.
Автора поздравляю.
Советую сделать пометку, что вы имели базовые знания и опыт разработки, а не то возможно недопонимания от неопытных людей.

Спасибо за поздравления! Добавил небольшой апдейт по знаниям/опыту.

сколько ушло времени на каждый этап ?

3) Если говорить о сроках точнее, то где-то месяц-полтора я совмещал работу и самообучение. Уволился, когда сдал OCA. После этого два месяца ушло на освоение в основном Spring, Java EE и разработку проекта. Затем месяц на подготовку к OCP и переписывание недоработок в проекте. И еще месяц с небольшим на поиск работы. После того, как уволился, занимался 8 часов каждый день по будням, в выходные меньше, часа по 4 в день.

Очень понятно и структурированно описал свой путь.
Думаю, многим ищущим будет полезно.
Удачи на новом месте!

Можно несколько уточняющих вопросов:
1) В каком городе вы искали работу и в каком нашли?
2) Были ли у вас пет-проекты, выложенные на GitHub, и если да, то фигурировали ли они на собеседованиях?
3) Переквалификация за 5 месяцев — это календарно 5 месяцев или вы уволились с работы и по 8-12 часов в день занимались самоообучением/пет-проектами, подготовкой к сертификации?
4) Если не секрет, вы устроились как Trainee или всё-таки Junior?

1) Киев — Киев.
2) Был проект с кодом на GitHub, который я разрабатывал для себя, в основном, чтоб освоить технологии/фреймворки. На одном собеседовании меня расспрашивали о нем (что и как работает, зачем именно так было сделано и т.п.). На остальных собеседованиях особо не расспрашивали, смотрели ли код — не знаю. Проект в любом случае считаю очень полезным, не пощупав на практике, многие технологии понять тяжело, плюс это хоть и небольшой, но опыт.
3) Если говорить о сроках точнее, то где-то месяц-полтора я совмещал работу и самообучение. Уволился, когда сдал OCA. После этого два месяца ушло на освоение в основном Spring, Java EE и разработку проекта. Затем месяц на подготовку к OCP и переписывание недоработок в проекте. И еще месяц с небольшим на поиск работы. После того, как уволился, занимался 8 часов каждый день по будням, в выходные меньше, часа по 4 в день.
4) Junior.

так я не совсем поняла, яву вы (всего) за 5 месяцев изучили?или раньше были какие-то познания уже?

Ранее у меня был неплохой опыт некоммерческой разработки на разных языках, в том числе на С, который имеет с Java похожий синтаксис. Совсем с нуля за такой срок вряд ли у меня получилось бы.

сделайте пометку об этом. И прикиньте сколько бы вы потратили времени, если бы у вас небыло такого опыта.

Пометку добавил. Прикинуть сложно, если на вскидку, то я бы увеличил время в полтора раза. Вероятно, если б не было такого опыта, то и готовился бы я как-то по-другому. Тут бы лучше высказались те люди, которые переключались с меньшим опытом. Их оценка была бы адекватнее.

Абсолютно без опыта, изучение Java заняло 6 месяцев, не бросая предыдущую работу. Путь изучения примерно такой же как и у тебя, плюс курсы. Необходимо много практики, прежде всего.

Андрей, а вы как изучали яву?

Книги, курсы, пет-прожект. На доу есть отличный цикл статей, называется «путь разработчика» или как-то так.

ЗП не подлежит разглашению :-)

Имхо, первая зп абсолютно не имеет значения. Через 3 года гарантированно будет сеньерские 3+ тыщи )))

я и не хочу знать размер ЗП, я хочу знать больше она или меньше чтобы понять кем взяли, трейни или джуниором

500$ — універсальна межа, яка визначає ти трейні чи джуніор?

8 часов каждый рабочий день? Не верю.

А я верю. Я когда в 20 лет к MCSE готовился, я по 12 часов в день каждый день занимался месяца два. :)

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