Мне сейчас 30 лет и я работаю программистом уже четвертый месяц.
Моя история о трудоустройстве:
Как я не стал программистом
Учась в школе, я хотел пойти учиться на программиста, но к концу 11-го класса у меня в аттeстате было половина троек. Я хорошо разбирался и любил только математику и физику, остальные предметы меня раздражали. Завуч мне тогда намекнула, что не надо мне лезть в программисты, а выбрать что-то попроще. Я плохо тогда разбирался во всем, подал документы только на одну специальность (хотя можно было на несколько сразу), только потом я узнал, что с моими 14 баллами из 15 максимальных (физика - 5, математика - 5, русский - 4), я мог бы поступить на факультет, который готовил программистов. Но я поступил на специальность - ракетные двигатели. Отучился 4 года и бросил учебу, хотя учился хорошо (на 4 и 5).
Решение стать программистом
После этого где только я ни работал. Последнее место работы было в фотосалоне, я был что-то типа техподдержки (ставил проги, обслуживал принтеры и много чего другого) и помимо этого обычным продавцом-фотографом, там же я сделал 1-ый сайт для компании, тогда он был на joomla, потом был переведен на wordpress. Я понимал что это очень далеко от программирования, но это напомнило о моей старой мечте. В 28 лет в феврале я твердо решил выучится и стать программистом. Тогда я решил поступить заочно на факультет ИВТ(информатики и вычислительной техники), я сходил в универ и узнал, что с моим дипломом о неполном высшем образовании, мне нужно будет сдать только русский, и порог прохождения низкий, все таки для платников. Я стал копить деньги на учебу. Тут же я решил выбрать язык программирования, который хотел бы выучить. Я выбрал Java, и ни капельки не пожалел.
Самостоятельное обучение
Джаву я начал учить по сайту интуит, но это было настолько скучно, что бросил. Стал читать книгу "Философия
Джавы" Брюса Эккеля, книга отличная всем советую. Смотрел видео уроки на ютубе(советую кстати лекции у Головоча,
мне понравились), и не только по джава, но и по операционным системам, базам данным, линуксу и др. Когда было
лень что-то учить я слушал подкасты (Радио-Т, Разбор Полетов, DevZen), особенно люблю Разбор полетов, там одни
джависты. Притом я 80% того, что говорили в подкастах, вообще не понимал. Мне мир программистов казался чем-то
прекрасным и непонятным. Я хотел попасть в этот мир, и слушая такие подкасты я получал огромное удовольствие,
так как словно окунался в этот мир. Я пытался понять о чем они говорят, иногда заглядывая в википедию, а в
основном просто слушая (помню те незнакомые слова - Spring, JUnit, Casandra, интеграционные тесты и много
других). Сейчас я почти все понимаю, о чем беседуют в этих подкастах.
Как-то с начальством поделился, что собираюсь выучиться на программиста. На что начальница мне сказала,
тебе 28 лет, сейчас школьники в компах лучше разбираются, зачем туда лезть. В этот раз я проигнорировал совет
"знающего" человека.
Пришла середина лета, настало время для того, чтоб поступать в вуз. И тут оказалось поступить с одним экзаменом
можно только если у тебя нормальный диплом, а с моим о неполном высшем, мне нужно сдавать все 3 экзамена и я
это время уже упустил в этом году. Я плюнул на них и решил купить какой-нибудь курс, как раз тогда был конец
августа 2015, и на джавараш были скидки. Я взял курс с Реальным проектом (это была как раз стажировка от
Григория Кислина). Вообщем мне нужно было пройти минумум 30 уровней из 40 и потом стажировку на проекте. Кстати
за полгода в которые я самостоятельно изучал джаву, я продвинулся совсем немного. Я не знал что мне нужно
конкретно учить, да и надеялся поступить в вуз и идти по их программе.
Обучение на онлайн курсах
До 30 уровня я дошел примерно за 4 месяца, при этом еще и ленился. Кроме джавараш я еще смотрел онлайн курс Головоча
(единственный видеокурс на ютубе, который я досмотрел до конца). Был январь 2016 года, как раз шел набор на
стажировку. Но нужно было сдать тестовый проект. У меня не хватало времени, и я решил - не буду торопиться, пойду на
стажировку в мае. Так же в январе я ушел с должности техподдержки в своей компании, и остался просто
продавцом-фотографом. Мне нужно было больше времени на учебу.
К маю я сделал тестовый проект, и был зачислен на стажировку. Я был безумно рад этому и с нетерпением ждал начала
учебы. Кстати замечу, в декабре-январе я еще покупал небольшой курс, где мы делали небольшое веб-приложение.
Благодаря этому курсу, я и написал свое тестовое задание. Переход от простых задачек джавараш к реальным проектам,
это как с арифметики перейти к высшей математике.
Стажировка Григория Кислина
Было тяжело. Саму джаву я знал хорошо, спасибо джавараш. Но работа с фреймворками, логирование, тестирование, мавен,
томкат. Это было нечто запредельным. Я старался изучать все что давали в уроках. Но быстро начал отставать. Я уже
перестал делать домашку, до того как Григорий выложит решение. Мне было важно хотя бы понять, что тут вообще
происходит. Я делал задания параллельно смотря видео с решением. И потихоньку начинал понимать. Кроме этого у меня
тогда уже стоял линукс, и мне еще приходилось мучиться настраивая базу данных и другие вещи. Но на это я шел
сознательно.
В итоге когда закончилась стажировка (12 уроков), я закончил только 9 уроков. И то я понимал, что самостоятельно
не смогу сделать такой же проект, не подсматривая в учебные материалы. Я начал готовиться к собеседованию, заучиваю
основы джавы. У меня был план 10 сентября начать искать работу (выложить резюме в открытый доступ). Подготовил
резюме, дал Григорию на проверку. Он мне посоветовал стажировку указать как опыт работы, что я и сделал. В итоге в
моем резюме теперь было написано, что я программист с мая 2016 года. Как я знал тогда из различных источников, что в
начале нужно главное устроиться, куда угодно, а потом время будет работать на тебя, чем больше стаж тем ты более
востребован на рынке труда.
В конце лета 2016 как раз была анонсирована стажировка Григория по многопоточности. Я записался на нее тоже, не
жалея денег на это. Я хотел стать профессионалом в джава и я уже тогда начал понимать насколько много дают такие
стажировки от хорошего специалиста. И, помимо этого, эта стажировка давет мне дополнительный стаж в резюме.
Трудоустройство
Итак, наступило 10 сентября (это была суббота) и я выложил свое резюме на hh.ru, решил начать с этого. В моем резюме
не было ничего особенного, указал учебу в универе 4 года, это было правдой, хотя я и не закончил ее. Указал
последние 2 места работы, 1-е - сисадмин в сети фотосалонов, где я до сих пор работал, а 2-е - программист в
Online Java Project. Указал свои скилы, и свой домашний проект (параллельно стажировке начал делать еще летом). И
какое было мое удивление, что 12 сентября (в понедельник) я получил отклик на вакансию. Я созвонился с кадровиком,
она меня спросила, почему я решил поменять место работы, я честно ответил, что это стажировка, и что я решил сменить
свою область деятельности. Вообщем отвечал честно, волновался (все таки первый раз на программиста устраиваюсь). На
следующий день мне пришло письмо с приглашением на собеседование. Мой непосредственный начальник, который меня
должен был собеседовать, немного задержался, я общался сначала с другим. Когда пришел тот, кто меня должен был
собеседовать, он даже вроде ничего не спрашивал, просто сидел (компания куда я устраивался было достаточно крутая),
тогда я сам начал рассказывать о том что знаю и умею, и весь разговор был о стажировке. Потом я стал спрашивать о
том что делают у них, какую систему сборки используют, какие БД, есть ли команда тестировщиков или разработчики сами
тесты пишут и т.п. Мне показалось, что я произвел достаточно хорошее впечатление, так как достаточно суровый вначале
начальник стал более дружелюбным. Он сказал что вышлет тестовое задание и мы попрощались.
Когда я приехал домой тестовое задание уже было в моей почте. Надо было скачать их тестовый проект с гитхаба,
доработать сущности и один метод, плюс добавить тестовые данные. Когда я скачал и открыл проект я был в шоке. Такого
я еще не видел вообще. Это был многомодульный мавен проект, в котором классы сущностей и интерфейсы генерировались
из специальных файлов. Я был в шоке. Я даже не мог запустить его на томкате. Где то 12 часов я пытался разобраться
в нем и запустить его, настраивая окружение и др. Была уже ночь, пока я пытался запустить проект, я немного
разобрался в нем. Но голова уже не работала и я лег спать. На следующий день, я плюнул на попытки запустить проект,
сделал задание, как считал правильным, даже не сумев проверить. Написал ответ, в котором описал то что не смог
запустить проект, описал почему не смог, сделал некоторые предположения, описал эксепшены которые вываливались при
попытке собрать проект и в конце кинул ссылку на коммит с моим решением тестового задания. Я ни на что не надеялся,
так как думал что провалил тест. Но через пару часов, мне пришел ответ, где написали что я успешно прошел испытания
и если Служба безопасности даст добро, то они меня возьмут. Я был безумно счастлив, тем более что оклад, который они
мне предложили, даже на испытательном сроке был больше, чем я вообще ожидал. Итого не прошло и недели как я выложил
резюме, а меня уже приняли.
Пока я ждал ответа от СБ, я еще успел сходить на собеседование в епам, там меня проверили по всему основному джава
стеку. Там я еще раз убедился, что мои слабые стороны это SQL, JavaScript и фреймворки. До второго уровня проверки в
епам (проверка английского) я так и не дошел, окончательно приняли в 1-ю компанию.
Работа
Я старался работать много, приходил рано, задерживался. Я с трудом понимал что такое мы делаем, и замучил наверно
своего начальника бесконечными вопросами. Но я старался все понять, и постепенно понимал. Домой я приходил выжатый
как лимон. Я не мог ничего больше учить дополнительно по вечерам, мой мозг отказывался что-то воспринимать. Но я
ходил на работу с радостью. Я был уже официально инженером-программистом, и это меня безумно вдохновляло.
Через 2 месяца закончился мой испытательный срок, и с декабря я уже нахожусь в полных правах.
Из личных успехов: в декабре мы уже запустили небольшой проект (вернее сказать серию дополнений), бэкенд который был
написан полностью мной (под руководством моего начальника конечно), один микросервис я написал сам от бекэнда до
фронтенда(пришлось учить React.js), но он пока еще не выложен. Специфика моей работы - суровый энтерпрайз. Я как раз
и мечтал о такой работе. Мои строчки кода уже крутятся на боевой и я счастлив от этого. Конечно были и проблемы, я
косячил, писал код с багами, находил эти баги у себя и не только у себя. Есть нехватка знаний, которая быстро
закрывается во время практики, но не вся. Чтение логов стало для меня привычным делом, я просмотрел уже наверно
сотню страниц логов. И свой код я пытаюсь подробно логировать, чтоб можно было быстро выявить ошибку по логам.
Заключение
Во-первых я хочу сказать огромное спасибо Григорию Кислину, за его прекрасную стажировку. Это
высококонцентрированный источник знаний, которые самостоятельно получить очень трудно, тем более за такой короткий
срок (12 недель). И именно участие в стажировке сыграло главную роль в моем быстром трудоустройстве. Это и опыт
участия в настоящем проекте, о котором можно рассказать на собеседовании, это и стаж программиста, который можно
указать в резюме.
С того момента как я решил стать программистом, до моего 1-го рабочего дня в качестве программиста, прошло примерно
1,5 года. Из них действительно продуктивно прошли только 4 месяца онлайн курса джавараш и 3 месяца стажировки у
Григория. Да я изучал еще самостоятельно много чего, но это было хаотичное изучение и я много ленился. В общем этот
срок в 1,5 года можно было бы сократить в 2 раза, хотя возможно иногда лучше если изменения происходят плавно, а за
эти 1,5 года я очень изменился.
И хочу сказать свое мнение о платных курсах: я всегда с радостью покупал курсы, если видел, что они мне помогут
достигнуть моей цели. Если посчитать сколько я потратил всего на обучение джавы, то выйдет примерно так: в конце
августа 2015г, купил расширенный пакет от джавараш вроде за 10 тыс. руб., зимой 2015 дополнительно покупал миникурс
создания вебприложения - 5 тыс.руб, после стажировки в конце лета 2016 купил курс многопоточность у Григория -
8 тыс.руб, итого 23 тыс руб. Так вот, за 1-й месяц работы, будучи еще на испытательном сроке, я заработал больше чем
потратил за 1,5 года на свое обучение.
Сейчас мои планы снова пройтись по 1ой стажировке, досконально изучая все, а потом 2-ю стажировку (многопоточность),
тоже досконально все изучая. И очень хорошо, что стажировки даются в бессрочное пользование, можно проходить их
сколько захочешь раз. И мое мнение, они дают уровень знаний хорошего мидла.
Желаю всем удачи в обучении джава и других языков программирования. Никогда не слушайте никого, кто говорит вам, что вы что-то не сможете или что-то не для вас. Не бойтесь вкладывать в себя, в свое обучение средства, они вернутся сторицей. Учитесь у профессионалов, если хотите стать профессионалом. Любите то дело которым хотите заниматься, и оно быстрее примет вас. Общайтесь с программистами или слушайте подкасты, чтоб лучше и быстрее понять этот удивительный мир программирования.
Тимур Муратов, 07/01/2017