Андрей К
Андрей К личный блог
01 ноября 2019, 12:32

Работа в трейдинге #3. Программистом.

Привет, дорогой мой читатель. В последнее время на меня опять напало желание выливать мысли в текст. Пытаюсь писать полезно для тебя. 
На этот раз я продолжу вот эту свою писанину и раскрою за тебя некоторые моменты.

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

Сразу скажу, что речь только про наш рыночек и только для чистого программиста, не стратего строителя.

1) Начну с того, что тебе придется работать на Линуксе. Этим пунктом сразу отрезается масса языков, которые просто не вяжутся с этим ОС. Не, ты конечно можешь сказать, что поставишь mono или net.core или еще другие Приблуды. Но нет.

2) Если ты когда то изучал ассемблер, тебе это будет плюсом в работе. Но не для того, чтобы на нем писать, а для того, чтобы понимать очень тонкие нюансы работы железа. Хотя, не исключаю, что какие то ассм вставки для спец инструкций интела тебе делать придется, хотя компиляторы развиваются такими темпами, где уже это все реализовано.

3) Так или иначе, тебе придется въехать во всякие технические аспекты железа. Поэтому, если ты подготовишься заранее, это будет тебе плюсом. Как работает CPU — ОП, как работает CPU — ОП — PCIe, как работают южные мосты, контроллеры DMA. Как работает кэш всех уровней, обмен между ядрами и тд. Нужна ли многопоточность?

4) Так или иначе, тебе придется въехать в работу сети. Все уровни протоколов. L2, L3 и и тд. Друг, не пугайся сильно. Начни изучать хотя бы сырые сокеты (raw sockets), если ты никогда не делал сеть. Знание сырых сокетов тебе сильно поможет стартануть дальше.

5) Оформи тестовые доступы на биржу и начни там приторговывать на тестовых контурах. Тебе это сильно поможет. Как это сделать, ищи это в первых статьях блога.

6) Профилирование. Мало кто владеет этим подходом. Научись и будешь уже на голову сильнее. Знаешь что? Сделай массив на миллион 64-х разрядных чисел и раз в 30 секунд забивай его случайными значениями и через 20 секунд подсчитывай сумму этих чисел. Сделай замер времени подсчета суммы. Попробуй построить расчет так, чтобы он всегда считал за одинаковое кол-во времени в наносекундах. 

Вообщем как ты уже понял, чем ниже владеешь, тем лучше. А это практически только один язык — c/c++ под Линукс. Это минимальные базовые аспекты, овладея которыми, у тебя, как у программиста, есть все шансы заскочить быстро и остаться на долго. Нет, ты конечно можешь владеть и Phyton и R, mathlab, но это совсем другая история с совсем другой частотой вакансий и с совсем другими шансами остаться надолго.

Удачи, уважаемый читатель.

