Quant Valerian
1.78K subscribers
115 photos
6 videos
5 files
263 links
Авторский канал Валерия Овчинникова
Размышления про менеджмент команд, людей, проектов, себя и своих денег

Рандомный винегрет из мыслей и репостов тут https://t.iss.one/quant_valerian_cooking
Download Telegram
Паттерны не нужны

Довольно часто стал встречать мнение, что паттерны ООП не нужны/вредны/устарели. Читал сейчас один заплесневелый пост Левенчука в ЖЖ, и в моей голове родилась мысль по этому поводу.
1. ООП это способ сложнее, но компактнее описывать код, чем императивный стиль (ФП ещё сложнее и ещё компактнее). В среднем это объективно так.
2. Паттерны объясняют, как пользоваться ООП, дают best practices, рассказывают, как решать конкретные проблемы. Мой любимый пример это visitor -- сложный для понимания в тексте программы, но позволяющий писать элегантный ООП со всеми вашими инкапсуляциями. Без него вообще никак. И догадаться до него самому трудно. (Где паттерны, там и строительство 🙈, простите, но кирпичная кладка это тоже паттерн и, вообще говоря, не очевидный).
3. Все последние годы мы наблюдаем всё нарастающий спрос на кодеров. Отсюда и рост цен на из работу. Отсюда все попытки упростить (магические фреймворки, которые невозможно понять, зато быстро готовить по рецептам, low code, "скриптовые" языки и т.д.). Чем проще -- тем менее квалифицированного специалиста можно нанять, тем меньше ему можно будет платить. Общий уровень программистов снижается. Мы уже давно не обсуждаем, должен ли программист знать математику (решили, что не должен).
4. Практически никто не пишет в объектном стиле. Это сложно. Это позволяет иметь меньше специалистов, но они должны быть кратно профессиональнее. С современным уровнем текучки и количеством курсов от Яндекс Практикума и ко гораздо дешевле держать побольше людей, но зато нанимать можно качеством пониже, разберутся в этой императивщине. (Теперь вспомните и посчитайте коммерчески успешные проекты, пропагандировавшие ФП). Попытки навязать "правильный" ООП маргинализуются и игнорируются (давно читали Алана Кэя?), полагаю, не по злому умыслу, а чтобы дураками себя не чувствовать, лучше умников в угол загнать ссаными тряпками.

Собираем в кучу. У нас есть толпа кодеров, бо‌льшая часть которой не способна работать в ООП парадигме здесь и сейчас (надо учиться). Но этим ребятам и без того много платят, зовут на работу, на этих работах они никогда не встречают никакого ООП. Это ли не индикаторы того, что они всё делают правильно? А дальше уже возникает ошибка общения: если это не надо мне и сотне моих друзей с реддита, то это не надо никому. А те, кто говорит, что надо -- старые пердуны и не шарят. Паттерны устарели!
А дело банально в том, что спроса на дешёвый программистский труд, где ООП _вреден_, гораздо больше, чем на дорогой, где ООП/ФП необходим. (Можете спросить в комментариях, где такой труд необходим, -- я не отвечу, без понятия, пишу императивно).
👍9
Очередной статус по моему освоению менеджмента

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

Для работы с каждым отдельным членом команды есть множество различных практик и теорий. Операционное управление, ситуационное управление, мотивационный коучинг и т.д. Сюда же у нас всякие smart'ы, мотивация по Герчикову, 1-1 и shit sandwich'и, набившие оскомину уже даже людям, далёким от управления.

По работе с командой тоже довольно много всякого придумали. Тут и фасилитация и модерация конфликтов, и работа с доверием, и всякие процессы разработки, идущие в комплекте со своими и инструментами типа velocity и capacity planning, и внедрение изменений, и работа с лидерством и лидерами, сюда же лезет найм с каким-нибудь disc'ом, и ещё куча всякого разного.

А вот про место команды в компани обсуждается редко, мало и поверхностно. Здесь бы нужно научиться работать с ценностями, понимать разницу между кроссфункциональными, функциональными командами и матричной структурой управления, знать, где твоя компания по Адизесу, какая экономика у бизнеса (кто главнее?), соображать что-то про межкомандные коммуникации, сюда же лепим истории про сбор требований, управление ожиданиям и т.д.

