Елена Булыгина предлагает Вам запомнить сайт «Ленусик»
Вы хотите запомнить сайт «Ленусик»?
Да Нет
×
Прогноз погоды

Основная статья: Истории студента

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

Прежде чем найти хорошую работу, Кирилл Охапкин, 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? Вот их истории:

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

9 дек 19, 15:32
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

«Рекрутеры не дают прохода» — история веб-разработчика

Михаил Логинов оставил собственный бизнес ради IT. Год работал в тестировании, окончил курс Frontend в GeekBrains и уже три месяца трудится веб-разработчиком полного цикла. Стоило ли оно того? И реально ли собрать портфолио за время учебы? Об этом и о пути в профессию сейчас поговорим.

Михаил, с чего начался ваш путь в разработку и в GeekBrains?

— В детстве любил математику — побеждал на олимпиадах и в результате без экзаменов поступил на мехмат Ростовского государственного университета по специальности «математик, системный программист».

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

Но бизнес шел нестабильно — мне были интересны альтернативы. Обратил внимание на зарплаты в IT и решил попробовать. Для начала прошел бесплатные курсы Portnov Computer School и устроился тестировщиком. Удивительно, что меня в 30 лет взяли без опыта!

Я ежедневно общался с разработчиками, пробовал их инструменты, привыкал к их порядкам и жаргону. Через несколько месяцев стал просить у начальства небольшие задачки по программированию. Когда решил, что хочу учиться на разработчика, нашел GeekBrains.

Платить за учебу не пришлось — курс Frontend я выиграл в конкурсе от GB «Мы ищем таланты». Из восьми тысяч претендентов отбирали по 30 человек в две группы: Fronted и Ruby. Меня интересовал только Frontend, хотя проходной балл здесь был выше, а конкурс — более 100 человек на место!

Тест включал задачи по дискретной математике — тут мне и пригодился мехмат…

Почему выбрали веб?

— Меня завораживает магия онлайн-сервисов. До их появления под каждую мелкую задачу приходилось ставить по десктопному приложению. Нельзя было взять и нарезать картинки онлайн или начать вести заметки в облаке.

До сих пор удивляюсь скоростям веб-сервисов! Забываешь, что твои файлы проделывают путь «через весь интернет». Это вдохновляет.

Но решающим фактором была популярность веб-разработки. Ведь программировать я планирую не «для себя». Важно, чтобы мои умения пользовались спросом.

Выполненный Михаилом проект из курса HTML/CSS. Смотреть онлайн

Чем занимаетесь сейчас?

— Я веб-разработчик полного цикла: пишу и серверную, и клиентскую сторону приложений. Стек технологий: Vue (Vuex, Nuxt.js, Apollo), React (Redux), Node.js (TypeScript, GraphQL, Mongodb).

Меня сразу взяли на зарплату ближе к уровню middle. До максимумов, которые были в бизнесе, не дотягивает, но тут другие преимущества: больше стабильности и перспективы карьерного роста.

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

А ведь еще полтора года назад я не знал даже основ веб-разработки. Понятия не имел, что такое CSS и «ре-по-зи-то-рий».

Рекрутеры вас находят на работных сайтах (hh.ru, Superjob) или вы еще на каких-то площадках разместили резюме?

— Я искал работу через HeadHunter — там меня в основном и находят. Еще пишут в Linkedin, но этот аккаунт я завел больше «на вырост»: если решу искать работодателя за рубежом.

Когда в следующий раз понадобится работа, воспользуюсь еще и объявлениями, которые проскакивают в чатах программистских сообществ.

Работаете в офисе?

— Да, в просторном офисе в центре Ростова-на-Дону. У нас в компании около ста человек. Подразделения расположены в России, Украине, Израиле и США. Приятно быть частью большой команды и решать задачи плечом к плечу с профессионалами своего дела.

Как в Ростове с вакансиями? И в плане количества, и в плане уровня компаний.

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

Насколько пригодился опыт тестировщика?

— На новой работе я уже писал unit-тесты для своего проекта, и хорошо, что я умел это делать. Все разработчики так или иначе тестируют свой код. Но есть и еще один важный момент.

Тестирование стало для меня черным ходом в веб-разработку, хотя изначально я этого не планировал. Именно тогда у меня появился минимальный «опыт коммерческой разработки», жизненно необходимый кандидату на позицию junior developer.

Я понял, что в IT нехватка опытных специалистов и им готовы предлагать любые деньги и условия. Люди без знаний видят такие вакансии на HeadHunter и отчаянно стремятся на стартовые должности в разработке. Конкуренция огромная. Получить место джуниора — ключевой и самый сложный момент в карьере разработчика. К этому нужно готовиться. Тестирование дало мне такую возможность.

Какие проекты, сделанные в GB, вы взяли в портфолио?

— Например, два fullstack-проекта на React + Redux + Node.js + Express + Mongodb, которые мы делали в рамках курса React. Одно из приложений общается с сервером в реальном времени с помощью Socket.io.

Еще я включил в портфолио frontend-приложение на Vue + Pug + Stylus, сделанное во время курса JavaScript #2. Преподаватель вел факультатив по Vue, а я был рад освоить эту технологию.