PS. Да кстати, пройдя эту школу, мир для тебя будет уже открыт. 
114 Комментариев
  • Oerlikonium
    01 ноября 2019, 12:44

    Нет у нас на нашем рыночке вакансий для программистов. Если какая и появляется, то туда скорее попадёт зубр с опытом, потому что программить на C++ уже довольно мало надо кому и его сократили на прошлом месте работы.

    Разработка на современных языках типа Go и даже джаваскрипта получается быстрее и качественнее, а лишний процент скорости никому не нужен — надёжность гораздо важнее.

    Лучше научиться минимально (ВО) чтобы взяли младшим в приличную большую контору и уже там научиться всему как надо.

      • Oerlikonium
        01 ноября 2019, 12:54
        Андрей К, в какой сезон?? ))) контор-то нет, откуда вакансии?

          • Oerlikonium
            01 ноября 2019, 12:59
            Андрей К, я иногда посматриваю, какие там конторы? Хиреющие криптостартапы, которые возомнили себя крутыми ХФТ новой волны? Для карьеры это всё пустая трата времени.
              • Oerlikonium
                01 ноября 2019, 13:09
                Андрей К, ну при случае хоть одну назовите. Мне правда интересно, без подколок, потому что я не видел.
        • Феликс Осколков
          01 ноября 2019, 14:45
          oerlikon, вакансии и стажировки на бирже https://career.moex.com/vacancies
          • Oerlikonium
            01 ноября 2019, 14:49
            Феликс Осколков, да, биржа это само собой, считается. В плане опыта конечно немного сомнительный вариант, но для строчки в резюме точно пойдёт.
      • Chipa lipa
        01 ноября 2019, 13:23
        Андрей К, тебе 35-40?
          • Chipa lipa
            01 ноября 2019, 13:28
            Андрей К,  твои требования к программисту как первая страница паспорта
              • Chipa lipa
                01 ноября 2019, 13:33
                Андрей К, ну да, даже прописку видно
                а, вообще, программистом нужно быть пока молодой
  • bstone
    01 ноября 2019, 12:49
    Уровень базовой подготовки на уровне детсада с классом информатики открывает двери в мир? :)
      • bstone
        01 ноября 2019, 12:53
        Андрей К, не, в Москве-то уже точно перешли на еще более продвинутые технологии. Танцы «Го» и т.п.
      • bstone
        01 ноября 2019, 13:17
        Андрей К, да сам видел сколько раз: человек знает как устроены кэши всех уровней (внимательно доки прочитать очень много ума не надо все-таки), а чуть надо пошире подумать… все — тупик. В общем не панацея это. Ну и в целом, не верится, что программист будет выращивать себя вот так с заточкой под трейдинг. Если он вырос как специалист в другой области, то вероятность перехода в трейдинг около ноля. Если он начал с трейдинга, то программистом нормального уровня он уже не станет :)
          • bstone
            01 ноября 2019, 13:22
            Андрей К, интернет давно уже стер границы для программистов. Люди в регионах работают на Москву и западные конторы сплошь и рядом.
        • meat
          01 ноября 2019, 13:25
          bstone, программист в трейдинге это тупиковая ветвь эволюции :)
          • bstone
            01 ноября 2019, 13:35
            meat, ну фишка толкового программиста в том, что он может запустить свои ручонки во много чего :) Можно и в трейдинг на каком-то этапе, но слабо верится, что этот этап может быть первым.
            • meat
              01 ноября 2019, 14:29
              bstone, именно в трейдинге непонятно, что там делать программисту, уровень задач совсем низкий, может поэтому эта тема не так популярна

              встречал только тех, кто пишет ботов для криптобирж или сами биржи пишут, но это все сомнительные предприятия

              а сидеть и реализовывать алгоритм, который чуть-чуть быстрее будет чем раньше и который никто кроме твоего хозяина не увидит — ну такое себе занятие
               
                • meat
                  01 ноября 2019, 14:33
                  Андрей К, можешь озвучить эти задачи и заодно компании, которые эти занимаются?
  • Oerlikonium
    01 ноября 2019, 12:53
    А и кстати если не поработать неск лет в каком-нибудь Яндексе или другой конторе с мировым именем — никакой мир открыт не будет, резюме просто не пройдёт первичный фильтр.
      • Oerlikonium
        01 ноября 2019, 12:56
        Андрей К, показатель знаний — работа в приличном месте. Если со знаниями не хватило ума устроиться в норм контору — мутно это всё, а лишнего времени ни у кого нет.
        • Replikant_mih
          01 ноября 2019, 13:29
          oerlikon, А как вы по названию определите приличность?) Или приличное это только от 10К человек в штате?))
          • Oerlikonium
            01 ноября 2019, 14:52
            Replikant_mih, кто не первый год в теме делает это с первого взгляда. Потому что в общих чертах известно что где и как, куда как и кого берут и т д. Рекрутеры тоже всё это знают, потому что это вообще их работа.
            • Replikant_mih
              01 ноября 2019, 14:57

              oerlikon, как вы думаете сколько компаний на рынке? По вашему все спецы стекаются в Яндексы-Гуглы?)

              Понятно, что из-за того что в некоторых компаниях высокий порог входа, использовать наличие компании в резюме как критерий оценки кандидата очень удобно (в смысле просто). Но, естественно, не все хотят работать в Яндексе)).

              • Oerlikonium
                01 ноября 2019, 15:12
                Replikant_mih, 

                По вашему все спецы стекаются в Яндексы-Гуглы?)

                Да. На определённом этапе, хотя бы на неск лет точно.
                Иначе ты просто непонятный мутный чел, все решат что ты пытался но тебя не взяли. Есть конечно случаи, когда талантливые перцы удачно мутят свои проекты и так нарабатывают авторитет, но как раз их оч мало.
                • Replikant_mih
                  01 ноября 2019, 15:14
                  oerlikon, Все так не решат). Вы так решите и все кто думают как вы. Но не все думают как вы).
                  • Oerlikonium
                    01 ноября 2019, 15:15
                    Replikant_mih, каждый волен думать как он пожелает и учиться на своих ошибках тоже.
                    • Replikant_mih
                      01 ноября 2019, 15:17
                      oerlikon, Ага, типа того)).
                    • Replikant_mih
                      01 ноября 2019, 15:23

                      Андрей К, Или наоборот?) — Яндекс отказал мне, я обижен на Яндекс)), теперь всеми силами пытаюсь убедить себя, что не обязательно работать в Яндексе).

                      Ну, к слову, я ходил на сбсд. в Яндекс, 2 раза. Хотя я не разраб — тут, вроде про разрабов. Один раз не взяли. Второй раз на первом сбсд., хотя по технике я его прошел, я осознал, что я перерос эти задачи, тоже в общем не срослось. 

                       

                      Ну реально, не Яндексами едиными — кому-то нравится иметь соцпакет и стабильность, кому-то хипстерская атмосфера, кому-то нравится не быть винтиком, кому-то ещё что-то, кому-то ещё что-то. И под эти разные описания подходят разные компании. Но почему-то есть люди, которые всех под одну гребенку гребут).

                        • Replikant_mih
                          01 ноября 2019, 15:36
                          Андрей К, Не, я не почувствовал себя на своем месте там, т.е. то, что я «перерос» было не единственным препятствием. Понятно, что в Яндексе многое привлекает, но не все. Мне приятней душевная атмосфера небольшого стартапа, чем хипстерская атмосфера Яндекса, если честно). Так что не планирую бороться за Яндекс. Если бы зацепила — зубами бы выгрыз это место)).
  • day0markets.ru
    01 ноября 2019, 12:56
    Не хватает потому что в других областях платят больше и никто особо не хочет набивать узкоспециализированный стек. IT сейчас хочет GO, React, Docker, Serverless, а не вот это все. Да и реально не вижу причин, почему прогер может захотеть идти в трейдинг.
      • day0markets.ru
        01 ноября 2019, 13:01
        Андрей К, ну только что это. Хотя куча стартапов предлагают долю
        • Replikant_mih
          01 ноября 2019, 13:33
          day0markets, Но в стартапах, конечно, высока цена ошибки, вернее цена стандартная, вероятность ошибки высока). Ошибки — в смысле будет ли твоя доля что-то стоить или примерно будет стоить ничего).
          • day0markets.ru
            01 ноября 2019, 13:38
            Replikant_mih, а в hft командах она мала что-ли? :) Биржа поменяла регламенты — половина алго легла, а косты остались. вот и нет фирмы.
            • Replikant_mih
              01 ноября 2019, 14:01
              day0markets, Эт я не знаю, я комментировал утверждение само по себе, безотносительно чего-то другого).
      • Oerlikonium
        01 ноября 2019, 13:08
        Андрей К, вероятнее контора загнётся, чем будет куда входить. Я ещё в Blackfield Capital в 2013 году на собеседования ходил, напомнили мне ) такие там все были на понтах! C++14 у них, микросекунды, сетевые навороты, то-сё. А гендир просто взял бабки и сбежал в Штаты ))

        Заходил в гости в Алго-Капитал — который Норд-Капитал. Офис в стиле 90-х, полное дно, нех там делать.

        В Форуме не был, но он тоже загнулся, из последних сил помнится видео снимал )))

        На кого ещё можно посмотреть, кто хоть неск лет существует?
          • Oerlikonium
            01 ноября 2019, 13:14
            Андрей К, Ренессанс да, слыхал. Считается! )
        • shprots
          01 ноября 2019, 13:35
          oerlikon, ахаха ))) был свидетелем подобной истории)))) про понты и гендиректор очень четко)))
          • Oerlikonium
            01 ноября 2019, 14:57
            shprots, самое главное офис ещё у них был в «Башне на набережной» в Москве-сити на высоком этаже, ну просто космос-космос!!! А оказалось что-то тупенько пытались в неразберихе на открытии рынка ловить (но это неточно). Короче да, а-ха-ха ))
        • Кактус
          19 января 2020, 08:09
          oerlikon, 
          Я ещё в Blackfield Capital в 2013 году на собеседования ходил, напомнили мне ) такие там все были на понтах! C++14 у них, микросекунды, сетевые навороты, то-сё. А гендир просто взял бабки и сбежал в Штаты ))

          Про понты и мошенничество (мошенничество не с алгофондом, а с алгоритмами ai, machine learning, bigdata, но репутация тем не менее) вот Вам свежая история про одного со-основателя алгофонда Thunderbid :)

          www.kaggle.com/c/petfinder-adoption-prediction/discussion/125436

          После того, как мошенничество BestPetting было обнаружено, Kaggle навсегда заблокировала Плескова. По информации Kaggle, «доказательства указывают на то, что он был ключевым лицом этой мошеннической кампании».

          В дополнение к потере своего звания Плесков также лишился работы в компании по разработке программного обеспечения с открытым исходным кодом H2O.ai, которая стремится приглашать на работу специалистов со званием Kaggle Grandmaster.
          В течение двух лет был сооснователем и главным квантом фонда ThunderBid.
      • Sergey Pavlov
        01 ноября 2019, 15:54
        Андрей К, это уже фантазии. Программист это судьба. Если вовремя не перестал быть программистом, то через 10 лет практики никуда выше уже не пойдешь. Мышление настолько отформатировано, а оно и до этого хромало на социальные навыки, амбиции и пр.
          • Sergey Pavlov
            01 ноября 2019, 16:12
            Андрей К, 
            один из главнейших нюансов — войти в долю. То есть перспектива не остаться в рамках 300-500т руб., а пойти выше
              • Oerlikonium
                01 ноября 2019, 16:31
                Андрей К, вообще-то это тоже фантазии доказать что «достоин куска пирога». Ты кодишь, тебе зарплату и премии платят — радуйся. А так это вообще-то они тебя подобрали, отмыли, накормили, за комп усадили (с точки зрения руководства/инвестора). Если это не было обговорено «на берегу» то лучше не надеяться, а если даже было то могут и обмануть, короче всё как везде ))))
                  • Oerlikonium
                    01 ноября 2019, 16:38
                    Андрей К, если опытные, то должно быть понятно, что это предлагает или не предлагает сам инвестор, от программиста даже суперпупер крутого такая мысль исходить не может по определению, поэтому он на это в общем-то не влияет никак ))))
              • Sergey Pavlov
                02 ноября 2019, 03:38
                Андрей К, 
                доказать руководству/инвестору, что достоин куска пирога
                Хотелка понятна, но это почти оксюморон.
                Достоин? Вперед! Открывай свой бизнес и тд.
                Увы, но пирог, если делится, то с манагерами, не с программерами.
  • Dmitryy
    01 ноября 2019, 13:39
    Вы описали не программиста, а системщика какого-то :)

    Для тех кто смотрит в будущее и владеет математикой, нужно изучать ML и прочие Data Sciences.
      • Dmitryy
        01 ноября 2019, 13:51
        Андрей К, я не понимаю людей, который рвут себе одно место ради захудалой российской конторки, когда на международном уровне их и научат и оценят гораздо серьезней.
      • MS
        01 ноября 2019, 16:23
        Андрей К, да ладно. Ничего особо сложного, закодируй для меня, убедишься. )
          • MS
            01 ноября 2019, 16:44
            Андрей К, ну, да. Давно присматриваюсь. Есть содержание. Нужна форма.
              • MS
                01 ноября 2019, 16:56
                Андрей К, 90% частотность ответа. За которым может быть различное.
  • wot
    01 ноября 2019, 13:42
    в трейдинге полным-полно задач не связанных с low-level execution. нужно прогать tools, scripts, modelling, testing, gateways и тд. другой вопрос, что у нас быдло-страна и фин индустрия не развита (как в штатах или в европе) от слова совсем.
      • wot
        01 ноября 2019, 13:48
        Андрей К, обычному mass-market прогеру есть смысл идти в эту область  только (имхо) чтобы самому потом трейдить. но тогда и идти надо сразу в джуниор-кванты (правда там немного другой бэкграунд необходим), тогда экспертизу по микро/макро-структуре рынке и пр. быстрее получишь. 
      • Dmitryy
        01 ноября 2019, 13:50
        Андрей К, спрос сейчас есть мировой и не привязан к странам и городам.
        Вакансий миллион, при условии конечно, что в ладах с языком.
        https://wilmott.com/jobs/
          • Dmitryy
            01 ноября 2019, 13:53
            Андрей К, это вакансии именно для трейдеров-программистов.
            • wot
              01 ноября 2019, 13:55
              Dmitryy, читайте внимательнее — речь про РФ сейчас. 
  • Алексей
    01 ноября 2019, 13:42
    5 и 6 пункты да, всё остальное лишнее, устаревшее и вкусовщина из разряда соберём команду из супер спецов пару лет будем пилить продукт пока деньги не закончатся, а потом разбежимся не создав даже mvp.

    в реальной жизни всё иначе: под каждую бизнес задачу свой язык и архитектура.
      • Алексей
        01 ноября 2019, 14:18
        Андрей К, в любой сфере, важна скорость реализации фичи, приведённые вами навыки, на скорость влияют отрицательно.
        Лично я, для тестирования стратегий, скорее найму питониста без знаний как устроено кеширование процессора, а гуру с++ пусть идёт микроконтроллеры кодить где ему и самое место.
  • _sg_
    01 ноября 2019, 14:12
    В программировании главную роль определяют Технологии:

    1. Технологии Проектирования Архитектуры и компонентов ПО
    2. Технологии разработки ПО.
    3. Технологии тестирования ПО.
    4. Технологии развертывания ПО
    5. Технологии сопровождения
    6. Технологии информационной безопасности 
    итд.

    Достаточно просто быть хорошим специалистом в любой из этих областей и будешь востребованным на рынке.

    Трейдинг — лишь частный случай.

    Вы слишком сужаете понятие Программирования и Программиста.

    Программист — может быть не только кодером. 
  • Иван Иванов
    01 ноября 2019, 14:12
    Enterprise решения на линухе — Java only, никаких плюсов и гемороя с опусканием на уровень железок, ассемблера и прочей низкоуровневой хрени )
    Но да, оперативной памяти надо поболее ))
      • Иван Иванов
        01 ноября 2019, 14:17
        Андрей К, JNI и руки в ноги, но да это боль ежа с носорогом.
        А вообще ща стараются все через json и рест сервисы интегрировать.
        И неважно начем написан код на той стороне и на какой он там оси  в виртуалке крутится.
  • Влад(и)Мир
    01 ноября 2019, 14:25
    Можно подумать что на HFT часто вакансии в РФ публикуют.
      • Влад(и)Мир
        02 ноября 2019, 16:57

        Андрей К, 9 вакансий за месяц на всю страну. Одна из них на С#.

        В более чем половине идёт С++ или Java.

  • Spekyl
    01 ноября 2019, 16:57
    У HFT в России есть  деньги на стаф? И вообще деньги? Или я чего не догоняю?
  • Value
    02 ноября 2019, 01:20
    Программистом нужно работать пока молодой. А потом уходить в инвесторы. И самому нанимать программистов… если захочется. Всю жизнь работать программистом — так себе идея.
  • Eskware
    02 ноября 2019, 05:42

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

    • Влад(и)Мир
      02 ноября 2019, 16:59
      Eskware, кем вы то были в 90-е?
      • Eskware
        04 ноября 2019, 06:17
        Владимир М.инженером по системам связи  и вычислительной техники.
    • Value
      02 ноября 2019, 21:45
      Eskware, давно так относятся. Поэтому лучшие условия, обычно, в конторах которые пишут софт на продажу. В остальных местах будут относиться как к обслуге…
  • bwc
    02 ноября 2019, 23:35
    как-то не очень часто такие вакансии попадаются (на хх).
    можно добавить в компетенции планировщик задач, управление памятью, lock free и т. п. паттерны для многоядерных систем.
    что ещё… особенности работы, оптимизация в компиляторах?

    конешн теория это всё прикольно. но тут нужно 2-3+ года боевого опыта, чтобы эти знания усвоились, применились.
    можно попробовать в телеком. им тоже нужно много и быстро.
      • bwc
        03 ноября 2019, 15:33
        Андрей К, it depends. atomic, смена контекста — дорого. но п. 6 можно выполнить фактически параллельно, без переключений и с синхронизацией в самом конце.
        впрочем любой инструмент нужно использовать с учетом достоинств и недостатков.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн