softmax: AI/IT in London
285 subscribers
1 photo
2 videos
6 links
Я Макс, ML/AI инженер в Isomorphic Labs 🧬 | Spotify 🎧. Недавно переехал в Лондон из Мюнхена

Здесь про:
- будни в ML и AI
- поиск работы и иммиграцию
- путешествия и прочее смежное

Disclaimer: all views are my own. Only publicly available information.
Download Telegram
Гейткипинг в IT ⛔️

Я тут вспомнил, как почти год назад проходил интервью Meta на Staff MLE, и решил вам поныть про гейткипинг.

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

В Meta на Staff MLE процесс довольно типичный. Не считая первого созвона с рекрутером, всего 5 раундов: 3 раунда LeetCode по две медиум-задачи каждый раунд и 2 раунда ML-дизайна. Для Staff-позиции дизайн-интервью включают секцию с 2 вопросами о leadership and cross-functional collaboration (xfn) и непосредственно сам систем-дизайн.

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

Рекрутер начала с того, что у меня очень сильные кодинг-интервью, но вот по дизайну и leadership and xfn фидбэк смешанный. Я был немного удивлен и приготовился внимательно слушать. Начала она с того, что первый интервьюер сказал, что я не показал «достаточную глубину». Хорошо, что разговор был по телефону, потому что мое лицо выглядело примерно так: 🤨. Для контекста: на этом интервью я в Excalidraw писал формулы cross entropy, потому что интервьюер делал вид, что он «не понимает», что я имею в виду под multi-label и multiclass cross entropy. Это я собственно и обрисовал рекрутеру и вполне серьезно спросил: «Какой же глубины тогда искал интервьюер?» На что рекрутер начала отвечать что-то не особо внятное и даже немного забавное в стиле: «Ну нет, проблема как бы не в том, что у вас нет достаточной глубины знаний… а в том, что вы как бы сами не спустились на эту глубину, а интервьюеру нужно было вас туда за руку отвести». Я, как пел классик, «потихоньку начинаю въезжать…»

Ну ладно, думаю я, давайте послушаем, что там было не так со вторым дизайн-интервью. «Во втором интервью, — начала рекрутер, — дизайн и техсторона были очень сильными, но вот с leadership и xfn немного есть проблемы». Сижу молча, жду деталей. «Главная проблема в том, что вы совсем не продемонстрировали, как вы менторите джуниор-коллег…» 🫤 Опять — спасибо огромное, что разговор по телефону, потому что моя кабина держать pokerface была уже не в состоянии. Дело в том, что на этом интервью у меня спросили два вопроса: как я доношу информацию нетехническим стейкхолдерам и как я приоритизирую задачи в роадмапе. Нужно ли мне было начинать каждое интервью с «Здравствуйте, меня зовут Макс, и я отлично менторю джуниор-коллег», я у рекрутера решил уже не спрашивать 😅

По итогу предложение Меты было: «Мы принимаем тебя в совет, но не даем звание магистра». То есть мне дали оффер на Senior, который я вежливо не принял.

Еще хотел бы пояснить: в Meta работает огромное количество выдающихся инженеров, и планка действительно высокая. Я не считаю себя «top of the pack» и обычно спокойно принимаю негативный фидбэк, пытаясь извлечь из него наиболее конструктивные экшн-поинты. Но в данном конкретном случае меня не покидает ощущение, что вначале было принято решение задаунгрейдить меня до Senior, а потом уже фидбэк зарэтрофитили, чтобы «история сошлась». Поэтому я и назвал это гейткипингом.

Были ли у вас ситуации, где вы чувствовали, что вас откровенно гейткипят? Пишите в комментах — выговариваться помогает 😀

#карьера@softmaxFn
😱76
softmax: AI/IT in London pinned «Кто такие ML/AI инженеры и чем они вообще занимаются 🧑‍💻🤖 Из моих наблюдений за 7 лет, всех людей, работающих над ML, в зависимости от их фокуса, можно условно разместить внутри треугольника с вершинами: Research, Software Engineering, Data. ➜ Люди, которые…»
Vacation time 🛫🏔️🏂

Одна из лучших инвестиций за мои 10 лет в Германии — это то, что живя рядом с горами я научился кататься на борде. Несмотря на хронически отбитый зад, горный отпуск зимой я жду уже начиная с лета.

