Меня зовут Рома, 22 года, Ижевск. Сейчас работаю в компании Finch. Хочу в этом посте рассказать вам свою интересную историю становления java-разработчиком. В конце я написал несколько советов, которые надеюсь помогут и вам в достижении цели. Начну свою историю со времён начала университета в 2014. Учился в Питере в Высшей Школе Экономики, разумеется на экономиста. Английский я знал довольно плохо (что несомненно отрицательно сказалось в будущем), так что поступил в университет благодаря олимпиаде по математике, которую знал намного лучше, чем языки. Первые два курса прошли довольно быстро, было много мероприятий, частые собрания группой. Думаю, во многих универах подобная ситуация. Проблема была в том, что я не понимал, как развиваться по моей специальности. Если честно, то я особо не задумывался. Несмотря на то, что заведение было достаточно хорошее, у студентов было не так много вариантов при выпуске:
  • Окончить университет и просто устраиваться в контору помощником бухгалтера;
  • Продолжать обучение в магистратуре. По словам преподавателей, только там мы могли получить нужные знания и найти свой путь;
  • Или полностью самому узнавать о специальности, компаниях и самостоятельно получать необходимые навыки через книжки и видео.
В середине обучения начались вводные курсы, связанные с анализом данных(АД). Там мы писали простые скрипты для чтения и обработки данных из файлика на языке R(и немного Python). Продолжения у этих курсов не было, но я понял, что лучше буду заниматься этим. Здесь ты совершаешь какую-то реальную работу, работаешь с числами, а не решаешь абстрактные задачи про завод А и завод Б. Когда смотрел на возможности развития в этой области, то вариантов было очень много. Были две бесплатные школы по АД у Яндекса и Computer Science Center, множество курсов на Coursera(были даже на русском) и множество примеров на ютубе. Однако после радости о широких возможностях меня ждало разочарование. На школы был безумный спрос, из-за чего конкурс был очень сложный, тем более для того, кто еще не программировал полноценно. На Coursera был только один полный курс, где был недешевый доступ к заданиям(для студента). Но так как я точно решил сменить вектор своего развития, то использовал любые бесплатные источники, даже учебники по библиотекам. Такими темпами на третьем курсе был абсолютно уверен, что пойду в АД. Тем более я написал даже курсовую по этой теме. И вот летом после третьего курса, когда искал стажировку или работу, понял, что легко в этом деле не будет. В Питере нашел только 10 подходящих вакансий, и после двух собеседований осознал, что надо знать гораздо больше, в том числе и по математике. После такой неудачи, узнал, что по этой специальности действительно нужно образование или гораздо более глубокое погружение, так как таких как я, самоучек, было слишком много. В целом могу сказать, что мне понравилась больше не конкретная область, а создание чего-то, что работает и может принести пользу. Поэтому следующие месяцы я проводил за тем, что искал по какому пути я могу пойти и что будет мне интересно. Ютуб видео от опытных разработчиков, рассказывающих о своей профессии и о существующих специальностях программирования в этом помогли. Я уже примерно знал, что представляет собой ИТ. И тут неожиданно наткнулся на рекламу JavaRush в ВК. Я довольно скептически относился к разным платным курсам по программированию, но попробовал 10 бесплатных уровней. Практические задания были легкими, но все объяснения и описания были такими понятными, что решил пройти этот курс до конца. В августе 2017 я приобрел подписку, и практически каждый день проходил по уровню, благо пока это позволяло время. Я понимал, что по книгам или отдельным видео было бы сложно понять структуру ООП и весь синтаксис, имея нулевые знания. Уже в сентябре я получил заветный 40 уровень. Я старался не пропускать задания, и выполнял практически все. Но по конец я так хотел уже получить последний уровень, что последние задания уровней просто пропускал, даже не потратив час. Этим же месяцем я услышал о стажировке EPAM, куда берут студентов последних курсов со следующим трудоустройством. Подал заявку, прошел интервью(спрашивали только основы ООП и базовую Java) и уже в декабре по вечерам посещал курсы, вместе с такими же студентами как я. Это были одни из лучших месяцев, курс был понятный(во многом повторял JavaRush) и была хорошая кампания из таких же студентов, как я. Успешно пройдя экзамен после этого курса, началась лаборатория в ЕПАМ, которая состояла из посещения курсов и работе над учебными проектами. Я много узнал из этой лаборатории, успел поработать с Hibernate и Spring, но было заметно что она затягивается. Университет я так и не бросил, подумал что слишком жалко бросать на последнем курсе. Правильное ли это решение - точно не знаю, но последний год превратился в пытку, так как абсолютно был уверен, что этим заниматься не буду. Когда наступил май, в университет я уже не ходил, а только писал диплом и устроился тестировщиком на Ruby для хоть какого-то заработка, одновременно посещая лабораторию ЕПАМа. Язык Ruby я не знал, и не знаю до сих пор, но для написания тестов таких знаний не требовалось. Были уже готовые примеры, которые надо было изменять для конкретных страниц. После долгожданной защиты диплома я покинул ЕПАМ, перевел работу тестировщиком на удаленку и уехал в свой родной город Ижевск, чтобы оттуда решать, куда устраиваться. Я долго не решался на первое собеседование. Старался всё повторить и выучить, что меня могут спросить на собеседовании — JVM, Spring, алгоритмы, бд... И только через месяц, в августе, начал подавать первые заявки. Города, в которые я слал, были Питер и Москва. Первую неделю мне вообще никто не отвечал. Лишь после нескольких попыток поправить резюме и начинания писать сопроводительное письмо для каждой компании появились первые ответы. В первые собеседования половина вопросов была про полностью другое, к чему я готовился - http, протоколы, графы. Но после каждого я записывал на что не ответил, узнавал ответ, и продолжал слать резюме. Этим я занимался каждый день, выходило 10-20 резюме за день, но отвечали единицы. В начале сентября в пятницу случилось так, что было три собеседования подряд. Несмотря на первое провальное, на втором я ответил довольно удачно, и меня пригласили на испытательный срок сразу с хорошей ставкой в Москву. Радости в тот момент не было предела, так что на третьем я уже почти не старался. Через пару дней я купил билеты, назначил дату приезда и согласился еще на одно очное собеседование у другой компании, которые не проводили их по скайпу. Поселился я у друга на первое время. На очном собеседовании я уже был подготовлен почти ко всем вопросам, и получил приглашение на работу в этот же день. До этого даже не мог представить, что у меня будет выбор, не был готов к такому. Но выбрал первую, где сейчас работаю - Finch. Это не большая компания, но делает крупные проекты. После опыта в ЕПАМе я осознал, что мне комфортнее намного в небольших, чем там, где тысячи человек, бюрократия и ты часто перемещаешься. Мне сразу дали рабочее место, и я счастливый начал погружаться в свой первый проект. Теперь считаю, что это самое лучшее место, тем более для джуна. Конечно, я не всё рассказал в истории, но постарался описать все действительно важные моменты, которые могут помочь и другим. Лично я для себя могу сделать несколько выводов:
  • Изменить свою специальность не всегда трудно. Важно найти хорошие материалы для подготовки и заранее установить путь развития.
  • ЕПАМ — хорошее продолжение после JavaRush, там можно получить опыт, который так нужен на старте. Но устроиться туда на полную работу сложно, и продвижение по карьерной лестнице там будет заметно медленнее.
  • В собеседованиях редко спрашивают библиотеки и фреймворки, которые указаны в требованиях. Лучше перед собеседованием повторить алгоритмы, основы бд, как работает интернет и паттерны проектирования.
  • Если к резюме писать сопроводительное письмо, нацеленное для этой компании, то шансы на ответ резко увеличиваются. Это стоит потраченного времени. Также стоит прикрепить своё фото.
  • Искать вакансии нужно сразу в нескольких источниках. Не только hh, но и linkedInd и Мой Круг(здесь я нашел мою текущую компанию).
  • Перед собеседованиями желательно посмотреть видео примеров собеседований и подготовиться по вопросам, которые в них содержатся. Их достаточно много на ютубе.
Желаю, чтобы у вас тоже всё получилось. Главное - продолжать и не бояться))