Главные новости Краснодара
Краснодар
Декабрь
2019

Приключения бравого джависта в поисках пропитания

0

Прежде чем найти хорошую работу, Кирилл Охапкин, Java-разработчик из Волгограда, прошёл все круги ада трудоустройства джунов. В своей истории Кирилл делится опытом десятков собеседований и объясняет, почему начинающему программисту надо как можно раньше выходить на рынок труда.

Предыстория

К тридцати годам я перестал видеть перспективы на работе. Тогда, в 2018 году, я был начальником ОТК (отдела технического контроля) в муниципальном учреждении — автобусном парке. Однажды в городе сменилась власть и нам урезали финансирование. Я перешёл в другую компанию, но понял, что мне скучно. В полугосударственных организациях есть потолок роста: интересной и хорошо оплачиваемой должности там обычно ждут лет до пятидесяти.

Поскольку в активе у меня были высшее техническое образование и опыт работы сисадмином, я решил получить новую специальность в IT. Считаю, это сейчас самая перспективная сфера, где ощутим кадровый голод.

Учиться программированию предстояло с нуля, при этом надо было на что-то жить. Я устроился в транспортную компанию системным администратором и записался на курсы Java-разработки в GeekBrains. Почему Java? Потому что этот курс стартовал раньше других! Мне хотелось скорее начать программировать, а на чём — без разницы. Я даже не знал, что Java и JS — разные языки. 

Сейчас я доволен выбором, но раньше приходилось о нём жалеть из-за нехватки вакансий в моём регионе. История моего трудоустройства — это целый эпос, который я озаглавил бы так...

Чтобы прийти в Java, надо сначала отвергнуть Java

Работу я начал искать сразу по окончании второй четверти в GeekBrains: открыл HeadHunter, ввёл запрос «Java» и выбрал город Волгоград. Сайт выдал всего 16 вакансий, половина из которых… про JavaScript. «Это фиаско, братан!» — отозвался внутренний голос. Ах да, все вакансии были уровня Middle и Senior, кроме одной — «разработчик ABAP» с зарплатой 15 000 рублей. Мол, переучим с любого языка на суперперспективный, бла-бла-бла.

Я выложил резюме и стал откликаться на всё, вообще на всё — даже на вакансии тимлидов — со словами «возьмите за еду». Через месяц меня пригласили пройти собеседование на позицию «инженер автоматизированного тестирования».

Про английский и людей

На моё резюме откликнулась компания-аутсорсер, которая тестирует игры. Это крупная контора с головным офисом в Праге и филиалами в Москве и Питере. Мне предложили посмотреть вакансию QA-инженера. В требованиях был английский, и я сразу предупредил — не владею. HR ответил, что это не критично и не обязательно. Затем мне прислали тестовое задание, которое я выполнил и показал своему преподавателю Александру Фисунову. Он посоветовал, как упростить и структурировать код — получилось шикарно. В компании посмотрели, сказали: «О, класс! Приходи на интервью». Пришёл, поговорил с тимлидом QA-инженеров и ещё с двумя людьми, ответил на вопросы по Java. «Неплохо! — говорят они. — А что у вас с английским?» — «Частично понимаю, но не говорю». — «Ну ладно».

Дальше было Skype-интервью с руководителем питерского филиала: «В принципе, меня всё устраивает! А как у вас с английским?». Я повторил свой ответ. «Ладно, мы вам позвоним». Затем — ещё одно телефонное интервью с двумя руководителями и тот же финал. Так продолжалось месяц. В итоге HR сообщил, что меня не взяли. «Почему?» — «У тебя плохой английский». Я спокойный человек, но тогда высказал всё, что думал. Ведь я с самого начала предупреждал о своём английском! А в итоге потратил несколько дней жизни на пустые разговоры.