Добавил три верстки — в основном на моем любимом стеке Pug/Stylus/Gulp — и небольшую игру на HTML Canvas.

Верстка из курса HTMLl5/CSS3. Смотреть онлайн: здесь и тут

Сейчас не ищу работу, но при случае обязательно включу в портфолио и более новые проекты. Например, который я сделал в рамках командной разработки. Кстати, надо будет упомянуть, что я стал «контрибьютором» популярного компонента для Vue.

По своему опыту рекомендую будущим разработчикам уже во время учебы наполнять портфолио проектами. Пусть они не будут шедеврами, но поставьте себя на место работодателя. На собеседовании кандидат говорит, что знает CSS и JavaScript, но не может показать ни одного проекта. Что он реально умеет — неизвестно. Другой соискатель дает ссылки на свои работы: «Они еще не доделаны, но вот верстка, тут я упражнялся с таким-то фреймворком, а здесь у меня простенький API». Сразу понятно, какие задачи можно доверить кандидату на первых порах. Подумайте об этом.

Работодатели зачастую даже не просят меня выполнить тестовое задание. Им достаточно взглянуть на похожие проекты в моем портфолио!

Как давалась работа над проектами: насколько было сложно? И что было самым трудным за все время обучения?

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

Не все технологии, которые я применял, входили в программу курсов, но мне попадались замечательные преподаватели: они рассказывали больше и готовы были дать совет по темам за рамками учебного плана.
Например, я быстро перешел от обычной верстки на HTML/CSS к использованию шаблонизатора Pug и препроцессора Stylus. Когда преподаватель стал рассказывать о модных Single Page Applications, я охотно перешел на эту технологию с помощью Vue.

Проект из курса JavaScript #2 (Vue)

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

Расскажите подробнее о командном проекте. Насколько понимаю, он был самым масштабным. Как распределились роли в команде? Вы руководили?

— В командной разработке мы примеряли разные роли, и я не ставил себе цели руководить. Хотелось углубить знание React-Redux, и это удалось.

Вместо «гипотетического учебного» мы сделали проект для реального бизнеса, и он будет внедрен. Это сервис аренды автомобилей Rent Auto для компании, у которой свой автопарк в Екатеринбурге. Идею предложил наш руководитель проекта.

Командой из пяти человек мы сделали и клиентскую, и серверную часть: в том числе отдельный сайт для администраторов сервиса и базу данных.

Два backend-разработчика реализовали сервер на Ruby и MySQL. Руководитель проекта выступил также третьим бэкендером. Еще у нас были два фронтендера и дизайнер.

Лично я написал пользовательское веб-приложение (кому интересно — вот оно). Не считаю его чем-то выдающимся, но в целом все получилось. По сути, это Single Page Application. Клиент выбирает машину из каталога, время, когда она будет нужна, и заполняет заявку.

По макету дизайнера я сверстал сайт с помощью Stylus, Bootstrap и Bem. Применил адаптивную, кроссбраузерную и кроссплатформенную верстку. Использовал современные подходы: grid и flex. Сердце проекта — React. К нему прикручены хранилище данных Redux и другие библиотеки.

Для сборки мы использовали Webpack и компилятор Babel. Выдержать единый стиль помог Eslint.

В работе над этим проектом мы погрузились в условия, максимально близкие к «боевым», то есть к настоящей коммерческой разработке. Такой опыт особенно ценен.

Кстати, я делал сразу два командных проекта. Так получилось, что я занимался в двух группах.

Как так?

— Из-за перетасовки групп внутри одного потока меня сначала записали в другой проект. Все студенты уже были знакомы, и я не сразу понял, что оказался в чужой группе. А позже не захотел подводить команду и продолжил помогать с проектом. Все, с кем я работал, — отличные ребята. Надеюсь, их карьера сложится, как они хотят.

К другим направлениям присматриваетесь? Что-то кроме JS хотели бы изучить?

— Мне интересны и разработка игр, и более низкоуровневое программирование. Но я понял важную вещь, которую советую запомнить всем, кто идет в IT. Технологий, языков программирования, фреймворков и подходов очень много. Никто не знает и не может знать их все. Выберите направление по душе и изучайте так глубоко, как только сможете.

Знание одного популярного фреймворка дает вам востребованную профессию, хорошую зарплату, перспективы. А знание «вершков» от всех языков только вызывает улыбку у работодателя. Не получится писать коммерческий код без погружения в конкретную технологию.
Я освоил актуальный, модный стек технологий и пока не собираюсь его расширять или менять. А вот углублять свои знания и развиваться как специалист буду еще долго. Посвящаю этому все свободное время.

Есть любимые книги и статьи по специальности, которые особенно помогли?

— Чтобы получить позицию разработчика, я занимался по 4–5 часов в день в течение 8–9 месяцев. При этом часть знаний тут же применял в тестировании. Было очень полезно знакомиться с коммерческими проектами, смотреть на проблемы, которые возникают у разработчиков, иногда даже предлагать решения.

Всем советую: если есть возможность, на время обучения найдите себе должность, близкую к разработке — сисадмин, верстальщик, тестировщик. Будете развиваться «без отрыва от производства».