У меня есть к вам вопрос — кому-нибудь тут будут интересны периодические посты про сноубординг, горы, путешествия в целом:

👍 - да, почему бы и нет
👎 - нет, спасибо, мамкин трэвел-блогер.

Вы катаетесь на доске/лыжах? Любите горы зимой? Хотите попробовать? Пишите в комментах.

#путешествия@softmaxFn
👍203
LeetCode rollercoaster 🎢

Сидел тут, вспоминал про то, как первый раз решил податься в «бигтех» и про сопутствующий этому LeetCode-грайнд, и решил написать пару своих смешных наблюдений.

Я надеюсь, все понимают: LeetCode (LC) не определяет ни ваш интеллект, ни ваш скилл как девелопера. С LeetCode страглят все. Даже топ-талантам в индустрии он не дается легко. Это классическая numbers game — то, насколько ты хорош, определяется только тем, сколько ты практиковался. Поэтому LeetCode — это как инвестиции: тут главное не интеллект, а дисциплина и mental resilience. Главное — не сдаваться, верить в результат и прилежно грайндить.

За несколько своих LeetCode «кампаний» и из опыта друзей, которым я помогал, я понял, что весь путь до заветных 100 задач можно разделить на 3 сегмента. И самое интересное, что самый тяжелый — это не первый.

Если вы никогда не гриндили LC, первые 20–30 задач даются для менталки не так уж тяжело. Это такой себе honeymoon период. Вы всё еще в beginner mode, не требуете от себя многого, все задачи еще кажутся довольно новыми, и вы сосредоточены на усвоении знаний, а не на результате.

По моим ощущениям, 30–70 задач — вот это где начинается трэш и настоящее испытание вашей мотивации. Я называю его «Долина Сомнений». Именно тут начинаются ситуации, где вы уже вроде как видели похожие задачи, но всё еще страглите с каждой второй. Именно тут начинают в голову лезть мысли: «Я тупой. Это не для меня. Какой вообще в этом смысл? Каков смысл в моей жизни?» и т. д. Тут главное помнить, что так у всех! Не зацикливаться на том, что даже похожие задачи не решаются, не тратить время на overanalyzing каждой не получившейся. Нужно просто пушить вперед: step by step, task by task.

70–100 задач — это отрезок «просветления». Вы начинаете видеть паттерны, вы набили руку на базовых алгоритмах и можете на автомате закодить структуру BFS/DFS, а потом адаптировать ее под конкретную задачу. Где-то в этом периоде, как говорил один мудрый человек, вам «этот мир стал абсолютно понятен» 😅.

Из моего опыта, после 100 задач начинается diminishing returns. Из каждого потраченного часа пользы выходит всё меньше. На этом этапе я бы уже советовал фокусироваться больше на других факторах, усложняющих настоящее интервью: стресс и общение с реальным человеком. Больше всего с этим помогают, конечно, мок-интервью.

Дисклеймер: если вы сомневаетесь, стоит ли грайндить LeetCode или нет, пожалуйста, не воспринимайте этот пост как аргумент «за!». Я заметил, что по индустрии структура тех-интервью начинает потихоньку меняться. И хоть для бигтех-интервью процесс всё еще включает LC в 99% случаев, в будущем (возможно, недалеком) этот скилл, вполне вероятно, может стать менее ценным. Стоит ли инвестировать в него время — это только ваше решение.


А вы грайндили LeetCode? Какие стратегии вам помогают?

#карьера@softmaxFn
👍125
This media is not supported in your browser
VIEW IN TELEGRAM
Полезные советы от сезонного сноубордиста. Часть 1: Даты 🗓️

Если собираетесь кататься на доске или лыжах в Австрии или Швейцарии — запомните эти даты: 12–20 февраля. В этот период жители южной Германии и половины Нидерландов совершают свое ежегодное паломничество в Альпы. Причина — удлиненные выходные после праздника Fasching и последующие зимние школьные каникулы.

За ночь с 11 на 12 количество людей на больших курортах увеличивается в ~5 раз, а очереди на подъемниках — раз в 10. Условия на трассах ухудшаются в соответствующих пропорциях. Еще до обеда уже можно встретить метровые бампы и снег разбитый в «жидкий лед», предлагаемый в барах как освежительный напиток 🥃.

