19 лет на одном языке. История о том, как олимпиадник из Беларуси стал C++ Chief Software Architect

в 10:59, , рубрики: c++, CrossOver, hiring tournament, алгоритмические задачи, Алгоритмы, беларусь, Блог компании Crossover, ивент, Карьера в IT-индустрии, олимпиада, олимпиадное программирование, плюсы, Программирование, разработка, Спортивное программирование, турнир, Учебный процесс в IT, фриланс

Кажется, у компании Crossover становится традицией анонсировать свои карьерные турниры, рассказывая о людях, уже работающих по специализации, на которую пойдёт отбор. Но сегодняшний случай особенный: хотя «примерка» на роль Chief Software Architect 7 апреля проходит в Москве, наш «Chief Software Architect дня» живёт даже не в России, а в соседней для дефолтной хабранации республике. Видимо, поэтому Crossover предложил мне взять у него интервью — может, они надеялись на какую-то особую белорусскую перспективу в разговоре двух белорусов, двух минчан и двух фрилансеров?

Впрочем, это сейчас Сергей rserge Рогач живёт и работает в Минске. Будущий Chief Software Architect компании родился в городке-десятитысячнике Глубокое Витебской губернии, в подбрюшье Браславских озёр — и эта череда топонимов словно сама уносит дальше, куда-то в сторону леса Фангорн, лежащего в отрогах Мглистых гор…

image
Поднимите руки, кто на Браславские озёра хочет больше, чем в Чикаго?

…только Сергей после девятого класса поступил в лицей при БГУ — одну из самых престижных школ Беларуси при главном университете страны. Учиться там в 2001–2003 годах было никому не скучно: аббревиатура БГУ грохотала как название одной из самых смешных команд КВН в истории, а Сергей два года подряд попадал в четвёрку старшеклассников, представлявших Беларусь на международной олимпиаде по программированию.

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


«В 2002 году мы летали в Корею, в 2003 — в США. Группой по четверо — но мы не были командой. Командами выступают в университете. На школьных олимпиадах обычно каждый сам за себя».

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

«Многие участники тогда использовали паскаль, но я предпочитал C++, с которым познакомился еще в 1999 году и на котором, кстати, пишу до сих пор», — говорит C++ Chief Software Architect компании Versata Сергей Рогач «Я выбрал для себя пару С/С++ еще в школьные годы, причем сознательно. Распространенный тогда паскаль был значительно медленнее и менее распространён в производственной среде».

Из обеих поездок он привёз бронзовые медали, но не за третье место:

«Они раздавались всем, кто вошёл по баллам в первые 50% участников. В моём случае это было сотое место в Корее и сто двадцать восьмое — в США», — даже не думает привирать Сергей, показывая свою «бронзу».
19 лет на одном языке. История о том, как олимпиадник из Беларуси стал C++ Chief Software Architect - 2

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

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

Выбор между карьерой и наукой

Казалось бы, какой там выбор: после лицея БГУ программиста-олимпиадника мог ждать только факультет прикладной математики и информатики БГУ.

Сейчас, в 2018 году, сильные кафедры есть и в БГУИР (бывший Минский РТИ, думаю, эта аббревиатура будет более понятна не-белорусам), но в 2003–2004 годах ФПМИ «пылесосил» всех потенциальных программистов и сильных математиков. Впрочем, математиков он «пылесосит» до сих пор — только не все выдерживают учёбу на этом факультете.

«Но я никогда не был сильным математиком — многие ребята на моём фоне были монстрами науки. Я в принципе не считаю, что сильный программист обязательно должен быть сильным математиком. Наука? Вполне возможно, варианты и выходы, как у «олимпиадника» у меня были. Но трудность быть учёным в том, что они не сами себе создают условия, а работают в созданных. И они должны быть достойными, что на ставку научного работника в Беларуси невозможно. Так что ещё на втором курсе БГУ я начал работать, а в конце четвёртого и вовсе его бросил».

За те несколько лет Сергей успел потрудиться и набраться опыта сразу в двух крупных международных аутсорсинговых компаниях — Itransition и EPAM — которые ещё в начале нулевых открыли офисы в Минске. Впрочем, эти названия могут оказаться знакомы многим: у EPAM есть большой офис в Новосибирске, да и у «Итры» география не самая скромная.

Великое посольство в Голландию

От аутсорса до фриланса — один шаг, который Сергей сделал в 2008 году, поступив в Амстердамский университет и уехав жить в Нидерланды, чтобы завершить своё образование. Не без ностальгии, конечно же:

«Дома, в БГУ, были одни преподаватели, у которых реально «горели глаза», и которые были невероятно сильны как в своем предмете, так и в научном плане. И были другие, которым было откровенно плевать: читают себе с бумажки лекции, «часы» отрабатывая. В Амстердаме же всё было «ровно». Я не повстречал каких-то преподавателей-звёзд, за которыми студенты бегали табунами, но и не увидел тех, кто «отбывал», а не работал. Зато, как мне кажется, белорусская школа может вырастить учёных-звёзд. А голландская — обеспечить стабильный уровень массового образования. У обеих систем есть свои плюсы и минусы».

image
Когда ты в Голландию поехал ума-разума набираться да обучение завершать

Закончив университет в 2010 году со степенью магистра по специальности «Искусственный интеллект», Сергей снова должен был принимать решение. Необходимость учить новый, не самый распространённый и потому не самый универсальный язык, непривычное устройство государственно-бюрократических реалий и дороговизна жизни (а Амстердам — один из самых дорогих городов Европы!) — это всё попадало на минусы.

Попытки слезть

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

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

И переход Сергея на работу в группу компаний ESW Capital, получился, наверное, самым ровным среди прочих из историй в этом блоге: уже на фрилансе, уже со своей бухгалтерией и проживая в Беларуси, где очных турниров Crossover пока не проводил, Сергей попал на «витрину» Crossover в очередной период поиска клиента в качестве потенциального С++ Chief Software Architect буквально не вставая с кресла. Тут выстрелили все ружья на стене: пригодились и алгоритмические задачи, на которые его натаскали ещё в школе, и многолетний опыт удалённой работы. В итоге Сергей стал работать для компании Versata.

«В числе прочего, я занимался приложением, которое оптимизирует работу сети, потом балансировщиком баз данных, сейчас оптимизирую Cypher запросы и Neo4j базу данных для поиска анти-паттернов. Работа над этими проектами дала мне более глубокие знания Linux».

Наука же его похоже потеряла. И не только белорусская:

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

Сейчас, спустя более пятнадцати лет работы, я тружусь на позиции С++ Chief Software Architect. Если надоест, я всегда могу вернуться к классическому фрилансу — мой опыт позволит найти крупный проект на полгода-год».

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


И если вы на этих выходных в Москве — можете попробовать сделать свой выбор на «Кадровом турнире» по отбору профессионалов, способных претендовать на контракт Chief Software Architect или Software Engineering Manager. Оценить свои силы и уровень можно уже в эту субботу.

Автор: ragequit

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js