Константин уже второй раз становится героем историй успеха наших студентов. На момент поступления в GeekBrains он окончил университет и аспирантуру по специальности «Системное программирование». В прошлой статье мы обсуждали технические аспекты разработки, а сейчас расспросим Константина о том, как начинался его путь в программировании, а также об опыте переезда в Германию и трудоустройства за рубежом.
Всё началось… с интернета
Я был первым человеком в классе (если не во всей школе!), у которого появился компьютер. Да не просто, а с диалап-интернетом, что было огромной редкостью и роскошью для середины девяностых. Конечно, ни о каком программировании в том возрасте не шло речи. Мне просто нравилось «сидеть в компьютере».
Позже в лицее мы изучали Basic и Pascal — тогда я понял, что хочу связать с этим жизнь. В старших классах резко переключился с физики и математики на программирование. О коммерческой стороне вопроса я тогда не думал — делал то, что меня увлекало, и в итоге это стало удачным выбором.
Ещё я в школе немного освоил HTML. Однажды нас посадили на карантин недели на три, а я нашёл диск для самообучения и начал заниматься. Первый сайт, который я тогда сделал, взломали через пару месяцев, потому что неопытный я выбрал слабый пароль.
Университет, ошибки и горький опыт
После школы поступил в Национальный авиационный университет в Киеве по специальности «Системное программирование». Мы проходили C++, Assembler и выучили только основы веб-разработки. Я решил самостоятельно развиваться в этом направлении и освоить PHP. Сперва делал для друзей за символическую плату сайты на WordPress. Также на этом движке я запустил «Блог путешественника», в котором написал пару статей про свои первые поездки — он до сих пор живой 🙂
После университета я пошёл в аспирантуру. Возможно, это не лучшее решение для IT-специалиста. Первое время я долго самостоятельно создавал систему тестирования студентов, которая использовалась для дистанционки. Тогда, без команды, мне не у кого было набраться опыта. Обучался только по материалам в интернете. Это было в корне неверно.
Техподдержка и становление разработчика
Через какое-то время устроился в техподдержку Яндекса. Это было IT-направление, но всё же не программирование. Занимался почтой для домена. Развиваться в команде Яндекса как PHP-разработчик я не мог, потому что этот язык в компании практически не используют — пишут в основном на Java и Python, а я тогда не знал ни того ни другого. Кстати, сейчас ситуация немного поменялась: в компании появились проекты на PHP.
После техподдержки устроился уже PHP-разработчиком в Netvertise — израильскую компанию, которая открыла офис в Киеве для оптимизации расходов и расширения IT-проектов. Там-то я и понял, что у меня катастрофически не хватает опыта и огромные пробелы в знаниях по веб-разработке. Я не знал таких элементарных вещей, как Git, и опыт работы в команде был нулевой. Огромное личное спасибо руководителю компании — Guy Philosoph — за то, что он поверил в меня и дал мне шанс выкарабкаться и набраться опыта. Без его поддержки я бы потерял ещё немало времени.
Обучение в GeekBrains vs самообразование
Я много обучался самостоятельно, но понял, что это совершенно неэффективно, если хочешь что-то освоить с нуля. Можно подтянуть конкретную тему. Но когда нужна база — это совершенно бесполезно, так как нет системности. Я не ставлю крест на самообучении как таковом, но брать его за основу — однозначно не лучшая идея.
Сегодня Python набирает обороты, этот язык используют крупнейшие игроки IT-рынка, так что я выбрал Python-разработку в GeekBrains. Поскольку у меня уже был опыт в программировании, курсы стали для меня фактически повышением квалификации. Честно скажу, что совмещать PHP и Python-разработку практически нереально, эти языки мало пересекаются.
Тем не менее программистский бэкграунд в PHP помог освоить мне новый язык. Теперь любопытно наблюдать, как замечательные идеи, которые реализовались в Python, постепенно мигрируют в новые версии PHP.
Кроме GeekBrains, я рассматривал и иностранные ресурсы, но понял, что мне будет комфортнее учиться на русском. Я хорошо владею английским, но мне его хватает на работе — там не поговорить на родном, а иностранный всё же давит. Кроме того, в других курсах мне не хватило системности в программе: всё было как-то урывками и вразнобой, а на GeekBrains смотрелось гармонично. А ещё на других платформах, как правило, нет заданий и уж тем более проверки. А это очень важно — чтобы указывали на ошибки и комментировали.
Конечно, на GeekBrains уровень обучения во многом задают преподаватели. Были такие, которые записывали на видео, как они смотрят код, и комментировали, что надо сделать иначе. На других ресурсах такое вряд ли получишь. Можно сказать, что тут преподаватель выступает в роли наставника. После курсов я и сам стал помогать студентам GeekBrains.
Что узнаёт профессионал на курсах
Несмотря на программистский бэкграунд, в GeekBrains я узнал много нового. Например, у меня на курсе был предмет «Компьютерные сети». Если честно, приступал к нему скептически: думал, что буду просто повторять то, что и так знаю. Но оказалось, что очень многое я или неправильно понял, или даже не знал. Отмечу преподавателя Сергея Кручинина: он всегда пытался разъяснить материал так, чтобы каждый человек, который слушает, въехал в тему.
Как учиться из другой страны
С Германией есть разница во времени, поэтому возникали сложности. Если для Москвы старт занятий в 20:00 — очень комфортное время, потому что к этому моменту большинство уже дома, то в Берлине в зимнее время было на два часа меньше, то есть 18:00. Я только-только заканчивал рабочий день или был на пути домой. Иногда приходилось с утра приступать к задачам пораньше, чтобы точно всё успеть. Параллельно я ещё учил немецкий язык, и когда переносились занятия там, приходилось смотреть вебинары в записи. Уже нельзя было задать вопросы преподавателю онлайн, но если что-то было непонятно, то можно было написать наставнику.
Относитесь к наставникам по-человечески!
Наставники — это бывшие студенты GeekBrains, которые помогают преподавателям. Они волонтёры. Хочется, чтобы к ним относились по-человечески, а не требовали мгновенного ответа на вопрос. Я был наставником, и по своему опыту могу сказать, что не всегда есть возможность ответить сиюсекундно — оторваться от работы бывает проблематично. А ещё наставники не видят лекции. Поэтому не всегда понятно, о чём спрашивает конкретный студент, что именно было ему непонятно в объяснении преподавателя, почему он застопорился именно на этом месте.
Тем не менее наставничество — это интересный и полезный опыт. Советую тем, кто окончит курсы GeekBrains, попробовать себя в этой роли. Помогает ещё раз проштудировать материал и заполнить пробелы в знаниях. И учит правильно высказывать свои мысли.
О жизни в Германии
Многие хотят переехать за границу, мечтают о кисельных берегах. Я не был исключением. Представлял, что за рубежом всё исключительно хорошее, «не то что здесь». Это, конечно, не так. Но в один момент у меня в жизни случилась череда очень неприятных событий, которые дали мне пинок для переезда.
В Германии жизнь сильно отличается от привычной нам на родине. Речь не только о языке, но и о культуре, менталитете, темпе происходящего вокруг. Ко многому приходится адаптироваться, иногда это болезненный процесс. Слышал о людях, которые даже за 20–30 лет не могут интегрироваться в немецкое общество. Мне многие вещи оказались близки, но осваиваться всё равно было трудно.
Вообще тема жизни в Германии заслуживает отдельной статьи — если вам это интересно, напишите в комментариях, и я расскажу больше в следующий раз.
Как найти работу за границей
Как обычно бывает, я себя недооценивал. Думал: «Где я — и где Германия?» Рассматривал другие варианты — уехать в Польшу или Прибалтику. По совету друга я сам начал рассылать резюме в интересные компании — и могу сказать, что это не работает! Мне не отвечали или присылали отказы. Всем, кто хочет найти работу в иностранной компании, я рекомендую завести профиль на LinkedIn, как следует его заполнить и получить отзывы от коллег, с которыми вы работали вместе. Нужно обязательно расписать, какие у вас навыки и рабочий стек технологий, а не только перечислить компании, в которых работали.
Однажды мне написала отзыв моя одногруппница, которая на тот момент работала в Skype. Не знаю, сыграло ли это какую-то роль в итоге. Но, думаю, когда смотрят в профиль, то общая картина складывается из деталей. На LinkedIn меня схантила рекрутер, так я и нашёл работу.
Потом было пять собеседований. Это ещё одна отличительная черта приёма на работу в Европе: очень много разноплановых интервью. Какими они будут, зависит от компании. Иногда это техническое интервью, а бывает теория и практические задания. Не знаю, как в других странах, но в Германии рекрутинговый процесс ужасно долгий: общение с одной компанией может растянуться на полгода. Не стоит нервничать по этому поводу, таковы местные особенности. Но не стесняйтесь о себе напоминать, просто делайте это умеренно.
Если хотите переехать, то эффективнее всего работать с рекрутерами — они умеют грамотно презентовать человека. Кроме того, это удобно: у них есть множество подходящих позиций, и не нужно самому отправлять резюме в кучу компаний. Из минусов — они откусят часть вашей потенциальной зарплаты. Нет, сами вы, конечно, ничего им платить не будете — а вот компании, которая будет вас нанимать, услуги рекрутера обойдутся в копеечку. Если общаться с работодателем напрямую, можно выторговать зарплату чуть повыше. Но на этапе релокейта выбирать, как правило, не приходится. Пользуйтесь услугами рекрутеров! Тем более что они могут дать советы по переезду — а их не всегда получишь от нанимающей компании.
Когда устраиваешься в иностранную компанию, важно помнить одну вещь: на рынке там хватает местных специалистов и фрилансеров! Поэтому в момент переезда не стоит надеяться, что получишь такую же зарплату, как те, кто уже обосновался в Германии. Обычно немцы ищут себе разработчиков из-за границы, чтобы сэкономить.
Без знания немецкого зарплата будет на порядок ниже, поэтому учить язык выгодно. А ещё несмотря на то, что в Германии знают английский, в госучреждениях его не очень любят и там всё на немецком. Поэтому элементарные действия могут стать испытанием: например, записаться на приём к врачу или оформить документы для переезда и регистрации. Германия — одна из самых бюрократизированных стран Европы.
Сложно кратко описать все нюансы поиска работы в Германии — если есть вопросы, не стесняйтесь задавать их в комментариях.
К чему нужно быть готовыми, когда переезжаете в другую страну
Прозвучит странно, но к разочарованию и краху иллюзий. Порой бывает очень непросто принять, что многое из того, что вы себе представляли о стране — не более чем стереотипы. Второе — важно понимать, что большинство проблем переезжает вместе с вами, потому что они в вас. Нужно провести серьёзную работу над собой. И третье: любой поход в госучреждение даёт понять, насколько же на родине всё было проще.
Нужно быть готовыми к тому, что на первых порах придётся многим пожертвовать. Переезд — это обнуление. Зато потом ждут открытия. Например, для меня это было понимание, что европейцы живут совсем иначе. И не потому, что им повезло и они родились в другом месте. Они в целом всё воспринимают по-другому. Они жизнерадостные, дисциплинированные, умеют себя презентовать. Часто бывает, что «наши люди» обладают более высокой квалификацией, но не умеют себя продавать, не могут чётко поставить цель и мечутся между мечтами.
Первые несколько месяцев охватывает эйфория от переезда, а потом накатывает депрессия от шквала проблем. Об этом много статей, где подробно расписаны этапы кризиса. Но если вы переживёте его, дальше всё будет замечательно. Переезд за границу даёт много новых скилов, с которыми можно свернуть горы. Даже если в итоге вы решите вернуться на родину, вы приедете совсем другим человеком и точно будете знать, что на самом деле вам нужно. Но так будет только в том случае, если вы справитесь с проблемами и вернётесь осознанно, а не сбежите от них.
Советы новичкам на старте курсов
Основная рекомендация — не забрасывать. Если пройти курс, а потом не применять полученные знания, они быстро забываются, и найти работу будет сложнее. Я советую постоянно практиковаться. Есть множество ресурсов, где это можно делать в игровой форме, например CodeWars и CodeSignal. Здесь можно потренировать алгоритмы, программирование, выбрать разные языки. А ещё на некоторых сайтах можно делать задания, после которых есть шанс попасть на собеседование в известные компании. Очень рекомендую.
Никогда не сдавайтесь и не останавливайтесь! Вы можете намного больше, чем думаете. Не пытайтесь получить всё сразу — делайте шаг за шагом. Удачи вам! Может, через пару лет мы с вами встретимся и обсудим уже вашу историю успеха где-нибудь в коридорах Mail.ru Group, где вы будете работать 🙂
Константин — это не только выпускник, но и амбассадор GeekBrains, наш единомышленник 🙂 В будущем он продолжит делиться ценным опытом с аудиторией, помогать новичкам. Если вы окончили курсы GeekBrains и тоже хотите стать нашим амбассадором — обратитесь к куратору своей учебной программы. Ждём вас!
Хотите узнать больше о веб-разработчиках — студентах GeekBrains? Вот их истории:
- «Продавать телефоны — это не моё». Владислав Ершов — о приятной разнице между работой в продажах и программированием.
- «Из экономики в веб-разработку через… Excel». Борис Лещенко — о недостатках карьеры в финансах и о том, как борьба с рутиной приводит в IT.
- «Стал уверенно искать работу где-то через полгода». Из программиста-технолога на заводе — в веб-разработчики.
- Поиск себя и быстрое погружение в веб-разработку. История Ильи Курбакова, который в 25 лет решил кардинально поменять направление карьеры.