Очень хорошо понятно для чего нужны эти уровни. Самый высокий нужен, чтобы понимать что делать, в каком порядке, к какому времени, какими средствами (и какие мы можем получить! я так себе FTE вымаливаю) и зачем. Уровень отдельных членов команды нужен, чтобы собственно работа делалась: без колес машина не поедет. А уровень команды позволяет делать работу оптимальнее (качественнее, быстрее), планировать сроки, управлять качеством, сроками, бюджетом.

Аналогия с авто сама просилась, извините. Гонка. Команда -- это автомобиль. Нужно понимать, куда ехать, какая трасса, какие погодные условия, соперники и т.д. -- верхний уровень. Нужно управлять автомобилем (рулить, переключать передачи, жать на тормоз и газ) -- средний уровень. Нужно следить за износом покрышек, температурой двигателя и уровнем топлива и обслуживать это все вовремя -- уровень отдельных членов команды.
.____.

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

PS:
А теперь осознайте, что описанное здесь это лишь часть работы тимлида. Ещё есть проектный менеджмент, архитектура, планирование ресурсов (а не людей), ПРОГРАММИРОВАНИЕ, да и практик и даже просто _необходимых_ направлений по работе с людьми сильно больше, чем я зацепил. Интересно, короче.
👍6
Ещё я вписался тестировать симулятор тимлида Стаса Цынанова и Егора Толстого (ещё и плачу за это!), но пока ещё не притронулся. Если будут интересные идеи, буду кидать в канал свои мысли на их счёт.
Всем, кто был несогласен с моим постом про отказ от потребления СМИ, предлагаю вот ознакомиться с интересным материалом от Макса Крайнова (это бывший гендир, нынешний председатель совета директоров Aviasales):
https://www.coursenot.es/p/calling-bullshit-1?s=r&utm_campaign=post&utm_medium=email

На скринах вырезка мнения из поста Левенчука из ЖЖ: https://ailev.livejournal.com/1638928.html
👍2🔥1
Про лабораторки по физике

Как порядочный айтишник, я, конечно же, самый умный специалист по всем вопросам. В том числе по вопросам образования, очевидно. И вот я уже где-то год бухчу по поводу того, что ФИВТ МФТИ пошел на поводу у студентов и отменил физлабы. Ну ладно там физику порезали. Ладно совсем убрали. Ну лабы-то оставьте, Бозе ж ты мой, это ж святое! Во-первых, это интересно. Во-вторых, институт ФИЗИКО-технический. В-третьих, эксперименты там классические, прям вот самая суть. После этого курса уже сложно верить в (условно) плоскую Землю, ты ж проверял своими руками (а, как я писал выше, настоящий учёный может и должен подвергать сомнению (но не отрицать!) всё. утрирую).
Но бомбило меня в первую очередь не из-за этих высоких материй, конечно. Я собеседовал кучу стажеров — студентов ФИВТ. Так как не очень понятно, о чем разговаривать со стажером на финале, кроме его интересов (про которые 20% врут, 15% вообще ничего рассказать не могут, еще 50% скажет, что просто любит программировать и все, а остальные расскажут про бальные танцы), то хочется пощупать, как человек думает, как будет решать задачки. У нас же область прикладная, инженерная. Поэтому я даю задачку (в смысле problem), у которой нет теоретического решения (ну или где оно контринтуитивно, либо сильно неочевидно — это дисклеймер для душнил). В задачке нужно задизайнить простой эксперимент. Конечно, задачка с подковыркой, можно там углубляться в детали окружения, инструментов, интерпретации результатов, но от стажера я хочу просто рассуждения по сути. И практически ни один не может предложить даже _идею_ эксперимента. Виню в этом отсутствие лаб и, как следствие, культуры эксперимента (нужна ведь насмотренность).
Ну так вот. Читал сегодня Мортимера Адлера (да, уже месяца три осилить не могу), а у него там: "...он должен получить необходимый опыт сам, из первых рук. Возможно, для этого ему придется побывать в лаборатории или ознакомиться с аппаратурой, подобной той, которая описывается в книге, или отправиться в музей для наблюдения за образцами или моделями. По этой причине тот самый колледж Сент-Джон в Аннаполисе, где все студенты читают великие книги, требует от них четырех лет практической работы в лаборатории." (глава 15-5)
Аж прослезился.
7👍2🔥2👎1
Давайте рассказывайте, о чем вы стажёров спрашиваете? И как часто попадаются те, кто реально горит IT тематикой?
Извините за оффтоп, но знаю, что меня читает много выпускников МФТИ