Это был единственный раз, когда иностранный язык стал камнем преткновения при трудоустройстве. Документацию я читаю спокойно: IT-лексику знаю, непонятное смотрю в словарях и Google-переводчике. Для работы в среднестатистической российской компании этого хватает. 

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

В регионах не выбирают

Считаю, что в регионах надо браться за любую работу: через полгода-год у тебя будет совсем другое резюме, и ты сможешь найти лучшие варианты. Конечно, если ты в Москве, Питере, Екатеринбурге, Воронеже или Краснодаре, можно привередничать. Но когда у тебя на весь город несколько вакансий — не до жиру. Зато с опытом ты сможешь устроиться в приличную компанию удалённо или переехать в Москву.

Замахнуться на два языка (нет)

Теоретических знаний после курсов мне хватало, чтобы проходить собеседования: интервьюеры сами не всегда представляли, о чём спрашивать, а тестовые задания помогли набить руку. Я понял, что за неделю активных раскопок на StackOverflow можно написать что угодно. Сложнее решать задачи на самих собеседованиях, но и к этому можно подготовиться. А вот когда речь заходит о деньгах и опыте, новичку приходится трудно.

В компаниях, где я проходил собеседования на позиции уровня Middle, мне часто отвечали: «Приходите через годик». Не все говорят так открыто — некоторые начинают срезать тебя издевательскими вопросами: «Как называется такой-то метод в Spring? А сякой-то?». Причём интервьюеры тушуются, когда отвечаешь: «Ребята, вас в гугле забанили? Дайте мне компьютер, и я скажу, как называется метод, а заодно покажу, как его использовать». Ещё могут спросить, как относишься к переработкам. Я честно говорю, что время для меня — самый дорогой ресурс, и дарить его я не собираюсь.

За полгода я прошёл с десяток интервью и получил один оффер от компании, которая предлагала всё те же 15 000 рублей в месяц с возможной прибавкой — не раньше, чем через год. Я, конечно, был готов к скромному заработку в первое время, но на такие деньги мне не прожить физически! 

Потом знакомый, который в Европе работает архитектором C#, протолкнул меня на собеседование в хорошую контору. У них собирался увольняться инженер автоматизированного тестирования, и я вышел на стажировку. Работал по часу в день. Стажировка закончилась, и-и-и… инженер не уволился :)

Затем в той же компании мне предложили заняться разработкой на C#. Для начала выдали сложное тестовое задание по SQL, и я от скуки делал его две недели, пока ждал увольнения инженера. В итоге я сам отказался от позиции: решил не браться за новый язык, пока не освою Java, ибо за обучение «уплочено». Параллельно осваивать два языка — это слишком, особенно для новичка. Сейчас-то я понимаю, что надо было не выделываться и согласиться на позицию разработчика С#. Но это лишь начало истории.

Пришёл февраль 2019 года. Директор конторы, куда меня приглашали автотестировщиком, решил мне помочь: обзвонил несколько IT-компаний и сказал, что годный парень ищет работу по Java. На следующий день я пошёл на собеседование в EAE-Consult. Там я ответил на общие вопросы и решил простенькую задачку по SQL. Мне сказали, что подхожу, но есть нюанс... У них не Java, а C# :) Засада! Однако я тогда ещё недостаточно отчаялся и отказал им. До мая собеседований не было вообще. Я продолжал откликаться на всё подряд. Переделал резюме, как советовала специалист GeekBrains по трудоустройству, и стучался в разные IT-конторы.

Тестовое с подвохом

Ещё был очень поучительный опыт с элементарным, на первый взгляд, тестовым заданием, которое оказалось с подвохом. Как-то раз я написал в LinkedIn тимлиду команды, где набирали Java-разработчиков. Он ответил, что джунов они уже набрали, остались вакансии мидлов, но я могу попробовать. Надо было на чистом Java написать консольное приложение, которое предлагало бы пользователю ввести любые числа, а на выходе показывало MIN, MAX и среднее значение. Была ещё хитрая приписка: «Неопытный программист должен понять, как работает твоё приложение, а злой программист не должен его сломать».