Из учебных ресурсов для начинающих, помимо GeekBrains, рекомендую FreeCodeCamp, серию мобильных приложений Solo Learn и YouTube-канал Traversy Media. Еще советую грызть гранит науки на learn.javascript.ru, хотя это и сложновато.

Если уже вышли на продвинутый уровень — смотрите уроки технопарка Mail.ru, которые читают в МГТУ им. Баумана, записи уроков от Академии Яндекса и курс по JavaScript от Киевского политехнического института (лекции этого года есть на YouTube). Упомяну и канал «Веб-Стандарты» — там вы найдете доклады веб-разработчиков с крупных русскоязычных конференций.

При подготовке к собеседованиям на позиции уровня middle и выше полезны ресурсы hackerrank.com и leetcode.com.

Как планируете развиваться дальше?

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

Сейчас меня приглашают на стажировку в Mail.ru, и еще я дополнительно прохожу в GB курс по Node.js.

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

Спасибо, что уделили время! Может быть, желающие учиться на веб-разработчика еще что-то спросят в комментариях.

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

19 фев 19, 15:41
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

О стажировке и учебе в GeekBrains

Разговариваем о том, как выглядит стажировка в GB и что она дает. Попутно обсуждаем путь в профессию, выбор между JS/PHP и fullstack JS, создание портфолио. Мой собеседник — Владислав Мищенко — освоил веб-разработку в GeekBrains и стал наставником.

Владислав, чем занимаетесь сейчас?

— Прохожу стажировку по итогам курса веб-разработки: обычно она длится полтора месяца, но мы взялись за масштабный проект — форум. Его за такое время удалось написать лишь на 35–40 %. Чтобы получить минимально жизнеспособный продукт, пришлось идти «на второй круг». Пишем уже третий месяц. Сейчас делаем личный кабинет и авторизацию через соцсети.

Над проектом работает несколько распределенных команд: одна пишет backend, другая — frontend, третья отвечает за дизайн. У каждой команды свой тимлид.

Чем стажировка в GeekBrains отличается от финального проекта по профессии?

— Стажировка — это дополнительная практика, которую проходят по желанию. Она помогает собрать портфолио и получить опыт. Не все, кто записались на стажировку, уже заканчивают обучение. Ребята из команды рассказывали, что им еще осталось пройти один-два курса по профессии, а они узнали о стажировке и присоединились. Бывает и наоборот — записываются после учебы.

Если за отведенное время проект завершить не удалось, стажировку можно продлить, повторить, как это и получилось у нас. Не могли же мы просто махнуть рукой и сказать: «Ладно, будем считать, что закончили». Для меня это точно не вариант. Преподаватель Сергей Кручинин спросил, кто хочет продолжать. Я записался, ведь без завершенного проекта терялся смысл стажировки.

Берут всех или есть отбор? И кто предлагает идею?

— Берут всех, кто запишется. Дальше студенты договариваются между собой, разбиваются на команды. В нашем случае идея принадлежала преподавателю Сергею Кручинину. Он курирует нашу стажировку и предложил три проекта на выбор: форум и две разновидности чата — для десктопа или для мобильных устройств.

Главная страница форума

Ваш участок работы в команде?

— Я в первую очередь менеджер: координирую работу над бэкендом и с тимлидами других команд, проверяю код участников. Если нахожу ошибки — объясняю, что исправить. Если у кого-то из коллег возникают трудности — подключаюсь к проблемной задаче и вместе мы ее решаем. То есть на мне организаторские задачи и code review.

Опыт проджект-менеджера для резюме?

— Главное — опыт управления распределенной командой. Потому что в офисе я уже руководил отделом. Но одно дело — договариваться о чем-то, когда все в одной комнате, другое — когда мы в разных часовых поясах и общаемся по Skype.

На чем пишете и сколько вас в бэкенде?

— Используем PHP, фреймворк Laravel. На стажировке по веб-разработке нас четверо, включая меня.

Сколько времени уделяете проекту ежедневно?

— Стараюсь заниматься форумом не менее 2–3 часов в день, по возможности — 4–5 часов. Бывает, до двух дней не прикасаюсь к проекту, потому что выполняю заказы на фрилансе.

Чтобы координировать работу в команде, мы с коллегами по бэкенду минимум раз в неделю созваниваемся — обсуждаем текущие и предстоящие задачи. Плюс держу связь с тимлидами других команд: фронтенда и дизайна.

Базовое оформление дизайнеры нарисовали еще в «первый заход» стажировки. Теперь они изредка что-то дорабатывают или объясняют нам назначение неподписанных элементов интерфейса.

В ходе работы над проектом вы учитесь технологиям, которых в основном курсе не было? Или это скорее шлифовка уже полученных знаний и навыков?

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

Второй момент — мы изучаем новые фреймворки. В основном курсе мы работали с Yii 2, а для проекта понадобилось учить Laravel. Это приблизило нас к реальной ситуации, когда на работе требуется быстро вникнуть в незнакомую технологию.

Нельзя «про запас» изучить все на свете, но, если есть фундамент, можно быстро добирать необходимое. Я уже знаю язык PHP и свой стек, поэтому новый фреймворк не стал проблемой. Нужно только быть готовым к работе с новыми инструментами, к самообразованию — без этого в профессии не удержишься.