tl;dr гугол отжал у нас место на драйве в домене физтех.еду
ноу мор халява
для студентов остается 5Гб вместе с почтой
для выпускников — 1Гб

с 1 октября
🤬15
Про повышение до уровня некомпетентности слышу в последний год регулярно. А ещё очень много теперь слушаю росказней HR о том, как устроены компенсации и повышения. Один из доселе спорных (где-то в глубине меня) тезисов: сначала сотрудник должен начать выполнять задачи на уровень выше (и справляться с ними), а потом мы сделаем ему грейдап.
С одной стороны сотрудник набрал ответственности и обязанностей на более высокий уровень, а компенсацию получает за более низкий. Это может демотивировать сначала самого сотрудника (что, мне больше всех надо что ли?), а потом, если перебродит, токсичность выльется и в коллектив (у нас в команде/компании не доплачивают, вон Васян работает больше Пети из соседнего отдела, а должность у него ниже!).
С другой стороны, если повысить преждевременно, то может получиться, что человек не справится, имеем принцип Питера. Опять же плохо: работа не делается, человек демотивирован тем, что ничего не получается. Либо сам уйдёт, либо придётся уволить, редко понизить (вспоминаем жёсткость зарплат).
Поэтому важно вовремя поймать момент, ловить баланс. Желательно объективно замерять производительность (по косвенным признакам: для разработчика это количество задач, сторипойнтов, коммитов, ПРов, комментариев, строк кода, тестов, отзывы коллег, количество переделок, добавь своё, хороших метрик все равно нет), обсуждать регулярно с сотрудником на 1-1, что он сам думает, куда двигается, чего хочет, подсвечивать высшему руководству заслуги сотрудника, идущего на повышение.
Тайминг важен. Сложно, короче.
🔥61
Achtung!
🤬10
Господин Рубцов вспоминает у себя на канале, как представители google приезжали на Физтех, раздавали адреса в домене phystech.edu и вот такое мыло. Офигенно, я считаю!
👍9
Forwarded from rbtsv_blog
2🥰1
Мой друг и бывший коллега по Райфу рассказывает про алго-трейдинг FX Spot-ом и перфомансе в торговых платформах на java (и не только). Бонус для подписчиков моего канала: можно задавать Саше вопросы в чате, он его читает.
Forwarded from javaswag
https://soundcloud.com/javaswag/e32

В 32 выпуске подкаста Javaswag поговорили с Александром Ланцовым о алготрейдинге, квант-разработчиках и Java vs C++

00:01:50 Как попал в Финтех
00:08:53 Трейдинговая платформа
00:15:18 Java vs C++, библиотека Aeron, ChronicleQueue
00:23:46 Клевые библиотеки в алготрейдинге
00:31:17 Дойч и Райф
00:37:57 Как затащить библиотеку в проект и померить количество денег
00:44:03 Про тестирование, симуляции и HDRHistorgram
00:47:07 Coordinated omission, wut?
00:51:59 Чем Джава код в трейдинге отличается от другого джава кода
00:55:28 Как померить регрессии
00:57:26 Почему протокол SBE преуспел в трейдинге?
00:59:58 Баги-баги
01:02:56 Что за лоси и что за Пи-Эн-Эл
01:06:26 Кто такой квант разработчик
01:12:09 Пригодилось ли финансовое образование
01:14:54 Финансовые модели
01:24:29 Логгинг в трейдинге
01:25:31 Планы на будущее. ГраалВМ или Джава 18

Ссылки от гостя:

Трейдинг и инвестиции с Александром Ланцовым - https://youtu.be/MU4OcFI3vok
How to design Low Latency Microservices - https://www.youtube.com/watch?v=R828U7xUggk
Микросервисы, отвечающие за несколько микросекунд — друзья и враги https://www.youtube.com/watch?v=QV-ue1YMdds
Aeron Cookbook https://aeroncookbook.com/
Центр математических финансов https://vk.com/cmf_russia
Физики и лирики в финансах https://www.youtube.com/watch?v=Hfvi17EZkvY
В зеркале супермоделей. Рассказы о моделях в финансовой экономике.
https://naukabooks.ru/knigi/katalog/v-zerkale-supermodeley-rasskazy-o-modelyakh-v-finansovoy-ekonomike-v-2-kn/
Производные Нуля: Дневник Структуратора
https://www.livelib.ru/book/1000655346-proizvodnye-nulya-dnevnik-strukturatora-vlad-goryachev