#путешествия@softmaxFn
4👀2❤‍🔥1🥰1😨1
🧑‍💻 Тейк-хоум задачи в интервью процессах

Я заметил, что в Лондоне довольно много IT-компаний — от стартапов до крупных банков — вместо LeetCode-раунда дают задачу «на дом» с последующим ее обсуждением.

Задачи довольно сильно варьируются по интересности и сложности.
Чаще всего дают темплейт простого CRUD-сервиса, где нужно заимплементить недостающие эндпоинты. Но встречаются и довольно интересные таски — например, где нужно писать эффективный процессинг большого датасета (что-то вроде One Billion Rows Challenge, только проще и меньше 😅).

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

#карьера@softmaxFn
🌿 Sapling (часть 1)

Я стараюсь периодически пробовать разные новые тулзы для development workflow, чтобы не давать мозгу ссохнуться и, может, попутно даже немного повысить продуктивность. На этой неделе я тестил Sapling — альтернативную систему контроля сорс кода от Меты, которая совместима и может работать поверх гита.

Начнем с плюсов: Главный сэллинг-поинт Sapling — это упрощение работы со stacked PRs. У меня есть две любимые фичи. Первая — это то, что он по дефолту переносит весь твой стэк во время ребейса. В ванильном гите (до версии 2.38), если у тебя есть две ветки, одна поверх другой, и ты хочешь все перенести на новый main, тебе нужно было делать два ребейса: сначала нижнюю ветку на main, потом верхнюю на новую нижнюю. В Sapling это одна команда.

P.S. Как оказалось, в новых версиях Гита это тоже можно делать с флагом --update-refs при ребейсе 🤦‍♂️. Вот как иногда полезно писать в ТГ-канал, без этого и дальше бы ребейсил мануально, как бумер.

Вторая power-фича Sapling — это его «волшебная» команда absorb. Представьте: стандартная ситуация — вы открыли stacked PR и получили реквесты на изменения к каждому. Тут начинается большой головняк. Вам нужно зачекаутить нижнюю ветку, залить туда изменения, потом зачекаутить верхнюю, залить изменения в нее, заребейсить на нижнюю с последующим форс-пушем (и боже упаси, если еще и веток больше чем две). Sapling пытается вас избавить от этой участи. Вы можете написать все свои изменения в верхней ветке и потом выполнить волшебную команду sl absorb. Sapling постарается распределить все ваши изменения по нужным веткам сам. После этого одной командой sl pr submit вы сможете заапдейтить все свои PR (Sapling выполнит все форс-пуши за вас).

Когда это работает out of the box, ощущается как магия. Но ключевое слово здесь — «когда» 😀. Про это и другие минусы — в следующем посте.

А что вы юзаете для source code control?

#тех@softmaxFn
3👍1
[🦾 Люди в МЛ] Андрей Карпатый

Я решил периодически постить тут про людей из МЛ, на которых я подписан и за которыми слежу. Начну я с, возможно, довольно очевидных — так что пишите в комментах, если вы о них уже знаете (чтоб я мог «откалибровать» следующие посты).

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

Его курс по Convolutional Neural Networks и в особенности визуализатор операций из этого поста: — это, по сути, то, почему я когда-то смог сдать экзамен по ML в университете 😅

Материалов у Карпатого хватит на полный семестр университета, но особенно хотел выделить вот эти:

Autograd Engine с нуля на питоне: Отличный первый шаг для софтвер-инженеров, которые хотят мигрировать в МЛ. Напишите самую основополагающую технологию с нуля и выучите базовые вещи «by doing».

llm.c: имплементация GPT-2 на C и CUDA. Идеально подойдет даже для опытных ML-специалистов, которые всегда хотели глянуть, что же там происходит под капотом питоновских библиотек.

Zero to Hero плей-лист на Ютубе: Идеальное место, чтоб начать учить МЛ, работая над интересными мини-проектами.

Дайте знать если было полезно 🙌

#полезные_ссылки@softmaxFn
🔥172👍2
Большой бенефит ведения ТГ-канала (особенно для таких клинических интровертов, как я) — это то, что ты знакомишься с крутыми, талантливыми и интересными людьми.