Так выглядит страница темы на форуме

Какое образование получали до GeekBrains?

— Техническое. В нижегородском филиале Высшей школы экономики я сначала окончил бакалавриат по специальности «бизнес-информатика». Затем в магистратуре изучал интеллектуальный анализ данных.

В интересах у вас многое перечислено: JS, PHP, Python, Java, — то есть вы искали свое направление, свой стек технологий. А в итоге решили на вебе сосредоточиться. Почему?

— Так исторически сложилось. Я начинал как автоматизатор тестирования: для тестов использовал Java, затем переключился на полноценную Java-разработку. Позже возглавлял отдел разработки на оборонном предприятии. Мы писали Windows-приложения на C# для внутреннего использования в организации.

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

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

Я устроился работать в веб-студию и понял, что мне не хватает знаний и опыта в этой сфере. Тогда я нашел портал GeekBrains. Понравилось наличие бесплатных интенсивов и курсов. На тот момент GeekUniversity еще не открылся.

Сначала я купил обучение профессии «Веб-разработчик», а затем еще прошел бесплатный курс Ruby, который выиграл по конкурсу. Занимался практически параллельно: веб-разработку начал с марта, Ruby — с июня. Так что я проходил 2–3 курса в месяц.

Ruby пока не пригодился?

— В Нижнем Новгороде найти вакансию разработчика Ruby не так просто: требуют большой опыт. Но я не жалею, что изучил основы языка и фреймворк Ruby on Rails. Финальным проектом по этому курсу наша команда сделала сервис Linker, который позволяет создавать коллекции ссылок и обмениваться ими онлайн. Нас было шестеро, я отвечал за менеджмент. Сейчас этот проект в моем портфолио. Интересный опыт.

Фрагмент главной страницы проекта

Веб-разработчику со знанием PHP проще в Нижнем Новгороде найти работу?

— Вакансии есть, но такой, которая бы меня зацепила, пока не нашел. Хочу профессионально развиваться, а не сидеть на одном PHP-фреймворке или на одной CMS типа Wordpress или Bitrix. Мне нужна компания, которая предложит разноплановые проекты и перспективы карьерного роста.

Дистанционные варианты рассматриваете?

— Сейчас я как раз фрилансер: сотрудничаю с заказчиками из других городов. Но параллельно ищу постоянное место.

Предпочитаете офис?

— Да. Когда смотришь, как работают другие, проще настроиться на дело. Дома я более расслаблен.

Пока вы учились на веб-разработчика, было деление на тех, кто хочет в fullstack, и тех, кому нужен только бэкенд?

— Некоторые предметы мы изучали вместе. Для большей ясности приведу пример. Курс «JS. Уровень 1» — он и для веб-разработчиков полного цикла, и для фронтендеров, и для тех, кто купил отдельный курс вне профессии. Со мной учились люди не только с курсов GeekBrains, но и из GeekUniversity. Были новички в программировании, были и опытные люди, которые пришли освоить новую для себя технологию.

Кстати, почему вы не захотели стать fullstack-разработчиком JS?

— Я покупал профессию, когда работал в веб-студии, где мы использовали системы управления контентом: Wordpress, Open Cart и Bitrix. Все эти CMS написаны на PHP. Мне нужен был этот язык, плюс понимание бэкенда, фронтенда и верстки. Поэтому профессия «Веб-разработчик» подходила идеально.

Но от перспектив fullstack-разработки я не отказываюсь: с конца февраля начну проходить курс Node.js, который получил в подарок от GeekBrains. Node.js — это фреймворк, который позволяет писать серверную часть сайта или веб-приложения на JavaScript. Когда освою его, до JS-разработчика полного цикла мне останется изучить Vue и/или React.

Кроме форума и сервиса Linker, какие сделанные в GeekBrains проекты возьмете в портфолио?

— Я вставил в резюме ссылку на GitHub, где храню проекты, которыми горжусь и за которые меня хвалили преподаватели. Один из них — интернет-магазин на чистом PHP, который я делал на курсе «PHP. Уровень 2». Да, это учебная работа: в базе магазина всего несколько товаров. Зато я глубже вник, как реализовать функции: корзину, разбивку по категориям, подбор товара и другие.

Когда я пользовался системой Open Cart, алгоритмы добавления в корзину и поиска по сайту казались запутанными. Теперь я сам расписал порядок этих действий для своего проекта и понимаю, почему и как все работает.

Сколько времени заняло написание интернет-магазина?

— Примерно месяц. Надо понимать, что я сделал не готовый интернет-магазин, а минимальный набор функций. В нем нет, например, кнопки оформления заказа.

Вы не только ученик, но и наставник в GeekBrains. Сколько времени это отнимает и насколько трудно?

— Все зависит от потока и курса. На одних курсах штиль — никто не обращается, на других — два-три человека задают вопросы в духе «Как сделать вот это?», «Я не успеваю сдать ДЗ, что делать?». Людей интересуют и учебные, и организационные моменты.