Я написал программку за десять минут, покрыл её подробными комментариями и обернул защитным кодом, где проверял типы входных значений и ловил исключения. Казалось, я предусмотрел абсолютно всё. В итоге тимлид «уронил» мою программу одной командой. Как? Он ввёл два максимальных для типа значения, так что произошло переполнение и расчёт выдал «–1». Это было очень поучительно! Кстати, нас на занятиях предупреждали о переполнении типа, но я тогда не придал этому значения. Что тут скажешь? Оставалось только улыбнуться, поблагодарить за опыт и пойти читать «Effective Java».

И вот однажды в выдаче hh.ru я нашёл вакансию «стажёр C#» со вкусной зарплатой и примечанием, что вместо «шарпа» кандидат может знать схожий строго типизированный язык. Я откликнулся с ленцой, даже без сопроводительного письма, и забыл об этом варианте. Но через пару недель прилетело тестовое задание со словами «Cделай, как сможешь, а не сможешь — напиши, где затык». Там было простенькое приложение: API на .NET и мобильная реализация на Xamarin.

Я удивил сам себя — за три дня выполнил задание так хорошо, что получил приглашение на интервью. Оказалось, работы у них пока нет, но они собирают команду для стартапа, который откроется когда-нибудь потом.

«Что ж, похоже, С# — это моя судьба», — подумал я и написал эйчару вышеупомянутой EAE-Consult. Меня опять пригласили на интервью и уже почти взяли на работу, но... Вдруг раздался звонок с незнакомого номера и человек, который представился моим новым начальником, сказал, что отбил меня у «шарпистов», потому что у него появилась вакансия джависта!

Если бы не Java :) 

Вы можете сказать, что мне следовало изучить местный рынок и выбрать другой язык программирования. Но дело не совсем в этом. У нас экономически слабый регион с низким уровнем жизни, поэтому, какой язык ни учи, перспективы придётся искать в местах с крупным IT-кластером. Даже если ты освоишь повсеместно востребованный JavaScript, в Волгограде тебе предложат делать сайтики за 20 000 рублей в месяц. К тому же у всех разные склонности и интересы: у меня, например, нет дизайнерских задатков и чувства стиля, с которыми можно расти во фронтенде. Мне больше нравится заниматься серверной частью. 

Кому-то важно быстро видеть результат своей работы, а для меня это не критично. Сейчас я работаю над кодом, который не предназначен для выполнения на моей машине. Зачастую приходится два-три дня программировать, прежде чем появится возможность оценить сделанное. 

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

Первая работа и перспективы

Итак, я устроился в EAE-Consult и стал единственным Java-разработчиком компании в Волгограде — коллеги по команде общаются со мной из Москвы. Я сразу оценил хорошо оборудованный офис, приятный коллектив, неплохую для нашего города зарплату.

Рабочий хаос :)

Я начал работать над расширением функций IBM MDM и использовал технологию, которая даже на StackOverflow не представлена. Поначалу пришлось очень тяжело. Во-первых, за повседневными задачами я не видел общей картины. Во-вторых, мне не хватало обратной связи по коду. А мне важно, чтобы мой код внимательно разбирали, критиковали и отправляли на доработку с указанием, что улучшить. Во время учёбы в GeekBrains я часто советовался с преподавателем Александром Фисуновым, и он умел объяснить, что хорошо, а что плохо. Теперь же надо было развиваться без наставника. Кстати, сейчас мне в этом помогает книга «Effective Java» — чтиво очень сложное, но и интересное!

Сейчас я уже полностью адаптировался в компании. С 2020 года перехожу на новый проект с очень современным стеком (микроcервисы, GraphQL). Кстати, мы ищем .NET-разработчиков. Если чувствуете в себе силы, присылайте резюме на почту svetlana.medova@eaeconsult.ru.

Важно ли иметь портфолио?

