IT Компас: как правильно программировать IT-карьеру

Tekst
Przeczytaj fragment
Oznacz jako przeczytane
Jak czytać książkę po zakupie
Nie masz czasu na czytanie?
Posłuchaj fragmentu
IT Компас: как правильно программировать IT-карьеру
IT Компас: как правильно программировать IT-карьеру
− 20%
Otrzymaj 20% rabat na e-booki i audiobooki
Kup zestaw za 41,60  33,28 
IT Компас: как правильно программировать IT-карьеру
IT Компас: как правильно программировать IT-карьеру
Audiobook
Czyta Авточтец ЛитРес
20,80 
Szczegóły
Czcionka:Mniejsze АаWiększe Aa

Amazon

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

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

Вернувшись в Кишинев, я занялся магистратурой. Мой университет был горд, что я стажируюсь в больших компаниях, поэтому мне дали время наверстать два месяца обучения. В январе сдал экзамены и написал дипломную работу, чтобы ничего не отвлекало от «Амазона». Я планировал сделать карьеру в этой компании. 30 января я прилетел во Франкфурт и оттуда доехал до Люксембурга.

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

Я попал в команду Amazon Supply Chain Finance. Нашей задачей было собирать данные обо всех доставках «Амазона», систематизировать их и предоставлять доступ нескольким тысячам работникам складов, отделов логистики и финансов по всему миру. Эта стажировка началась с самого необычного дела в моей жизни – доставки посылок. Очень важно, чтобы программист хорошо понимал, что и для кого он делает. Еще лучше, если процессы, которые он автоматизирует, можно буквально потрогать руками. Поэтому на целую неделю меня отправили во Франкфурт, на склад «Амазона». Я сортировал товары при получении, занимался их отправкой и взаимодействовал с продуктом, как обычный пользователь. На один день я присоединился к доставщику, и мы поехали во Франкфурт развозить посылки. Единственного дня хватило, чтобы понять, какая это сложная работа. Запомнился момент, как мы доставляли посылку одному парню, его не было дома, и в комментариях к заказу было написано: «Если меня не будет дома, оставьте посылку моей соседке». Мы позвонили в соседнюю дверь и сказали, что мы из «Амазона», хотим оставить посылку.

«Да как же вы мне надоели! И вы, и он! Не оставляйте мне никаких посылок!» – «радостно» отреагировала соседка.

Большинство технологий были мне знакомы, но вот объем данных, который мы обрабатывали, оказался совершенно другим. Базы данных с миллиардами строк, элегантные индексы – там было чему поучиться. А еще один коллега поразил меня своим уровнем программирования. Никогда не видел такого качества кода, ни до, ни после! Я многому у него научился, и он мотивировал меня сдать несколько Oracle сертификаций по Java.

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

1. Счастливый клиент.

2. Курс акций.

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

Вторая причина успеха компании, которую я увидел изнутри, – это ее основатель, Джефф Безос. От руководителя такой огромной компании не ожидаешь столь глубокого погружения в процессы. В своих письмах сотрудникам он мог затрагивать вопросы командной работы на конкретных примерах или указывать стратегическое направление небольшим подразделениям. У меня сложилось впечатление, что Джефф Безос знает свою почти полумиллионную компанию так же хорошо, как и в то время, когда в ней работало всего сто человек. Этот был прекрасный пример управления – вникать во все так глубоко, как только можешь. Наверняка он спал меньше восьми часов, но «Амазон» – это ребенок Джеффа Безоса, а к ребенку при необходимости встаешь в любое время суток. Думаю, именно в этом кроется секрет успеха как больших компаний, так и маленьких проектов. Там есть люди, которым не все равно, которые при необходимости встанут и ночью.

Стажировка тем временем проходила насыщенно. Помимо франкфуртской командировки, меня отправили еще в Берлин для обучения облаку «Амазона» (Amazon Web Services). Эта командировка в очередной раз подтвердила мое предположение, что большие компании ищут людей с фундаментом, а освоить конкретные технологии можно и позже. Я хорошо интегрировался в команду и значительно подтянул навыки в настольном футболе. Случилось даже поучаствовать в конкурсе «Амазон ищет таланты», где я играл на гитаре. Параллельно продолжал встречаться с девушкой из Цюриха, мы ездили друг к другу в гости.

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

Любое хорошее дело имеет плохую особенность – оно быстро заканчивается. В мае надо было решать, что делать дальше. Предварительно мне сделали предложение перейти на постоянную позицию и дали время подумать. С другой стороны, моя личная жизнь была в Цюрихе. Карьера или отношения, деньги или семья? В двадцать три года такой выбор дается непросто. Когда пришло время дать ответ, моя девушка заболела, была необходима операция. Этот факт окончательно склонил чашу весов в сторону отношений и потенциальной семьи.

Вернуться в Цюрих оказалось куда сложнее, чем уехать из него. К тому же надо было решить вопрос максимум за два месяца. На Линкедине (англ. LinkedIn) я увидел предложение о работе в банке на позицию облачного (англ. cloud) инженера. Я работал в «Амазоне», а про программистов «Амазона» существует легенда, что они все великолепно знают амазоновское облако (конечно же, это не так). Этот миф позволил привлечь внимание и быстро пройти интервью. Собеседования были исключительно на адекватность, технических не было, так как репутации Amazon и IBM работали отлично.

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

За пару дней до отъезда менеджер пригласил меня на обед и задал крайне интересный вопрос:

– Илья, что тебя мотивирует в работе?

– Удовольствие людей, которые пользуются моим продуктом.

– Отличная мотивация. Это позволит тебе построить хорошую карьеру. На деньги тоже стоит обращать внимание, но удовольствие от них временное. А вот желание создать продукт для людей – то, что надо.

Credit Suisse

По традиции в первый понедельник июля я вышел на новую работу. Огромный офис с великолепным видом на город. Когда я первый раз жил в Цюрихе, часто смотрел на это здание, и оно казалось мне недосягаемым. «Замок» на склоне горы Утлиберг, где, по городским легендам, хранятся золото и драгоценности клиентов. «Там точно работают люди исключительно голубых кровей» – думал я тогда. Однако оказалось, что простых смертных туда тоже пускают. За исключением одиннадцатого этажа – в то время там сидели трейдеры. Нам говорили, что это для безопасности – правда, было не очень понятно, для чьей именно, нашей или их. Слухи же утверждали, что на том этаже есть бесплатный кофе и вкусняшки, поэтому остальным туда вход закрыт. Получается, все-таки для безопасности наших животов.

Credit Suisse – моя первая и последняя не технологическая компания (я имею в виду, что они зарабатывают деньги не на IT). На IT деньги в компании только тратили. Это сказывалось и на технологиях, которые там использовали, и на отношении к программистам. Во главе угла – безопасность. Это хорошая стратегия для банка, где хранятся сотни миллиардов долларов, и в то же время – повод рубить все инновации на корню. Через пару месяцев стало понятно, что главный принцип принятия решений у сотрудников – это безопасность собственного рабочего места. И все делается, на самом деле, именно для сохранения себя внутри компании. Это касалось всего персонала, не только тех, кто связан с IT. На дворе был 2018 год, но финансовый кризис 2008 года еще был свеж в памяти многих моих коллег.

В 2018 году Microsoft начал заходить на рынок облачных решений в Швейцарии и продал всем банкам гениальную мысль: «Интегрируясь с нашим облаком, вы уменьшите затраты на администрирование ваших дата-центров». На практике все оказалось не так гладко, но до этого надо было еще дойти. Поэтому внутри Credit Suisse создали несколько небольших команд, которые работали над концептами интеграции облака с разными продуктами банка. Я попал в команду «Онлайн Веб Банкинг».

 

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

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

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

Как заметил мой более мудрый коллега, IT-подразделение и половина других подразделений в Credit Suisse – это социальные клубы: утром пришел в офис, пару раз выпил кофе, сходил на обед и вечером ушел. Если просто хочешь спокойно жить – это идеальная работа. Но мне хотелось совсем другого – создавать классные продукты, которыми пользуются миллионы, а может быть, даже миллиарды.

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

Собеседования в Google

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

Прежде чем отправить свое CV, около шести недель я потратил на подготовку. Решал задачи, освежал базовые знания и смотрел видео про собеседования в Google. В марте 2019-го я отправил свое резюме, и мне назначили онлайн-интервью.

Первое собеседование проходит с работником из отдела кадров. Там оценивают адекватность кандидата, задают пару простых технических вопросов. Если этот фильтр пройден успешно, наступает раунд технических интервью. Сначала онлайн, потом в офисе пять раз подряд. До 2020 года все последующие интервью были техническими, но с наступлением ковид-пандемии одно из них заменили проверкой коммуникативных навыков и вообще все собеседования стали проводить в онлайн-формате.

На первом онлайн-интервью надо было решить две задачки на структуру данных «список» (англ. List). «Справился хорошо, но не идеально. Достаточно для прохода на следующий этап» – такой отзыв оставил интервьюер. Я и сам чувствовал, что не доработал до конца. Следующий этап – собеседование в офисе – назначили через неделю.

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

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

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

В профессиональном спорте поражение – это часть жизни, обязательный этап роста. «Из одной проигранной партии можно узнать больше, чем из ста выигранных», – утверждал чемпион мира по шахматам Хосе Рауль Капабланка. И был абсолютно прав. Через три года, сделав работу над ошибками, я взял реванш у Google. К несчастью, а возможно и к счастью, именно в ту неделю, когда меня поздравили с успешным прохождением собеседования, Google объявил о приостановке найма. Сначала на две недели, затем – на два месяца, а потом и вовсе на неопределенный срок. Поэтому мечта так и осталась мечтой.

IBM Research

Живя в Цюрихе, я поддерживал отношения с бывшими коллегами из IBM Research. Через пару дней после фиаско в Google я получил звонок от Йенса Йелитто (нем. Jens Jelitto), коллеги, с которым мы делали блокчейн-проект для логистики: «Илья, мы нашли для нашего проекта партнера в индустрии. Готовы взять тебя на постоянную позицию. Что ты об этом думаешь?»

Стоит отметить, что попасть в IBM Research совсем не просто. Это в первую очередь научная организация, поэтому карьера многих ученых там начинается с прохождения докторантуры (PhD) или постдока. Собственно программистов в 2019-м было мало. Я вложил много сил в свой проект на стажировке и очень обрадовался шансу довести его до конца, как и возможности вернуться в одну из самых технологических компаний в мире.

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

Тридцатого апреля я купил угощение, чтобы вспомнить хорошие моменты и отметить мой уход с коллегами в Credit Suisse. Второго мая, полный оптимизма и желания творить, я пришел в офис IBM Research.

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

Сейчас я нахожусь в стадии миттельшпиля и планирую его элегантно разыграть. Пара ходов в середине партии получилась очень удачной. Я возглавил реализацию первого государственного блокчейн-проекта в Германии для Федерального ведомства по делам миграции и беженцев (BAMF – Bundesamt für Migration und Flüchtlinge). Мы объединили в одну сеть несколько регионов (Bundesland) для автоматизации обмена данными о беженцах и мигрантах. На момент написания этой книги (2024 год) в Европе по-прежнему царит миграционный кризис, и наша система делает жизнь людей лучше, ускоряя их интеграцию в немецкое общество.

Вторым моим успешным проектом стали «ковидные паспорта». IBM Digital Health Pass – это была одна из первых в мире реализаций вакцинных паспортов. Мы внедрили ее в Нью-Йорке на полгода раньше, чем аналогичная система заработала в Европе. Я потрудился и над европейской реализацией. Немного моего кода исполнялось на Андроид-телефонах во всех европейских странах.

Вторую часть книги я назвал «Миттельшпиль». Как правило, дебют можно хорошо подготовить и просчитать. А вот миттельшпиль всегда уникален, поэтому надо импровизировать. Чтобы импровизация была более осознанной, я проанализирую разные аспекты профессии на реальных примерах и попробую предсказать, куда мои ученые коллеги тащат IT-мир и к чему нам, программистам, стоит заранее подготовиться.

Часть 2. «Миттельшпиль»

Чем глубже фундамент, тем выше здание можно построить

Корни образования горькие, но плоды сладкие.

Аристотель

Бурдж-Халифа – небоскреб высотой 828 метров в Дубае. На данный момент (2024 год) это самое высокое здание в мире. Безусловно, Бурдж-Халифа – памятник человеческой мысли, смелости, богатству. Но отличает этот небоскреб не только то, насколько он возвышается над поверхностью, но и то, на какой глубине расположен его фундамент.

Аравийский полуостров сформирован донными отложениями древнего океана, то есть преимущественно из песчаных пород. В отличие от Манхэттена, где пригодный для высоких и тяжелых зданий скалистый грунт лежит близко к поверхности, здесь относительно твердые породы встречаются значительно реже. Этот фактор приходилось учитывать чикагскому архитектору Эдриану Смиту. Чтобы построить здание в 828 метров, в землю вкрутили 192 сваи диаметром полтора метра и длиной 45 метров (половина футбольного поля). Далее над ними надстроили бетонную плиту шириной 3,7 метра. Эта сложная конструкция и образует фундамент самого высокого здания в мире. Именно благодаря такой мощной базе проект был успешно доведен до конца и ежегодно притягивает сотни тысяч туристов.

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

To koniec darmowego fragmentu. Czy chcesz czytać dalej?