Украинские разработчики востребованы во всем мире. Это подтверждается множеством интересных историй, которыми время от времени они делятся с читателями AIN.UA. Выходец из города Лисичанск Луганской области, киевский программист Андрей Светлов никогда не метил в Google, а из США вернулся, как только закончился контракт. Он всю жизнь проработал на фрилансе или в небольших софтверных компаниях на 10-15 сотрудников, при этом его регулярно хантят крупные IT-компании – как украинские, так и зарубежные. Такой спрос на талант Андрея объясняется просто – в свободное от работы время он пишет Python. Не на Python, а именно сам Python – украинец входит в число избранных, которые формируют команду разработки популярного языка.

О страсти к программированию

Программированием я заинтересовался еще в школе – с изучения “Бейсика”, который был слишком простым и медленным. Поэтому взялся за “Ассемблер”. Учил его по тем немногочисленным книгам, которые мог найти. Это были даже не учебники, а справочники, мало пригодные для обучения. Сам черт не разберет, что авторы имели в виду, а объяснить и подсказать было некому. Процесс изучения был мучительный, но я его прошел до конца. Потому что очень хотел.

Заканчивал Донецкий Институт проблем искусственного интеллекта – тогда он так назывался, а потом его объединили с политехом. Решил, что к навыкам программирования неплохо бы еще добавить экспертизу по обработке данных.

Сегодня помимо Python я немного пишу на С (преимущественно это модули-ускорители для Python). Мне нравится этот язык, с Python я познакомился 15 лет назад. Долгое время я писал на разных языках, но постепенно все больше и больше склонялся к Python. И вот уже лет 10 как это мой основной язык программирования.

О языке Python и его “богах”

Python в 1991 году создал Гвидо ван Россум – голландец, который давно работает в США. Довольно быстро у него появились единомышленники, которые начали ему помогать. Сегодня разработка библиотек Python осуществляется командой core-разработчиков из 185 человек. Они имеют право принимать решения о любых изменениях в языке Python.

Это довольно распространенная практика для некоммерческих языков. Но у всех разработка происходит по-разному. У C++ и Java, например, этим занимаются целые комитеты. У C# – как Microsoft захочет, так и будет, потому что это частные языки. Развитие Ruby происходит примерно так же, как и у Python.

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

Я вхожу в состав core-команды Python уже примерно три года. До этого я участвовал в разработке Python как сторонний девелопер – сообщал о каких-то багах, что-то чинил, дожидался отзыва от core-разработчиков. Так продолжалось несколько лет, в итоге меня заметили и рекомендовали в команду. Никаких сертификатов в подтверждение статуса core-разработчика нет – мое имя просто внесли с список на сайте Python и верифицировали аккаунт, чтобы я мог вносить изменения в язык. Это достаточно незабюрократизированная процедура.

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

Что дает статус core-разработчика

Никакой мотивации, кроме повышения чувства собственного достоинства, этот статус не дает. Инициатива некоммерческая, денег за это не платят. С другой стороны, когда я стал core-девелопером, мне стало проще получить работу – этот статус автоматически подтверждает уровень моей квалификации. Проще говоря, это признание.

Участие в команде core-разработчиков добровольное, а статус пожизненный. По крайней мере, пока не было ни одного случая, чтобы его отбирали. Бывало, люди отказывались, потому что не могли уделять достаточно много времени Python. Хотя тут тоже нет четких рамок – каждый вовлечен настолько, насколько может. Я стараюсь каждый день хотя бы немножко времени уделять Python.

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

О работе в Украине и США

Последним местом работы была компания LevelUP, которую на прошлой неделе закрыли. Сейчас я снова вернулся к работе на фрилансе – остались некоторые коммерческие проекты, за которые мне платят. Периодически в моей жизни случаются такие “вольные” периоды. Так сложилось, что в крупных компаниях я никогда не работал. Самым “большим” в моем резюме, пожалуй, стал SoftLine. А в основном это были небольшие софтверные компании на пару десятков сотрудников.

Около трех лет я проработал в США. Поначалу ездил туда в командировки, а потом меня пригласили перебраться в Америку, чтобы работать в компании HedgeServ, которая разрабатывает софт для торговли ценными бумагами. Вернулся в Украину, как только закончился контракт. Остаться мог – недостатка предложений о работе в США не было, и они до сих пор актуальны – статус core-девелопера Python обеспечивает поток офферов без географических барьеров. Но сегодня уже неактуален принцип “вот сейчас поеду в США, заработаю кучу денег, вернусь в Украину и заживу” – разница в зарплатах и ценах уже не столь драматична.

А вообще я просто не хочу становиться американцем. Согласен, то что происходит в Украине – не очень приятно, но я пока не думал о том, чтобы свалить. Патриотом меня сложно назвать, но Украина для меня определенно значит больше, чем Америка. Здесь родственники, друзья. И вообще, люди, которых я лучше понимаю на ментальном уровне. Это сложно объяснить, но в другой стране люди по-другому думают. Привыкнуть можно, но мне было некомфортно.