Мне нравится, что через наставничество я сам учусь. Студенты подчас задают очень интересные вопросы с подвохом. С ходу не ответишь — идешь в Google, вникаешь и дальше объясняешь, как сам понял. Это помогает разобраться в темах, которые ускользнули из твоего поля зрения во время учебы.

Как собираетесь дальше развиваться в карьерном плане?

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


14 фев 19, 14:34
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

С Дня карьеры в «Альфа-Банк»: история студента GU

Ивану 22 года, и он уже успел поработать в авиационной отрасли, освоить C++ и приняться за Java, а еще — найти работу мечты в одном из крупнейших российских банков. Мне захотелось узнать эту историю подробнее, и мы с Иваном записали интервью. Поговорили о том, как начать новую карьеру, когда у тебя уже есть хорошая работа, и чем полезен GeekUniversity студенту известного вуза.

Иван, расскажи, пожалуйста, кем ты сейчас работаешь и какие задачи решаешь?

— Сейчас я — старший разработчик Equation в «Альфа-Банке». Наша команда совершенствует систему расчетов. Если конкретнее говорить о моих задачах, это написание и доработка кода, исправление ошибок ПО.

Как ты попал в «Альфа-Банк»? И трудно ли было искать вакансии параллельно с учебой?

— Работу я нашел на мероприятии День карьеры в GeekBrains. Такие встречи с работодателями — просто потрясающая идея. Я очень обрадовался, когда узнал о них. Участвовал два раза. И вот во второй мне улыбнулась удача.

Как это было?

— Первый День дал мне опыт: я растерялся и толком не успел поговорить с работодателями, зато узнал, как преподнести свои знания и пройти собеседование. Особенно полезным было выступление Людмилы Карамышевой. Ее советы помогли мне составить более удачное резюме. Старое просто выкинул.

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

«Альфа» зацепила с первых минут диалога. Компанию представляли приятные и приветливые HR. Они сказали, что ищут специалистов со знанием Java и C++. После беседы обещали перезвонить буквально через пару дней. У меня было чувство нереальности происходящего и огромное желание попасть именно туда.

Стоит ли говорить про восторг от выхода на работу, который до сих пор ни капли не угас! Думаю, не преувеличу, если назову это любовью с первого взгляда. :)

Чем ты занимался до программирования? И с чего начался интерес к разработке?

— До программирования я учился в Московском авиационном институте (МАИ) и работал на авиационных предприятиях. Когда пришел на предыдущее место работы, понял, что не хватает знаний в области программирования (конкретно C++), и начал искать хорошие курсы.

Сначала я прошел курсы от МФТИ и Яндекса, о которых узнал на сайте Coursera. Было тяжело совмещать дополнительное образование с работой и учебой в вузе, но это принесло плоды.

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

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

Как получилось, что ты решил сменить сферу деятельности?

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

Новую профессию выбирал, исходя из своих интересов, а дальше проверил желание стать именно разработчиком по ходу учебы: это развеяло последние сомнения. За написанием программ вечера проносились незаметно. Даже после учебы и работы — стоило только сесть за лекции или домашние задания, как я терял счет времени. Так это и осталось до сих пор.

Почему ты выбрал язык Java?

— Потому что Java — кроссплатформенный язык с большими возможностями. Еще мне понравилось, какие проекты можно делать на факультете Java-разработки в GeekUniversity. Задачи выглядели очень многообещающе: они открывали практически безграничный простор для фантазии и последующих доработок.

Легко ли было изучать Java после С++? Были какие-то сложные темы?

— После C++ изучение Java шло более чем прекрасно. Достаточно было провести аналогию между двумя языками, и все становилось на свои места. Сложных тем в Java после C++ не было как таковых. Безусловно, эти языки не полностью идентичны, но похожи.

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

— Пока я успел сделать чат и игру на Android. Приступил также к разработке сайта, но не успел завершить этот проект: когда на горизонте появилась работа мечты, обучение пришлось временно приостановить.

Какой проект был сложнее, а какой принес больше удовольствия?

— Сложным я бы назвал создание чата. Это был мой первый более-менее крупный проект, и нелегко было воедино связать большие объемы кода. Пришлось попотеть, прежде чем у меня выработалось ясное и четкое понимание, что и как делать. Первое время было тяжело понять клиент-серверное взаимодействие. Но и это прошло. :)

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

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

Что за игра в итоге получилась?

— Мы разрабатывали своего Bomberman’а. Я сразу понял, сколько всего можно придумать и сделать. Здорово было делиться с преподавателем своими наработками и получать по ним рекомендации. Но главное — это был проект, к которому раз за разом хотелось возвращаться, чтобы дорабатывать.


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

Я обязательно придумаю для этой игры завершение, но не сегодня.

А кто вел курс разработки игр?

— Александр Фисунов. Это один из лучших преподавателей GeekBrains: он может и заинтересовать, и оперативно подсказать в чате. Даже после окончания курса он открыт для общения со студентами: к нему можно обратиться за помощью. Короче говоря, остались только хорошие воспоминания, и я очень надеюсь снова попасть к Александру, когда возобновлю обучение.

Кстати, именно в работе над игрой я впервые на практике применил Gradle и Maven. А они очень востребованы на моей нынешней работе!

Были еще какие-то учебные курсы в GU, которые тебе особенно запомнились и помогли?

— Особенно полезен был курс по алгоритмам и структурам данных! Он помог мне систематизировать и существенно дополнить полученные до этого знания. Честно говоря, даже не представляю, что бы я сейчас без него делал.

Также был очень интересен курс HTML/CSS. Очень жаль, что я пока не успел его закончить.

Сколько времени с начала учебы прошло, прежде чем ты нашел работу?

— Я поступил в GeekUniversity в декабре 2017 года, а на работу устроился в сентябре 2018. За это время некоторые курсы пришлось перепройти: не все успевал с первого раза, потому что параллельно работал и учился в университете офлайн. Но я все-таки благополучно добрался до конца второй четверти в GU.

И вот ты на собеседовании в «Альфа-Банке». Трудно было? И долго ли ты к нему готовился?

— Да, собеседование было непростым, но скорее в психологическом плане. Это было мое первое интервью в крупной компании, и я сильно волновался. Очень уж хотелось получить эту работу. Готовился действительно тщательно: около недели интенсивных занятий. Пришлось вспомнить все, что проходили, пересмотреть много лекций и методичек. В целом, учебных материалов оказалось достаточно, чтобы успешно со всем справиться.

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

— В базовых вопросах знаний хватает, но, безусловно, учиться приходится многому. Во время испытательного срока понадобилось на новом уровне изучить Gradle, git и язык программирования RPG. Уверен, что первые два пункта дались бы мне гораздо легче, если бы я доучился в GU до конца. А вот RPG в любом случае понадобилось бы учить с нуля. Но благодаря знанию Java и C++, я без особых проблем освоил третий язык на минимально необходимом уровне.

Совсем недавно я прошел курс TDD на Java и получил сертификат, подтверждающий мои компетенции.

Что ты думаешь о студенческом сообществе, которое ведет Даша Грач? На практике оно тебе пригодилось?

— Это, пожалуй, одна из самых полезных вещей в GU! Студенческое сообщество дает возможность делиться мыслями, наработками, опытом. Я не только общался с одногруппниками, но и часто советовался с преподавателями в чатах. Мне это очень помогло.

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

Дни карьеры, кстати, — тоже мероприятие студенческого сообщества. И я уже рассказал на своем примере, насколько это круто.

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

— Главное — не опускать руки. Естественно, будут сложности, но как же без них? Это интересный и перспективный путь, и именно он помог мне найти занятие по душе. Сколько бы сил и нервов ни было потрачено, все обернется новыми открытиями, знаниями и умениями, а возможно, и многообещающей карьерой. Короче говоря, будет сложно, но весело.

Когда планируешь вернуться к обучению в GeekUniversity?

— Собираюсь где-то в начале марта. Очень надеюсь, что к этому времени успею разобраться со всеми делами: окончить вуз и защитить диплом.

Спасибо тебе за историю. Успеха в любимой работе и, конечно, в дальнейшем обучении!

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

8 фев 19, 19:43
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Из юристов в программисты

Игорь Разумов, выпускник факультета Android-разработки, рассказал GeekBrains, как начать карьеру в IT, имея юридическое образование, о чем важно помнить перед собеседованием и чем полезна студентам помощь наставников.

Факультет: Android-разработка

Город: Калининград

Возраст: 33 года

Профильное образование: юридическое

«Занятие, к которому душа лежит»

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

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

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

Результаты поиска в Google по запросу «сменить профессию на IT после тридцати»

«Если не получится — значит, не мое»

Сначала прошел курсы профессиональной переподготовки в Калининградской области, отходил 500 часов, но получил только базовые знания. Посещал курсы сисадминов, что тоже не привело к особым успехам. Тогда только начался набор в GeekUniversity, и я решил попробовать с мыслью: если и в этот раз не получится — значит, не мое.

Отзывы о GeekBrains увидел достаточно противоречивые, и знакомые даже отговаривали от этого шага, но для меня важно было поставить точку в образовании — или я иду к этой профессии, или всё. Для меня решающим плюсом в GeekUniversity было трудоустройство — сложно найти первую работу без профильного образования, когда тебе далеко за двадцать. Так я попал в самый первый набор в апреле 2017 года.

Попутно мне повезло. Google раз в год проводит бесплатный годовой курс на Udacity. Я попал в образовательную программу и параллельно учился в GeekUniversity.

Для участия в программе отбирают 30 тысяч человек, но по итогам конкурса только тысяче оплачивают обучение

«GeekBrains помог не упасть в пропасть отчаяния»

Решил поступить на факультет Android-разработки. Если учитывать современные реалии, с каждым годом сервисы активнее используются с мобильных устройств, и бОльшая часть гаджетов работает на Android. У меня даже машина уже на Android. Устройств на iOS много, но со стороны разработчика они труднодоступны — закрытые коды, дорогой порог доступа. Чтобы программировать под Android, достаточно ноутбука, который тянет Android studio — не обязательно современный, даже старенький справится. Под iOS же устройство должно быть обязательно из экосистемы Apple, и в целом сообщество iOS-разработчиков более закрытое. В Android-сообществе больше свободы, оно более живое — любой может взять код и модернизировать.

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

