По формальному описанию внутри интересно — highload, low latency, относительно свежий С++ код, по идее должны быть хитрые алгоритмы для обработки большого потока биржевых данных.
Но складывается ощущение, что в сравнении с работой в mail.ru / yandex / facebook у сабжа меньший спектр интересных творческих задач и в принципе продукт уже написан, нужны лишь некоторые доработки (например, какая-то биржа проапгрейдила свой протокол). В том же яндексе можно найти проект пиления некой распределённой самошардирующейся самореплицирующейся космической опердени, где очень важно понимание свойств разных структур данных и алгоритмов — именно разных в силу постоянно возникающих РАЗНЫХ задач. То лайки считать, то по тегам фиды формировать, то что-то быстро искать или map-reduce-ить. Всё что касается low-latency относительно понятно: не выделяй память, не ходи в ядро. Высоконагруженное ядро уже готово, главный начальник и шаман по этому ядру существует и делать самое интересное — проектировать это ядро — дело не твой. Думаю каких-то своих сложных алгоритмов/структур данных разработчики там на регулярной основе тоже не пишут опять же, ибо всё обкатано, технологии выбраны и устоялись, а спектр задач сильно ограничен, т.е. нет того "яндексовского-мейлушного" разнообразия.
Приведу такой пример: как-то я радостно подался в область распознавания речи, думал будет что-то особо challenging, но на практике интересно это только для суровых математиков, а твоя задача как программиста буквально врапперы к их библиотекам ваять, ну может быть иногда организовывать какие-то относительно скучные эксперименты, где твоя "творческая" часть очень скромная. Да, иногда нужно прийти на помощ научным сотрудникам с их быдлокодом, помочь сделать чуть эффективнее, но это нечасто, основное время — скучное написательство врапперов, скучная поддержка Speech Recognition SDK на экспорт в другие отделы, где его прикручивают к продуктам. Так и здесь — есть подозрение, что всё самое интересное в сабже находится опять же у математиков, которые дифуры в экономических моделях придумают или HFT-стратегии ваяют, а твоя задача просто не сломать имеющуюся скоростную трубу обмена данными, фиксить баги, но не более того (повторяю "при всей формальной интересности описания работы"). Надо думать, но не придумывать.
Здравствуйте, pkl, Вы писали:
pkl>По формальному описанию внутри интересно — highload, low latency, относительно свежий С++ код, по идее должны быть хитрые алгоритмы для обработки большого потока биржевых данных.
Там вроде работал наш комрад kosmic, очень положительно отзывался о компании. К сожалнию, он что-то давно не появляется здесь.
У меня опыт сильно перекошен в сторону финансов, но тем не менее.
1) В финансах (если компания занимается много чем) присутствует некоторое разнообразие задач и это не только low-latency, есть и распределенные вычисления в риске, некоторое количество математики и достаточно сложные UI (для любителей GUI). Если компания разрабатывает не один продукт, то всегда есть возможность поработать в разных направлениях.
2) Мне кажется, ты слегка идеализируешь работу в интернет-компаниях. Яндекс и Мейл — это компании на тысячи человек с огромной кодобазой. Там большие проекты с большим количеством поддержки (меняются библиотеки, базы, внутренние сервисы, все это надо поддерживать, безопасность). Там ты также будешь привязан к определенному проекту и поддерживать его, и там также уже будут свои архитекторы и устоявшиеся технологии (как и в любом коммерческом продукте, который не пишется в стартапе прямо сейчас с нуля).
3) В то же время, в Ягуглах есть большое количество своих велосипедов, исследовательские направления вроде DeepMind, в которых в некотором виде интереснее работать, чем сервер-сайд обычный, но это уже противопоставление системного программирования/исследовательской работы прикладному. Но тогда тебе при трудоустройстве надо убедиться, что ты попадаешь именно на этот проект на интересную тебе роль. Потому что в том же Яндексе алгоритмически-ориентированные специалисты поступают через каналы вроде ШАДа, сгребания олимпиадников и т.д., так что тоже можно оказаться в позиции склеивателя через врапперы подогнанной тебе снаружи модели машинного обучения, самодельной базы данных и веб-сервера.
Судя по тому, что тебе интересны алгоритмы и математика, вероятнее, что тебе будет интереснее в каком-нибудь исследовательском подразделении Яндекса (не знаю есть ли такие в Мейле), но тогда надо целиться на определенные проекты и суметь пройти собеседование соответствующей направленности.
Здравствуйте, pkl, Вы писали:
pkl>По формальному описанию внутри интересно — highload, low latency, относительно свежий С++ код, по идее должны быть хитрые алгоритмы для обработки большого потока биржевых данных.
pkl>Но складывается ощущение, что в сравнении с работой в mail.ru / yandex / facebook у сабжа меньший спектр интересных творческих задач и в принципе продукт уже написан, нужны лишь некоторые доработки (например, какая-то биржа проапгрейдила свой протокол). В том же яндексе можно найти проект пиления некой распределённой самошардирующейся самореплицирующейся космической опердени, где очень важно понимание свойств разных структур данных и алгоритмов — именно разных в силу постоянно возникающих РАЗНЫХ задач. То лайки считать, то по тегам фиды формировать, то что-то быстро искать или map-reduce-ить. Всё что касается low-latency относительно понятно: не выделяй память, не ходи в ядро. Высоконагруженное ядро уже готово, главный начальник и шаман по этому ядру существует и делать самое интересное — проектировать это ядро — дело не твой. Думаю каких-то своих сложных алгоритмов/структур данных разработчики там на регулярной основе тоже не пишут опять же, ибо всё обкатано, технологии выбраны и устоялись, а спектр задач сильно ограничен, т.е. нет того "яндексовского-мейлушного" разнообразия.
pkl>Приведу такой пример: как-то я радостно подался в область распознавания речи, думал будет что-то особо challenging, но на практике интересно это только для суровых математиков, а твоя задача как программиста буквально врапперы к их библиотекам ваять, ну может быть иногда организовывать какие-то относительно скучные эксперименты, где твоя "творческая" часть очень скромная. Да, иногда нужно прийти на помощ научным сотрудникам с их быдлокодом, помочь сделать чуть эффективнее, но это нечасто, основное время — скучное написательство врапперов, скучная поддержка Speech Recognition SDK на экспорт в другие отделы, где его прикручивают к продуктам. Так и здесь — есть подозрение, что всё самое интересное в сабже находится опять же у математиков, которые дифуры в экономических моделях придумают или HFT-стратегии ваяют, а твоя задача просто не сломать имеющуюся скоростную трубу обмена данными, фиксить баги, но не более того (повторяю "при всей формальной интересности описания работы"). Надо думать, но не придумывать.
Здравствуйте, aiks, Вы писали:
A>Судя по тому, что тебе интересны алгоритмы и математика, вероятнее, что тебе будет интереснее в каком-нибудь исследовательском подразделении Яндекса (не знаю есть ли такие в Мейле), но тогда надо целиться на определенные проекты и суметь пройти собеседование соответствующей направленности.
Я не уверен, что в исследотельские подразделения вообще проводят собеседования. Там сотрудничают прямо с вузами, либо самостоятельно хедхантят -- конференции, публикации и т.д.