Что такое IT в крупном инвестиционном банке

в 11:52, , рубрики: project management, банки, информационные технологии, Программирование, управление проектами, Финансы для всех, метки: , ,

Что такое IT в крупном инвестиционном банке

Поиграем в ассоциации. IT в громадном инвестиционном банке – что приходит на ум? Строгий контроль над процессом разработки? Куча умных людей, знающих чем фьючерсы отличаются от форвардов? Команды, с легкостью пишущие многопоточный и защищённый код? Или, может быть, месье – пессимист и думает, что «там все как у всех»?

Я последние четыре года проработал на банки. Один год на Credit Suisse, офшорно из России с командировками в Лондонский офис, и 3 года – на Citigroup, живя в Нью-Йорке. И вот что я вам скажу: IT в банках – это интеллектуальное гетто, со всеми своими минусами и…минусами. Там встречаются очень умные ребята, крутые команды, но их значительно меньше чем в среднем по индустрии, а основная же масса работников – это зомби, производящие очень плохой код и затем костыли и припарки к нему.

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

Финансы

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

Теперь сделаем мысленный эксперимент: от чего зависит ваш успех на новом месте работы? Ради спора предположим, что на 50% — от ваших способностей и знаний, на 25% — от умения создавать социальные связи (это я так витиевато сказал «от умения ходить на ланч с начальником»), и на 25% — от удачи. Ок, а в банках то же самое? Неа. Свободной разговор на языке из нужной области finance легко съедает 25% от пирога. Т.е. если вы — болван, последние 5 лет доламывающий когда-то работающую систему и за это время выучивший все keywords – добро пожаловать в команду. Никакой магии, просто немного усидчивости. Ну и что что ваши знания о разработке ПО за последние годы не ушли дальше книги «Java/С# for dummies» — это же простая часть, по сравнению со знанием финансов, так ведь? Ничего, научитесь по ходу.

Со временем ценность таких работников для нефинансовых компаний сильно падает – никого за пределами финансовой индустрии особо не интересуют ваши знания derivatives, а вот знание новых технологий и (иногда) сносное умение писать код – еще как.

Зарплаты

Это же совсем не секрет, что уровень зарплат в финансах в среднем выше, чем в других индустриях. Это делает банки очень привлекательным местом работы. Если за те же 8 часов программирования в день вы можете получать на условные 30% больше денег – дайте мне две такие работы.

Эта ситуация создает еще один барьер для IT-шников, работающий на удержание. Если вы не можете найти столь же хорошо оплачиваемую работу «на стороне», даже если чувствуете, что застоялись на одном месте и деградируете – то скорее всего вы ничего и не будете менять, даже если в средне/долгосрочной перспективе это было бы выгодно.

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

Банки любят деньги

Ну и третье — это то, что банки умеют хорошо делать и считать деньги. Они также знают, что стабильность — ключ к финансовому успеху. Лучше 100 лет делать 100 рублей в год, нежели один год пофеерить, заработать 250, и разориться на второй. А заработать 500 все равно не получится — таких умных и жадных тут целая улица.

Все в банках рассчитано на то, что незаменимых – нет. Для того что бы это проверить, работников каждый год отправляют в «насильственный» двухнедельный отпуск, во время которого им запрещается даже отвечать на письма. Также абсолютно нормально, когда 70% людей вокруг вас ничего не делают (или делают фигню), когда разные проекты делают одно и тоже несовместимыми способами, когда команды создают свои велосипеды на пустом месте, и т.д. Такое невозможно в обычных компаниях, которые должны считать деньги, но в банках это OK. Когда один трейдер может продуть миллиард баксов в день, кого будет волновать несданный в срок проект?

Другая сторона любви к деньгам – это найм дешевой раб. силы. Если вы прилетели с Луны и захотели узнать, где находится Citigroup, то вы будете думать, что ответ – в Индии, ибо там находится большая часть офисов и центров разработки. В США так же распространен способ за копейки нанимать на H1b визу (тех же индусов, по большей части). При этом качество часто никого не заботит – есть бюджет, спущенный сверху, и его нужно освоить. Ко мне так однажды мой citigroup-овский менеджер подошел и говорит – «последний чувак, которого ты собеседовал, был хорош?». Нет, говорю, он был туп как мартовский кролик в январе, он свое имя не сможет два раза подряд одинаково написать. «Ну, мы его все равно берем. Он научится в процессе. У нас бюджет.». Этот чувак через пол-года смог удалить нам одну базу в production, и через год уволился.

Итого

В итоге нижние уровни IT в банках наполнены некомпетентными людьми, которые протирают свои штаны и из года в год в лучшем случае ничего не делают, в худшем же – мешают работать остальным. Бизнес-аналитики, тратящие месяцы на документирование колонок в старом приложении. Программисты, даже не пытающиеся протестировать свой код. Менеджеры, даже не пытающиеся вести учет задач и требований, и т.д. Я видел своими глазами, как один «product owner» во время дискуссии засунул ручки в уши и стал говорить «лалала, я тебя не слышу, лалала». Я не шучу. Я видел это своими собственными глазами. Или, просто для примера, в моем проекте один джавист открыл c# файл и изменил его. Он не знал синтаксис, потому ясное дело проект перестал компилироваться. Когда я его спросил, почему он не проверил что все работает, он ответил – «так я же не знаю, как компилировать .net».

Кстати говоря, многие такие персонажи хорошо осведомлены о своей профнепригодности за пределами банковской среды, и потому они всячески стараются обезопасить свое рабочее место. Это приводит к захватывающим политическим играм между людьми и целыми отделами, к раболепию перед начальством, и к тотальному нежеланию и неспособности брать на себя ответственность. Опять же, в качестве примера случай из моего проекта. Когда я осознал, что мой начальник отчаянно боится принимать какие-бы то ни было решения, я решил проверить это путем просьбы решить, куда поместить кнопку для какой-то новой функциональности. Ну что может быть проще – ну тыкни ты пальцем в экран – дескать, вот сюда засунь! Нет же, он послал email своему начальнику, начальнику своего начальника, и главам трех регионов — «давайте вместе решать, куда засунуть кнопку». Я не знаю, какой ответ он получил, но предполагаю, что ему доходчиво объяснили, что такие идиотские письма не шлют таким людям, потому спустя пару дней он ответил на командную рассылку «поручаю вам самим решить».

Наиболее эффективно свое рабочее место научились защищать программисты, освоившие искусство «анфакторинга» (смотреть тут: www.confreaks.com/videos/271-rubyconf2008-unfactoring-from-patterns). Вкратце, это когда хороший код путем точечных изменений превращается в говнокод. Но так как хороший код взять негде, то такие программисты просто годами пишут приложение или компоненту таким образом, что никто, даже Чак Норис, не может в ней ничего понять. Таких людей сложно уволить, легче продолжать им платить за поддержку.

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

Ну, и на последок: да, я знаю, что есть и крутые перцы в банках. Кого-то привлекли деньги, кто-то любит штудировать финансовую литературу. Есть и целые команды, в которых было бы приятно поработать. Более того, по какой-то причине более высокие уровни менеджмента (начиная от managing director) обычно приятно удивляли – может, там работает peer pressure? Но если вы собрались поработать на банк в качестве обычного программиста – приготовьтесь к болоту. И удачи.

Автор: unknwn11

Источник


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


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