Читал психологические исследования о том, как становятся программистами: многие ломаются на стадии первых неудач. Это называется «пропасть отчаяния»: считаешь себя крутым разработчиком, все идет как по маслу, а потом сталкиваешься со сложной задачей и неделями не можешь найти решение. Не упасть в пропасть отчаяния помог GeekBrains — были наставники и преподаватели, которые отвечали на вопросы.

Друзей-айтишников у меня не было, посоветоваться по учебным вопросам не с кем. Писал на Stack Overflow, но ответы не давали исчерпывающую информацию

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

Помогла возможность попросить совета у наставников. Когда я учился, система наставничества уже была, но с медленным  фидбеком, сейчас это изменилось. Возможность обратиться за помощью к наставникам важно освещать — многие студенты даже не знают об этом.

Платные курсы от бесплатных, на мой взгляд, главным образом отличаются наличием ментора. В GeekBrains наставник — аналог ментора, и его помощь ценна: если что-то не получается, спроси у наставника, он поможет в задаче и сэкономит время, которое ты потратил бы на самостоятельные поиски. Без ментора ответ на сложный вопрос будешь искать долго. У меня бывали тупиковые ситуации, и здесь велик риск попасть в свою пропасть отчаяния и забить.

Почитать на тему

Наставничество GeekBrains. Рассказываем, кто такой наставник, как им стать и чем это полезно

«Важные факторы: профильное образование, дополнительные курсы, опыт в разработке и возраст»

После курсов я несколько месяцев работал удаленно в компании, куда меня авансом взяли на позицию middle-разработчика. Авансом, потому что не было опыта реальной работы. Устроиться помог однокурсник по GeekUniversity: он уже работал в компании и предложил мне вакансию. На вторую работу — в Amigoweb, где тружусь до сих пор — тоже взяли на позицию middle android developer, и работа соответствует этим рамкам, если исходить из того, что пишут на «Хабре» об обязанностях миддла.

Первую работу нашел сам, без помощи GeekBrains, еще до окончания курсов. Раскидал штук двести резюме по вакансиям — некоторые компании отклоняли заявку, кто-то просил сделать тестовое задание, где-то я сам отказывался. Столкнулся с тем, что дают тестовые задания, которые занимают много времени — на одно я потратил неделю, — а когда отсылаешь, в ответ получаешь молчание. Однажды я набрался наглости и спросил: «Хотя бы скажите, что в задании не так, проявите уважение к моему времени и усилиям». Мне ответили что-то невнятное, мол, да-да, извините, мы скажем, просто затерялась ваша работа. До сих пор молчат.

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

Считаю, что даже если тестовая работа плохая, компания обязана дать обратную связь. Я встречал работодателей, которые отказывали, но обоснованно: «Нам не нравится качество вашего кода, но если попрактикуетесь и придете через пару месяцев, рассмотрим вас еще раз». Рекомендую студентам больше отрабатывать навыки: просто писать код и меньше задумываться о неудачах. Важна насмотренность — не скажу, что с ходу могу ответить на теоретические вопросы, но если сталкивался с чем-то похожим в работе, это на автомате запомнилось.

Думаю, что шанс устроиться на работу у разработчика из региона и из Москвы одинаковый, и его определяет уровень знаний. В моей практике 95 % заявок, которые я рассылал еще во время учебы, оставались без отклика. Работодатель обращает внимание на четыре фактора: профильное образование, дополнительные курсы, опыт в разработке и возраст.

Профильное образование интересует HR-ов, но все-таки это не основной показатель. Если соискатель в курсе технологий, обладает хорошими знаниями и уверенно это продемонстрирует, то большинство работодателей рассмотрят его и без профильного образования, найдут компромисс или помогут обучиться. Хотя рынок разработчиков переполнен, профессионалов среди них мало. Учитывая изменяющиеся требования, наличие корочки из вуза не столь важно. Важно, наверное, только если претендуешь на место в компании вроде Google. Мои сокурсники устроились разработчиками в банк и без профильного образования.

А вот на кандидатов старше 30 многие работодатели смотрят скептически. На мой взгляд, это неправильный подход — хороший работодатель в первую очередь посмотрит на знания, потенциальную пользу для проекта. Я часто вижу резюме двадцатилетних, работы и знания которых хуже моих, но их возьмут, а меня нет.

«Практика и еще раз практика»

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

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

 

В тему о страхе собеседований и о том, что никто не знает ответы на все вопросы, — популярная

в Twitter, которую начал создатель Ruby on Rails, Дэвид Хейнемейер Ханссон

Тем, кто приходит в IT из других профессий, главный совет от меня — практика и еще раз практика. Без нее теоретические знания бесполезны, и чем больше кодите, тем быстрее получаете результат.  

Есть хорошие каналы в Telegram, где можно почитать о разработке и задать вопросы. Тематические подкасты тоже помогают заполнить пробелы в знаниях. Я слушаю Podlodka podcast и подкасты на сайте для разработчиков apptractor.ru. Начинающим могут быть полезны ролики на ютуб-канале Start Android, но у образовательных роликов о разработке есть проблема — они быстро теряют актуальность, и то, что записано год назад, может уже не пригодиться. Сам сейчас не смотрю ничего определенного, действую по ситуации — гуглю информацию и изучаю несколько источников, чтобы охватить проблему с разных сторон.

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

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