Моё начальное портфолио составили в основном тестовые задания для собеседований — их я выполнил очень много! В результате подобралась коллекция мини-проектов на любой вкус. Когда мне давали новое тестовое, я мог показать уже готовое решение.

Считаю, портфолио нужно самому программисту, а рекрутерам достаточно знать, что оно есть. Я слежу за статистикой своего репозитория на GitHub и вижу, что работодатели туда не заглядывают, — за исключением случаев, когда я отправлял тимлидам прямые ссылки на конкретные проекты. Если учесть, что я прошёл десятки собеседований, можно сделать вывод: при трудоустройстве на портфолио не смотрят — разве что у вас в запасе будет решение, близкое к тому, что нужно заказчику.

Итоги и советы

Не ждите окончания учёбы! Ходите на собеседования, делайте тестовые и постарайтесь устроиться стажёром — так вы наберёте базовый опыт. Скорее всего, первое время вам будут отказывать. По возвращении домой вы будете искать ответы на вопросы, с которыми не справились. Так и должно быть. Прохождение собеседований — навык, который надо развивать.

Во фронтенде, может быть, чем больше технологий ты освоил — тем ты круче. А в Java, если ты настроен на суровый Enterprise (работу в банках и крупных консалтинговых агентствах), поможет только погружение в коммерческие проекты. У меня поиск работы затянулся, но могу сказать, что всё основное на курсах я изучил в первые две четверти. Хотя дальше тоже были полезные вещи, было важно вместе с их изучением повторять старый материал.

Коммерческая разработка в любом случае отличается от учебных проектов. Пока нет «боевого» опыта, многие вещи можно понять, но не запомнить. С 1990-х годов Java оброс множеством фреймворков и библиотек, поэтому осваивать этот язык надо так: изучаешь Java Core, базовые принципы, алгоритмы, SQL — и идёшь работать.

Ещё очень важно умение читать код. Когда берёшься за новый проект, 50 % времени уходит на то, чтобы разобраться в сделанном до тебя, ещё 40 % — на документирование своего кода и всего 10 % — на программирование. Это только в фильмах про хакеров от быстрого ввода команд происходят чудеса. 

Как научиться читать код? В идеале надо взять готовый проект на тысячу классов, где после очередного обновления что-то не работает, — и вникать, как всё устроено и что пошло не так. Было бы круто, если бы этому учили на курсах, но я такого не встретил.

Перед собеседованием полезно загуглить примеры частых вопросов и заданий на собеседованиях по вашему направлению. Многие работодатели сами берут эти вопросы из интернета. Например, меня в трёх разных местах спрашивали, чем интерфейс в Java отличается от абстрактного класса. Тут не обязательно вдаваться в философию — от вас ждут такого ответа: «После Java 8 — ничем не отличается». Технический интервьюер просто хочет убедиться, что вы любознательны и читаете правильные актуальные источники.

Хотите узнать больше о выпускниках Java-факультета GeekBrains? Вот их истории:

Пройти обучение



Moscow.media
Частные объявления сегодня





Rss.plus



В Воскресенске росгвардейцы задержали гражданку, находящуюся в федеральном розыске

Пот ручьём: когда стоит обращать внимание на повышенную потливость, рассказал доктор Кутушов

S&P повысило прогноз по рейтингу «дочек» Freedom Holding Corp. до позитивного

Филиал № 4 ОСФР по Москве и Московской области информирует: Родители 240,5 тыс. детей в Московской области получают единое пособие


Итоги творческой встречи с Алексеем Данилиным

Аромат романса и романтика слова – звезды оперной сцены представили I Международный фестиваль «Мир классического романса»

Отборочный этап «Абилимпикса» прошел в Реутове

Создание Портфолио Актера. Создание Фото Портфолио.


Chelsea enter Conference League despite speculation they could snub Uefa competition after facing tough financial rules

Cubs Suffer Another Devastating Injury to Starting Rotation