Владимир работает над PhD в Computational Biology. Его канал «Человек Наук» — это невероятно занимательный casual read для всех, кто хочет расширить кругозор и быть в курсе последних событий на пересечении биологии, Computer Science и ML. Даже если вам кажется, что вы «далеки от науки», я вам крайне советую добавить его в вашу медиадиету!

Человек наук – это канал о красоте окружающего мира глазами учёного. Здесь вы узнаете:

🗺 Почему последней мечтой знаменитого физика Ричарда Фейнмана было отправиться в Туву любой ценой

🍉 Почему не стоит покупать многомерные арбузы

🍣 Математика программ лояльности: как надолго привязать голодных студентов к доставке роллов, чтобы они ещё и остались довольны

👾 Смешные и страшные истории из мира науки, а также шокирующая обыденность жизни учёных

📊 Как стоит и не стоит визуализировать данные

✉️ А также авторское исследование о том, как лучше писать письма для стажировок или PhD

Подписывайтесь!

#полезные_ссылки@softmaxFn
👍54
Горы шуток не любят (но шницель важнее 🍗)

В предыдущем посте я упомянул, как важно правильно выбрать время, когда ехать в отпуск в горы. Но выбрать время, когда на эти самые горы собственно лезть (а точнее — не лезть), еще важнее. В общем, есть у меня очень веселая поучительная история 😅

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

До обеда все шло хорошо 😅, настолько хорошо, что мы увлеклись и решили пообедать в хютте на вершине горы — rookie mistake! Заходили в ресторан мы по хорошей погоде, но не успели мы еще сделать заказ, как картина за окном резко поменялась. Конкретно — лыжи, «припаркованные» снаружи, начали падать и ездить по склону без райдеров 😆.

Дальше прям сцена из фильма Тарантино: мы сидим уминаем шницели, к нам подходит член горной спасательной бригады в полном обмундировании и с сосульками под носом, садится рядом, вздыхает и медленно говорит с очень жестким австрийским акцентом: «Постарайтесь насладиться едой, а то кто знает… Но особо не затягивайте». В общем, огромное спасибо этому человеку — он реально добавил колорита в это повествование! Но нас особо это предупреждение не испугало, мы лыжники и бордеры бывалые. Кто-то из нашей группы даже хотел заказать еще кофе, но официанты покрутили нам пальцем у виска и сказали ваксить оттуда поскорее лыжи ⛷️.

Доели, собрались, вышли на улицу. Условия, конечно, мягко говоря, нелетные. Видимость — на вытянутую руку. Сильный ветер обжигает лицо и дезориентирует. Снег под бордом метет с такой силой, что невозможно понять, стоишь ты на месте или движешься, и если движешься — непонятно, на каком канте. Но, в принципе, медленно, кучной группой спускаться можно — тем более нам это не впервой. Мы уже один раз попадали в шторм посреди горы. Тогда, правда, у одного из нашей группы случилась паническая атака, и я на полном серьезе думал, что 1 из 12 — это приемлемые потери 😅.

В этот раз не повезло мне. Из-за ветра и снега, который под бордом живет своей жизнью, я не заметил, как выскочил на участок льда, поскользнулся на переднем канте и получил от льда прямой в табло. В результате — разбитый нос и отбитые ребра. Но закончилось все хорошо. Я покорчился немного на снегу, восстанавливая дыхание под шутки друзей, встал и медленно покатил дальше в долину рассказывать всем, что это не skill issue, а банальное невезение.

В общем, может, очевидные истины, но тем не менее: в горах следите за прогнозом погоды и оставляйте буфер времени, потому что прогноз, как водится, бывает неточным.

#путешествия@softmaxFn
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5😱1
🤖 Где работать над МЛ в Германии и Европе

За 10 лет в Германии я несколько раз искал работу на позицию ML-инженера. Хочу поделиться списком компаний, которые я рассматривал, вдруг кому-нибудь будет полезно.

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

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

🔹 Meta
За 3 цикла интервью с ними (последний в 2025) никогда не было открытых или планируемых МЛ / SDE позиций в Германии. Ближайшие варианты были в Цюрихе — там у них базируется несколько команд из Reality Labs, работают над аугментированной реальностью и «Метаверсом». Сайдноут про Цюрих: из-за ужесточившихся правил иммиграции в Швейцарию ни одна компания, с которой я общался, не перевозит туда сотрудников, если у них нет гражданства ЕС. Второй вариант — это Лондон. Здесь у Меты несколько больших офисов и огромное количество МЛ-позиций в Ads / Monetization организациях.