29 янв 19, 17:07
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

У меня не было 5 месяцев, пришлось выучиться за 3

Когда тебе 32, первый вопрос, который задают на собеседовании – почему решили сменить вид деятельности. В 25 такого не услышишь. Все время после института я провел в секторе B2B-торговли – целых 12 лет. Интересная работа, много общения и высокая зарплата. Но в какой-то момент понял, что больше этим заниматься не хочу. Я ушел с работы и стал думать про дальнейший жизненный путь. И вдруг захотелось вернуться назад, в то время, когда я сам тянул локальную сеть через весь дом или программировал на Паскаль.

4 года учился самостоятельно

Я понимал, что время, чтобы стать высококвалифицированным программистом, упущено. Но несколько лет назад я столкнулся с тестированием. Информации о тестировщиках мало. О них редко пишут, а на YouTube ролики в основном от Портнова. Тем не менее, я заинтересовался направлением и стал самостоятельно его изучать с 2014 года. Тогда я думал, что на тестировщика учат только за рубежом.

Большого прогресса от самообучения не было. Не хватало системного подхода и обратной связи. Прослушал лекции, а заданий нет. Если есть, некому проверить. Поэтому не знаешь, правильно делаешь или нет. Я учился сам почти четыре года, но, только поступив на курсы, понял, где были ошибки. С GeekBrains определился случайно. Увидел рекламу и понял: вот оно. Будут знания, практика и строчка в резюме.

Я не могу учиться так долго

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

На портале есть ограничение. Уровни и стажировку проходят друг за другом. Записаться сразу на два уровня и стажировку нельзя. Но как только я записался на второй уровень, активировалась запись на стажировку, которой я сразу воспользовался. Курс «Введение в автоматизацию» можно пройти вместе с любым уровнем, поэтому добавил и его. В итоге я одновременно проходил второй уровень, автоматизацию и стажировался. Конечно, нагрузка большая. Если вы работаете, не советую идти моим путем, но совместить уровень и курс по автоматизации можно. Это не так сложно. В итоге я поступил в январе, а в марте выпустился.

Выбирайте место для старта

Придирчиво выбирайте место для старта. От этого зависит ваша карьера в будущем. Возможно, в 25 это не так принципиально, как в 35. Но зачем терять время на проходную работу, когда можно сразу найти достойное место?

В Москве вакансий для тестировщика много. Чтобы развиваться как профессионал, ищите интересные и сложные проекты. Иногда предлагают много механической работы: понажимал на кнопки и отправил результат начальству. Ни кейсов, ни отчётов, ни анализа не предполагается. Но с такими должностными обязанностями и через три года будешь на том же уровне развития.

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

Три правила поиска работы

Первое правило – искать вакансии в правильных местах. Я нашел работу в телеграм-канале для тестировщиков. В начале учебы прочитал статью о поиске работы в Телеграм, подписался и стал отслеживать вакансии. На мой взгляд, это сыграло свою роль. Отправляя резюме, я указал, что увидел предложение в Телеграме.

Второе правило – отправьте сопроводительное письмо. Я подробно написал, почему именно я подхожу на должность и почему хочу работать в этой компании. Работодатели получают десятки резюме, и только единицы присылают сопроводительные письма. Это шанс выделиться среди кандидатов.

Третье правило – подготовьтесь заранее. Я знал свои слабые места. Для работы с высоким окладом мне было недостаточно знаний по SQL и Selenium. Я искал в Интернете дополнительные материалы, и на собеседовании мне это пригодилось.

Воспринимайте тестовые задания как шанс попрактиковаться

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

Иногда складывается впечатление, что некоторые работодатели хотят получить бесплатную работу, прикрываясь наймом специалиста. Выполнять задание или нет – решать, конечно, соискателю. Человек с большим опытом может просто игнорировать их. Но у меня опыта мало, поэтому я рассматривал тестовые задания как шанс лишний раз попрактиковаться.

Собеседование проходит в два или в три этапа. Звонок – тестовое задание – интервью.

Если задание выполнено хорошо, приглашают на собеседование. Дают задачки на логику, просят что-нибудь протестировать прямо на интервью. На встрече я был два раза. В первый не прошел, во второй – все получилось. Передо мной на собеседовании был тестировщик с 7-летним опытом ручного тестирования, но взяли все-таки меня, потому что после обучения я располагал знаниями и навыками автоматического тестирования.

Если решились, идите до конца

Перед последним собеседованием у меня опускались руки. Хотел плюнуть и искать работу по старой специализации. Но желание поменять профессию заставляло меня двигаться дальше. Всем ребятам хочу посоветовать добиваться цели, раз уж решились. Работа должна приносить удовольствие, тогда жизнь будет в радость.

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

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

28 мар 18, 12:49
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0
Показаны все темы: 6

Последние комментарии

нет комментариев
Читать

Поиск по блогу

Люди

7 пользователям нравится сайт lena2018.mirtesen.ru