Степан Козурак родом из небольшого города в западной части Украины. Он поступил в университет в Варшаве и переехал в Польшу. Сейчас Степан заканчивает последний курс, совмещает учебу с работой, а в свободное время помогает папе-инженеру учить Python. Степан рассказал, как выучил польский с нуля, как смог найти работу во время локдауна в международной компании, и чем занимается сейчас.
Как я пришел в IT
Я из небольшого города на западе Украины, его население всего 16 тыс. человек. После девятого класса я переехал в другой город, учился в лицее, на физмате. В десятом классе я увлекся информатикой — изучал HTML, CSS, сделал простой сайт для нашего класса.
В 2017 году я поступил на Computer science в Университет социальных наук в Варшаве. Поступить было достаточно просто, это может сделать каждый иностранец без экзаменов. Нужно только, чтобы средний балл аттестата был более-менее хорошим. Все пары у нас проходят на польском языке, но поляков в группе всего двое, несколько белорусов, а остальные — украинцы. Всего на курсе учится около 25 человек. До начала учебы у нас были курсы, мы учили польский, чтобы знать его хотя бы на начальном уровне.
Первые несколько недель было сложновато. Мы везде ходили с переводчиком, и с горем пополам нас понимали. К большому городу я привык довольно быстро — мне гораздо больше нравится суета, чем спокойствие.
С людьми, которые живут тут, приятнее общаться. Может, мне так кажется, но в моем родном городе очень мало людей, с которыми можно просто сесть и поговорить. Большинство из поляков добрые и хорошо относятся ко мне как к иностранцу. Но были и негативные моменты. Например, раньше, когда я подрабатывал в «Ашане» на кассе, было и много неприятных инцидентов и комментариев в духе: «Понаехали тут».
После поступления в университет я начал брать первые заказы на фрилансе — делал простые лендинги. Наш университет дает стипендию — около 600 злотых (это где-то $200), но я смог получить ее только в начале четвертого курса.
На первом курсе я был немного в шоке: начался Ассемблер, Java, а я ничего из этого не знал. Ко второму курсу я прокачался в HTML и СSS, основы JavaScript.
На третьем курсе начал изучать Python и тогда же поступил на курс Fullstack-разработчик на Python в SkillFactory — не хватало более глубоких знаний.
Совмещать учебу, курсы и фриланс было нормально, я не чувствовал какой-то сильной нагрузки. У нас было 2-3 пары в день, так что можно было и учиться, и подрабатывать.
Первое время на курсе было просто, а потом дело дошло до Python и Flask (фреймворк для создания веб-приложений на Python) и все стало сложнее и интереснее.
У меня, кстати, пока не сдан проект по курсу. Это простенький проект: HR-менеджер генерирует вопросы, соискатели отвечают на них, а HR обрабатывает ответы. Но я заморочился, хотел все сделать круто и классно. В результате, интерфейс почти готов, а вот с серверной частью еще много работы. Надеюсь, все-таки соберусь и доделаю.
Как я нашел работу
Помимо учебы я подрабатывал в стартапе BillTech в качестве джуниор-разработчика, кодил клиентскую часть (пользовательский интерфейс) на TypeScript (это язык программирования для веб-приложений, обладающий более широкими возможностями, нежели чем JavaScript. С его помощью можно повысить скорость разработки, облегчить читаемость кода и более оперативно выявлять ошибки).
Потом наступил карантин и меня уволили. Я ушел, было эмоционально сложно: карантин, работы нет и как ее искать и зарабатывать непонятно.
Я каждый день подавал резюме в 5-10 фирм, надеясь, что мне повезет. В итоге нынешнюю работу в компании SAS я нашел случайно, на польском аналоге HeadHunter.
Это международная компания, которая занимается базами данных. У нее есть представительство в Польше, а центральный офис находится в Калифорнии.
В описании вакансии требовалась математика, языки, SQL. Я прошел собеседование, и мне дали тестовое задание, чтобы проверить мои скилы. Мне нужно было проанализировать входной файл с данными по транзакциям в компании и создать другой файл, в котором будут подсчитаны данные по группам продуктов, форме оплаты, датам, месяцам, и годам. Затем — создать модель линейной регрессии (модель, которая используется в статистике, чтобы показать зависимость между двумя переменными) и спрогнозировать цену продажи. На это задание дали 3 дня, я справился и меня пригласили на следующее собеседование.
После этого у нас были курсы от компании. На них рассказывали про особенности софта компании и языка программирования, да еще и платили за это. Потом был экзамен по всему, что мы выучили. В результате до последнего этапа из двухсот человек дошло 10, и только семь из них, включая меня, взяли на работу. Всего с момента увольнения до выхода на новую работу прошло примерно 5 месяцев.
Как выглядит мой рабочий день
Я начал работать в компании в качестве младшего технического консультанта.
Задача всех консультантов — общаться с клиентом, исправлять ошибки. Еще я занимаюсь разработкой нашего софта, процессами миграции CI/CD (Continuous Integration/Continuous Delivery — непрерывная интеграция/ непрерывное развертывание программы. Это технология, которая ускоряет процесс сборки, тестирования и доставления приложения до заказчика или конечного пользователя), тестами безопасности и производительности.
Есть еще аналитики, которые занимаются аналитикой данных, а потом направляют их к нам. Мы делаем графики и схемы с помощью нашего софта Visual Analytics.
Одна из моих последних задач — построение скрипта на Python, который будет посылать запросы на наши сервера и получать данные о таблицах с базами данных: загружены ли они в базу данных, есть ли на них ограничения, связанные с безопасностью, и т. д.
У нас есть свой язык SAS 4GL. Это не язык объектно-ориентированного программирования, у него нет возможности создания функций. Вместо них мы используем готовые макрофункции. Еще он позволяет обращаться к метаданным (дополнительная информация о данных). Не могу сказать, на какой язык он похож, потому что просто не видел ничего подобного. В целом, если вы знаете основы баз данных, SQL, то легко будет научится и SAS 4GL.
Этот язык может не только управлять таблицами и базами данных, но и создавать макросы и немного управлять системой. Это достаточно быстрый язык. Например, база данных с 50 млн записей с его помощью обрабатывается около 5 секунд. На Python эта же база будет обрабатываться час.
Работать я обычно начинаю в 8-9 утра. Сначала мы созваниваемся с коллегами, каждый рассказывает, что делал вчера и что будет делать сегодня. Все общение на польском. Очень много времени уходит на разговоры — мы много общаемся с клиентами и с коллегами. Например, сегодня у нас была встреча, обсуждали ошибку в базе данных, и собралось 30 человек, чтобы обсудить и решить проблему.
В компании люди часто работают по 20-25 лет. Можно развиваться — компания предоставляет бесплатные курсы по нашему софту или от Google и Microsoft. Каждый сотрудник должен взять 3-4 курса в год и пройти их.
Я работаю удаленно, если есть проблема, всегда можно позвонить коллеге и задать вопрос. У меня, как у студента, свой договор — я могу, например, работать три дня в неделю, а иногда наоборот — перерабатывать. Платят у нас за рабочий час. В среднем, если работать каждый день по 8 часов, можно получать больше тысячи евро в месяц.
Что я делаю сейчас
В Польше опять ужесточили коронавирусные ограничения, фактически, можно только сходить в магазин. В городе строгий масочный режим. Грустно, что нет никаких развлечений, работа тоже удаленная — в офисе с коллегами не пообщаешься.
Раньше я где-то раз в полгода ездил домой, на Украину. Из Польши на Украину можно попасть без проблем, а вот вернуться сложнее — нужно проходить двухнедельный карантин.
Сейчас я заканчиваю последний курс бакалавриата и пишу дипломную работу, посвященную созданию голосового ассистента. Это будет такой мини-Alexa или Siri.
Писать по-польски тяжело, мне даже преподаватель говорит, что мой текст не на польском, а на каком-то другом языке, плюс грамматические ошибки случаются. Я хорошо понимаю язык, но когда дело доходит до технической лексики, то сложно написать так, чтобы тебя правильно поняли.
После окончания бакалавриата я хочу поступить в магистратуру на Data Science. Попытаюсь остаться в этой же компании, вырасти до мидла или синьора. А в целом хотелось бы открыть что-то свое.
Следом за мной моя семья тоже заинтересовалась программированием. Мой папа — инженер, он делает проекты зданий, а в 45 лет начал учить Python. Недавно мы с ним созванивались, учили функции. Младший брат тоже решил пойти в IT, ему 14, а он уже учит HTML и CSS. Поэтому начать кодить можно в любом возрасте.
Совет
Я считаю, что всегда надо идти к своей цели, не надо бояться новых челленджей и вызовов. Если код не работает, то возьмите паузу, отвлекитесь на полчаса-час, отдохните и все получится! Ну и, конечно же, важно каждый день получать новые знания, без них никуда.