🔹 Netflix
Тут еще более сложно, чем с Метой. Из моих разговоров с их рекрутерами я понял, что есть пара инженерных команд в Нидерландах и Польше, где периодически появляются позиции Data Science, но, по моим впечатлениям, Netflix не имеет большого инженерного футпринта в Европе и вроде как не собирается это менять.

🔹 Apple
Первая компания из MANGA, у которой иногда появляются МЛ-позиции в Германии. У Apple есть относительно большой (по немецким меркам) офис в Мюнхене. Я проходил интервью в далеком 2021 году в команду, которая занималась компьютер вижн моделями “on the edge” — то есть инференс ранался на девайсе юзера. Фокус команды был больше на low-level оптимизации инференса. Реквайрменты и интервью-процесс были соответствующими. Из того, что я вижу сейчас, фокус команд и позиций в Мюнхене все еще вращается вокруг low-level оптимизаций и инфраструктуры. Правда, сегодня есть еще пара открытых МЛ-позиций для audio and speech processing на севере Германии.

🔹 Google
У Гугла есть довольно большой офис в Мюнхене. Насколько я знаю, там базируется довольно много ML/Cloud Solution архитекторов. Это специалисты, которые помогают корпоративным клиентам билдить их софтвэр-системы, используя сервисы и решения — “you guessed it” — Google Cloud. То есть, по моему впечатлению, это такой себе внутренний IT/ML-консалтинг Гугла. Еще в Мюнхене базируется Intrinsic, один из Alphabet bets, который работает над роботикс. Alphabet bets — это либо отдельные компании, где Гугл является самым большим инвестором, либо дочерние компании. Другие популярные примеры бэтс — это Waymo и Isomorphic Labs.

🔹 Amazon
Это, пожалуй, лидер по количеству офисов, МЛ-команд и позиций. В Амазоне, не уезжая из Германии, можно работать над МЛ в таких организациях, как Alexa, Amazon Music, Amazon Robotics и AWS. Офисы разбросаны по всей Германии: Берлин, Мюнхен, Аахен, Тюбинген (это вообще очень интересное место, где довольно маленькая ресерч-команда работает над foundational LLMs). Правда, из того, что я слышал, случается так, что, несмотря на большое количество инженеров в Германии, многие команды в Амазоне находятся больше на “receiving end” и не особо контролируют свои таймлайны и приоритеты.

Ставьте 👍 если было полезно и хотите продолжения.

#карьера@softmaxFn
👍215🔥5
softmax: AI/IT in London pinned «🤖 Где работать над МЛ в Германии и Европе За 10 лет в Германии я несколько раз искал работу на позицию ML-инженера. Хочу поделиться списком компаний, которые я рассматривал, вдруг кому-нибудь будет полезно. Я буду больше фокусироваться на том, какие у компании…»
softmax: AI/IT in London
🌿 Sapling (часть 1) Я стараюсь периодически пробовать разные новые тулзы для development workflow, чтобы не давать мозгу ссохнуться и, может, попутно даже немного повысить продуктивность. На этой неделе я тестил Sapling — альтернативную систему контроля сорс…
🌿 Sapling (часть 2)

В первой части писал о бенефитах и достоинства Sapling. Здесь будет про недостатки :)

Sapling и Гит фундаментально расходятся в некоторых взглядах. В Гите PR может состоять из нескольких коммитов, в Sapling же философия «1 коммит = 1 PR».

Из-за этого вылезает несколько довольно раздражающих вещей. Например, если вы по старой привычке создали локально несколько коммитов, когда работали над каким-то сложным таском (чтобы иметь возможность легко ревертить изменения), sl pr submit создаст PR для каждого коммита, и они все будут застаканы! Если вы сами хотите решить, как агрегировать коммиты в PR, вам нужно будет прыгать по стеку и сквошить их в один с помощью sl fold.