Гость - https://www.linkedin.com/in/alantsov/

Кип сейф! 🖖
👍10🤩1
Кажется, мы стали забывать о том, что канал про меня, а не про то, какой я умный. Скучали по чайной эстетике?
12🥰4🤩1
Я дочитал книгу о том, "Как читать книги. Руководство по чтению великих произведений".
Книга хорошая. Во-первых, она успокоила меня, что я читаю медленно и мало по сравнению с многими другими людьми. Во-вторых, читаю я довольно неплохо по меркам Мортимера Адлера. Но, конечно, далеко от идеала. Буду стараться.
Впрочем, я начал читать его список великих произведений с художественной литературы. Подумал, что, раз уж Сократ в текстах Платона ссылается на Илиаду и Одиссею, то неплохо бы их прочесть перед тем, как браться за Платона.
И по завету Армена Захаряна начал не с Илиады, а с Одиссеи. Сам себе препятствий создавать я не захотел, а потому выбрал перевод не Гнедича, а Вересаева. Читается легко, на одном дыхании. Это супер увлекательная книга, несмотря на то, что сюжет давно известен. Для меня в ней главным оказался не сюжет, не всякие там мифы (впрочем, очень любопытные), а те переживания, которые испытывают герои (и читающий через них). Положение Телемаха прям жёсткое, никому не пожелаешь.
Интересны и традиции греков, и хитрости Одиссея, и способы повествования: герой рассказывает свою историю, внутри которой другой герой рассказывает ему историю и т.д., практически на каждую сюжетную ветку есть отвлечение, объясняющее о чем речь. С одной стороны получается, что греки в диалогах растекаются мыслью, теряют нить, уходят далеко от темы, с другой стороны нужно понимать, что Гомер исполнял это произведение, как песнь, т.е. это не письменный памятник, а потому негде подсмотреть контекст и некуда его спрятать, кроме как в саму песнь.
Перед чтением книги, я пробежался по паре кратких содержаний. Они полностью ошибочны. Буквально по фактам расходятся. Их писал кто-то, кто, видимо, читал на древнегреческом, не зная древнегреческого. Тем не менее, рекомендую таки поискать краткое содержание перед прочтением самого произведения.
Ещё очень сильно помогло чтению знание такого факта: у Гомера героев часто зовут по отчествам. Отчества заканчиваются на -ид. Зевс Кронид/Кронион/Кронионид, Одиссей Лаэртид, Телемах Одессид 😁 (простите, не удержался). Можно даже выписать себе заранее, кто чей батя. Но в моём случае и так читалось легко.
Рекомендую.

Взялся теперь за Илиаду в переводе Гнедича. Посмотрим, что там такого страшного.
🔥12👍4👌1
Я в восторге! Это гениально.
👍16
Я решился поработать в ЦМФ в этом семестре

Из-за всей этой омерзительной возни и большой загрузки на работе, я боялся браться за проекты в ЦМФ, у меня горизонт планирования месяц. Но всё-таки решил, что так дальше жить нельзя и согласился на менее времязатратную (ИМХО) роль, чем руководитель проекта aka лектор.
В этом году выбор был офигительный. Мне персонально понравились проекты, где ребятам предлагается научиться маркет-мейкингу и даже запустить свою стратегию на реальных деньгах, на приватной платформе лектора; есть проект Ролана Гриниса про опционы на крипту; любопытный проект от парня из большой международной ММ конторы про прогнозирование ордербука; а еще пачка web3 проектов.
Я давно хотел поближе узнать мир web3, поэтому выбирал между проектами там. Колебался между арбитражером крипты и ордербуком на чейне.
Fun fact: чтобы принять решение, я созванивался с бывшим коллегой программистом и с бывшим контрагентом трейдером. Первый сказал, что не понимает, почему я сомневаюсь, ведь в моём случае очевидно интереснее делать ордер бук, там же программирование и сложно. Второй сказал, что очень удивлён, что я вообще рассматриваю какой-то ордер бук, когда есть арбитражер, мол, не ожидал от тебя, там же трейдинг и бабки. 😂
Так что пришлось решать самому.

В общем, я выбрал ордер бук и через полчаса у нас с ребятами будет первый созвон по задачкам. Надеюсь, что не подведу их.
👍181