Chelsea PULL OUT of Alexander Isak transfer race in move which could come at a huge cost to Everton

Why does former Man Utd striker Memphis Depay wear a headband and what is written on the Dutch footballer’s headgear?


Врач дерматолог-косметолог Мадина Байрамукова: что делать, если вас ужалила медуза

Городские приметы Петербурга

Как снимали фильм "Афоня": Кадры со съемок и 23 интересных факта о фильме

Участок трассы М-5 Урал перекроют в Челябинской области 2 июля


After three hours of attempts, Elden Ring folk hero Let Me Solo Her has beaten Shadow of the Erdtree's final boss⁠: 'Holy crap, I am shaking'

All Destiny 2 Prismatic fragment locations

The latest friendship-ruining co-op game on Steam is a punishing platformer where you're chained to your pals, and it's about to crack 100,000 concurrent players

'I absolutely suck at video games': Hidetaka Miyazaki discusses how he prepped for Elden Ring: Shadow of the Erdtree



Средняя стоимость квартир в новостройках в Краснодаре увеличилась на 17%

Юные ставропольские легкоатлеты привезли медали из Краснодара

Под Краснодаром мигранту сделали замечание за выгул собаки без намордника. В ответ бородач пригрозил ножом

Ерохин о лучших и худших стадионах: «Газпром Арена» на 1-м месте, 2-е – у «Краснодара». В Молдавии люди за бровкой шашлыки жарили, могла коза пастись рядом»




Повышенный режим готовности введён: Лето запомнится надолго десятку городов

Ерохин: «Зенит» будет фаворитом в новом сезоне РПЛ, у него всегда одна задача

Сезон отпусков набирает обороты, а вместе с тем растут и аппетиты курортного сервиса.

Стало известно, на сколько подорожали новостройки в России за полгода


КРАСНОДАР. На Кубани начали снимать картину по событиям в Сирии и на СВО

Глава Дагестана Меликов: после терактов началась травля жителей региона

В Анапе гидроцикл вылетел на пляж и сбил 10-летнюю девочку

Среди россиян растет спрос на экологичную бьюти-продукцию


Тернистый путь: Медведеву и Андреевой не повезло с жеребьёвкой на Уимблдоне, у Калинской и Рублёва сетки полегче

Медведев остался на пятом месте в рейтинге ATP перед стартом Уимблдона

Теннисисты Котов и Калинская получили приглашение на Олимпиаду в Париже

Браво, Даша и Диана! Российские теннисистки одновременно выиграли турниры в Англии и Германии за два дня до Уимблдона


Называла Олечкой и вонзила в горло нож. Мать убила 4-летнюю дочку

Бывший министр здравоохранения Ростовской области Быковская подала кассацию в Верховный суд России

КРАСНОДАР. На Кубани начали снимать картину по событиям в Сирии и на СВО

Среди россиян растет спрос на экологичную бьюти-продукцию


Музыкальные новости

Рэпер ST пожелал выпускникам на «Алых парусах» действовать смелее

Элджей напал на журналиста из-за вопроса про Ивлееву

...Есть чем платить, но я не хочу победы любой ценой. Памятник Виктору Цою в Санкт-Петербурге

Экологическая акция в рамках партийного проекта «Чистая страна» прошла в заповеднике «Утриш»



В Ростове и еще девяти городах России пройдет зумба-тур

Многие краснодарцы к 25 годам имеют несколько высших образований, семью и бизнес

Депутат ЗСК Виктор Тепляков провёл обход на территории под Верещагинским виадуком в Сочи

Средняя стоимость квартир в новостройках в Краснодаре увеличилась на 17%


Бастрыкин разберётся: молодой челябинец скончался в больнице

Сергей Собянин. Главное за день

Нюансы покупки автозапчастей в интернет-магазине

Создание Портфолио Актера. Создание Фото Портфолио.