Конечно, валидный аргумент — что, мол, нужно просто немного перестроиться, и, в принципе, это хорошая практика — коммитить только атомарные PR-ready изменения. Но когда работаешь в код-бейсе с очень тяжелым и opinionated CI, с кучей тестов, линтеров и стайлеров, тратить время на то, чтобы делать каждый коммит (который ты через 30 минут можешь потенциально ревертнуть) PR-ready — это довольно спорный инвестмент.

Еще одна проблема этого расхождения во взглядах — это то, что единственная возможность для Sapling интегрироваться с Гитом — это постоянно делать форс-пуш. Поэтому будьте готовы, что для ревьюеров, которые не знакомы с Sapling, ваш PR-таймлайн будет выглядеть так, как будто вы полный психопат 😅.

Второе важное отличие — это то, что у Sapling нет non-staged изменений. Все изменения по дефолту сразу стейджатся для следующего коммита. Из-за этого, в то время как Гит позволяет вам во многих случаях довольно легко прыгать с ветки на ветку с «висящими» изменениями, Sapling будет каждый раз «массажировать» вам мозг, чтобы вы сделали shelve/unshelve.

Ну и последнее: когда волшебные команды absorb и pr submit (описанные в предыдущем посте) работают — это магия 🪄, но когда что-то ломается — «you’re in for a bumpy ride». Не всегда у Sapling получается разбить ваши изменения по правильным коммитам и правильно заапдейтить PR. И если вы это заметили не сразу — то проблемы вам обеспечены. У меня была уже пара ситуаций, где Sapling очень по-дурацки разделил изменения: в одном PR он, например, оставил дефинишн переменной, а во втором — ее использование 🤦‍♂️. В результате оба PR фейлят CI: один из-за non-defined variable, другой из-за линтера, ругающегося на unused variable 😅. Из-за того, что я заметил это не сразу и уже сделал довольно много других изменений, я не смог отделаться быстрым sl undo. Для меня все превратилось в ~час прыгания по веткам, как Тарзан, и удаления поломанных коммитов.

В общем, как-то так. Я еще поиграюсь немного с Sapling, но, мне кажется, на лонг-ран (лично для меня) оно того не стоит. Sapling изначально сделан для Mercurial (который юзает Мета), а к Гиту он (несмотря на все старания разработчиков) прикручен довольно кривыми болтами. Я еще хочу обязательно поэкспериментировать с Jujutsu, который многие тоже очень хвалят.

А что вы юзаете для source control?

#тех@softmaxFn
2👍1
🦾 (Люди в МЛ) Яник Килхер

Продолжаем серию «люди в мл».. Яник Килхер — МЛ ресерчер и инженер из Цюриха.

Яник ведет ютуб канал на котором он делает глубокие и детальные разборы научных статей. Эти разборы мне очень в свое время помогали аплевелиться, так как чтение статей — это, честно говоря, не самая моя сильная сторона.

Из моих любимых разборов статей:

🔹V-JEPA - тип моделей активно продвигаемая Yann LeCun как "реальный" путь к AGI.

🔹Mamba - когда-то многообещающая более компьют эффективная альтернатива трансформерам.

🔹GroupNorm - очень классный разбор с иллюстрацией всех популярных типов нормализаций.

Еще у Яника отличное чувство юмора, которым он часто разбавляет довольно сложный материал, аккурат когда крыша начинает потихоньку ехать от перегруза. А с познаниями Яника в МЛ могут сравниться разве что его знания мемов о науке и IT 😀. Серия ML News на Ютубе — это был идеальный пример этого самого юмора в высокой концентрации. Серию Яник, к сожалению, забросил, но надеюсь, случится чудо, и он в один прекрасный день решит ее воскресить 🤞

Так же Яник админит дискорд сервер где другие любители МЛ обсуждают последние публикации из академии, проекты и многое другое.

#полезные_ссылки@softmaxFn
🔥7
🤖 Где работать над МЛ в Германии и Европе [ресерч]

В прошлом посту было саммари того, над чем можно работать МЛ-инженеру в БигТехе, но что если вы хотите больше фокусироваться на ресерче, особенно на больших базовых моделях? Германия — это, понятное дело, не Кремниевая долина, но и тут есть пара интересных компаний.

🔹Black Forest Labs
Выходцы из когда-то знаменитого Stability AI психанули и основали лабу в своем университетском городе — Фрайбурге, и выкатили Flux, фронтирную флоу-мэтч модель для генерации изображений. Дальше — больше: Flux это опенсорс-модель с открытыми весами. Так что если вы хотите работать над cutting-edge имидж-ген моделями и зарабатывать дополнительные очки кармы за вклад в развитие открытого МЛ, очень советую заглянуть к ним на страницу. Они сейчас вроде как раз расширяются.

🔹Aleph Alpha
Это чуть более интересный зверь. Они билдят фронтирные (но специализированные) LLM для немецкого и европейского рынков с фокусом на responsibility и секьюрити. Бизнес-кейс, конечно, может быть немного спорным, НО людей они смогли нанять просто выдающихся! Ясер Джадиди ко-возглавляет в Aleph Alpha ресерч. Ясер когда-то был главой моего департамента в Bosch, и это один из лучших лидеров и менеджеров, с которыми мне доводилось работать. Еще синьор-ресерч-саентистом там работает Феликс Беркенкамп — также мой тиммейт и ментор из Bosch, самый сильный специалист в RL из всех, кого я лично знаю.

🔹Bosch Center for AI
Ок, это небольшой тизер с моей стороны 😀. Про это место я, если вам интересно, могу написать отдельный пост. Как-никак я провел там первые 3 года своей карьеры и написал магистерский тезис.

Какие еще индустриальные лабы вы знаете в Германии? Пишите в комментах.

#карьера@softmaxFn
10
‼️ Довольно “late to the party”, но если вы вдруг еще не видели у нас тут разворачивается одна из самых больших supply chain атак. Герой истории — питоновский пакeт litellm. Если вам не повезло и вы запулили скомпроментированную версию 1.82.7/8 в свой пайтон энв (напрямую, или как 3ий депенденси одного из ваших пакетов), достаточно просто запустить интерпретатор (даже не нужно импортировать litellm) чтоб malware выгрузило с вашей машины все ценности: токены, ключи, пароли, а попутно может еще и переписало на себя вашу квартиру. В общем, если вы работаете с питоном и когда-либо слышали название этого пакета, советую сделать rotation всех токенов 😅

Thread на Х
Видео от Primagen

#тех@softmaxFn
Please open Telegram to view this post
VIEW IN TELEGRAM
😱53
📝 Раздражающие формальности работы в ЮК

Если вы переехали в ЮК из Европы, есть вероятность, что вы (как и я) немного охренеете от формальностей, сопутствующих трудоустройству и заключению рабочего контракта, а про некоторые вещи вообще захочется спросить — «как это вообще легально?»

Нон-компит параграф

Наличие нон-компит условий в трудовых контрактах в ЮК — это, оказывается, стандартная практика. Согласно этим условиям вам запрещено какое-то время работать на «конкурентов». При этом определение конкурентов обычно ну очень расплывчатое. Срок обычно варьируется между 3 месяцами и годом.

Для сравнения, я за 10 лет в Германии ни разу не видел сам и не слышал от знакомых о таких условиях. Это при том, что я работал в ресерч-департаменте Боша, который даже многие немцы считают чересчур «протектив», когда дело касается интеллектуальной собственности. Я даже не поленился и загуглил, легально ли это в Германии. Ответ: легально, но настолько строго регулируется, что 99.9% компаний с этим не заморачиваются. Например, компания обязана платить минимум 50% зп сотрудников в течение всего нон-компит периода.

В ЮК почти все контракты для всех профессий будут включать такой параграф. При этом, когда начинаешь гуглить, всплывает, что большинство этих параграфов нелегитимно в глазах судов в ЮК. Если дело действительно дойдет до разбирательства в суде, судья почти гарантированно встанет на сторону сотрудника (not a legal advice btw). Это также хорошо видно по профайлам в LinkedIn — люди прыгают между компаниями-конкурентами без всяких гэпов в 3-9 месяцев.

По итогу, как мне кажется, это делается только для того, чтоб дать больше negotiating power компании и вашему менеджеру во время того самого «неудобного» разговора, когда вы заявляете, что вас все окончательно задрало и вы уходите.

А у вас когда-нибудь был нон-компит параграф в
контракте? Как прошло расставание с компанией в этом случае? Ну и в общем, что вы думаете по поводу этой практики?

#карьера@softmaxFn
#жизнь_юк@softmaxFn
4💔3😨3