Два человека насмерть разбились на Ставрополье из-за превышения скорости

На Кубани один человек погиб, двое ранены в результате столкновения ВАЗ с автоприцепом

Пассажиры поезда, попавшего в страшное ДТП в Коми, прибыли в Новороссийск

В День молодёжи рязанцев ожидают различные активности


Кубань представит на промышленной выставке «Иннопром-2024» высокотехнологичную продукцию

«Россия 1»: Путин поедет на саммит ШОС и может встретиться с Си Цзиньпином

Бизнес, Путин и былая любовь? Что связывает Канье Уэста с Россией

Лидер турецкой оппозиции планирует встретиться с Путиным





Арт-терапевт из Анапы приехал в Псков с проектом «Искусство в массы»

В больницах Коми остаются девять пострадавших при сходе поезда

В Чебоксарах стартовал ежегодный семинар для ведущих офтальмохирургов со всей России

В Краснодарском крае врачи достали из пищевода младенца деталь от сумки


Зеленский резко изменил риторику: что скрывается за хитрыми речами из Киева

В Киеве переполох: Зеленский ищет способы слиться из-за фиаско Байдена на дебатах с Трампом


Ерохин о лучших и худших стадионах: «Газпром Арена» на 1-м месте, 2-е – у «Краснодара». В Молдавии люди за бровкой шашлыки жарили, могла коза пастись рядом»

Молодежное первенство. "Локомотив" проиграл в дерби, а "Зенит" уступил в Грозном.

Губерниев раскритиковал перенос соревнований по биатлону из Сочи

В День молодёжи рязанцев ожидают различные активности


Лавров сообщил о планах Путина и Лукашенко встретиться в ближайшее время

О чём свидетельствуют недавние кадровые изменения в Белоруссии?



Вениамин Кондратьев рассказал об успехе кубанских спортсменов на играх стран БРИКС

Вениамин Кондратьев сохранил свои позиции в рейтинге губернаторов России

Глава Кубани сохранил свои позиции в рейтинге российских губернаторов

Вениамин Кондратьев поздравил кубанцев с Днем молодежи


В День молодёжи рязанцев ожидают различные активности

С 1 июня в Краснодарском крае на воде погибло 16 человек, из них 6 детей

Многие краснодарцы к 25 годам имеют несколько высших образований, семью и бизнес

Экологическая акция в рамках партийного проекта «Чистая страна» прошла в заповеднике «Утриш»


Называла Олечкой и вонзила в горло нож. Мать убила 4-летнюю дочку

Глава Дагестана заявил о травле после терактов в регионе

КРАСНОДАР. На Кубани начали снимать картину по событиям в Сирии и на СВО

Глава Дагестана Меликов: после терактов началась травля жителей региона


Архангельская область войдет в федеральный историко-культурный туристический проект «Императорский маршрут»

Практика социального предпринимателя из Архангельской области признана лучшей на всероссийском конкурсе

АО «Транснефть - Север» выпустило молодь атлантического лосося в реку в Архангельской области

"От Души и по Совести..."


Севастополь в числе регионов с рекордными ценами на новостройки, Симферополь немного отстаёт

Смертельное ДТП произошло в Сакском районе Крыма

Выставка-предупреждение «Лицо беды»

Войны древних славян с греками


КРАСНОДАР. На Кубани начали снимать картину по событиям в Сирии и на СВО

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

КРАСНОДАР. На Кубани археологи нашли захоронения раннего бронзового века

Глава Дагестана заявил о травле после терактов в регионе












Спорт в Краснодарском крае

Новости спорта


Новости тенниса
Анна Калинская

Теннисисты Котов и Калинская получили приглашение на Олимпиаду в Париже






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

Глава Дагестана: жители республики столкнулись с травлей после терактов в стране

Дни Краснодара пройдут 6 — 7 июля на выставке «Россия»

В Анапе гидроцикл вылетел на пляж и сбил 10-летнюю девочку