Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
930 links
ЛаМПовое с Бобровским
Download Telegram
...А программисты сегодня избалованы, любят эксклюзивное внимание и почитание от начальников и всяческие ништяки вроде бесплатных печенек и спортзалов. Совершенно не сравнима обстановка в госконторах с движухой в Иннополисе или Сколоково например, да и с любым технопарком.

Минимальное тактическое решение, думаю, это позволять работать из дома на удалёнке (я когда-то в 80-х в почтовом ящике со вторым допуском так работал на дому :), но из-за NDA, понятно, в 80% это нереально.

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

Это общемировая проблема, в США то же самое, читаю регулярно, как в топовых компаниях ВПК вроде Lockheed Martin и Raytheon не могут найти программистов, работают в основном деды (под руководством ничего не понимающих в теме отставников, пристроенных в тёпленькие местечки благодаря тому, что в своё время помогали этим самым компаниям оформлять крупные оборонные заказы :).
🤔10💯3🏆2🫡2
Пишет курсант Кирилл :)

"...при вызове git status всегда подсвечивались Untracked files из родителя, выделенные красным шрифтом, которые мешали чтению ответов в консоли. И я конечно же нагуглил решение, которое удаляло эти Untracked files, но к несчастью, не так как я планировал. Думал, что они удалятся из неотслеживаемых, а они удалились физически

Из этого урока я вынес 2 основных правила. Первое золотое, о котором Вы совсем недавно рассказывали в курсе — сохраняться каждый божий день на флешку или в облаке. Ну и второе — внимательно изучать команды рекомендуемые другими людьми при работе с git"


На курсах рекомендую, ну и всем напомню, как минимум поиграйте в git-игру => learngitbranching.js.org
😁20👍43🫡2
Статья нашего курсанта Алексея на хабре
"Алгебра совокупностей Брусенцова и не только"
(поставьте плюсики, кто там тусуется)

Хабр я прекратил читать из-за наплыва в последние годы токсичных комментаторов, которым только бы поумничать, начинают цепляться к каждой фразе. Два вида хабра-глупцов: одни любят писать генерализованные троллинги в духе "статья ни о чем", а другие наоборот, начинают вырывать из контекста по одной фразе, и писать к ней свои длинные рассуждения.

И у себя в паблике я давно закрыл комментарии, потому то кто пишет комменты, это практически 100% бездельники, которые на моих курсах не занимаются. Зачем мне на них время тратить? Им заняться нечем, вот и сидят на подобных форумах.

В тему, из отчёта курсанта Андрея:

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

В матрице компетенций программиста кстати я даю отдельный трек, вариант как изучать математику кому интересно.
🫡156🔥2
Как думаете, когда наконец и богатенькая профессия программиста тоже обесценится через искусственный интеллект (как многие завистливо ожидают :)?
Сейчас активно ведётся работа над точечным обучением LLM-ок программированию, в следующем году появятся.
Anonymous Poll
9%
1-2 года
23%
3-5 лет
20%
5-10 лет
10%
10-20 лет
11%
20+ лет
26%
AI никогда не превзойдёт человечий умишко )
Хороший код совсем не похож на код.
5🤔5🔥4
Поучительный пример с Сэмом Альтманом, которого выгнали с работы за 15 минут буквально ни за что ("Не веди мне перепиаренных людей").
Причины разные называют, почему именно сейчас? А я говорил 3 дня назад: политики сделали из него "ритуальную жертву".

Резюме в том, что вы можете быть сколь угодно крутым спецом -- и вас могут вытурить на улицу за одну минуту.
💯26
В продолжение вчерашней темы, насколько всё может быть шатко (на самом деле, в жизни всё всегда шатко), пишет девушка, у меня раньше занималась:

"...(мой среднемесячный заработок около 560т.р. - это оклад + премия(годовая, если ее размазать по месяцам)), а вот в своих навыках в IT за время работы на текущем месте я стала сильно сомневаться (потому что это работа аналитиком данных и заключается она в клепании отчетов в excel).
Я прошу у Вас экспертной помощи есть ли у Вас продукт/курс, который мог бы помочь мне разобраться в текущей ситуации и найти себе снова место в IT, на котором я могла бы продолжать получать соразмерный доход и заниматься тем, чему я учусь последние годы (на Ваших и других курсах - программирование на python, Data Science, аналитика. Вероятно с управленческой функцией)."

Насколько помню, из действующих курсантов у меня сейчас, кто в России, в Москве ребята пытаются схантиться на 300k/s 450 максимум. Вполне реально, но для этого нужны а) сильные софт-скиллы и б) сильные рабочие скиллы скиллы прохождения собеседований по программированию.

Очень частая в этом ошибка, что люди начинают метаться, когда уже слишком поздно. Увы, так это не работает. Эти оба пункта надо развивать регулярно (многие месяцы) и шлифовать вдолгую (всю жизнь), для чего вам в помощь мои курсы карьеры и переговоров по зарплате + моя разумная помощь. Ну и помощь любых других менторов, кого найдёте подходящего, тоже всегда приветствую.

"на python, Data Science, аналитика", ну наверное на 100т можно, и то если постараться, если не было профильного опыта. Но представляете, падать в деньгах в 5 раз? Ничего в такой ситуации к сожалению, чтобы "продолжать получать соразмерный доход" не могу посоветовать. Если ещё есть запас хорошей кармы, может и получится снова найти подобный уровень дохода, но опять-таки, случайно...

В этом опасность больших зарплат, когда они совсем не соответствуют вашим скиллам: они, как сладкоголосые сирены, затягивают вас в карьерный тупик. Потому что если бы зп 500+ соответствовала вашим скиллам, то вы бы без проблем быстро нашли новую работу. Пусть не на 550, но на 400+ точно. Так что всегда лучше ориентироваться на свой профессиональный уровень и постоянно тянуть его вверх.

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

Например, сейчас 100т для джуна с опытом хотя бы полгода это вообще уже ни о чём. Но с другой стороны, попробуйте войти в джуны с улицы, нереально. И таких перекосов и парадоксов полно на всех этапах карьеры.

P.S. Не то чтобы я вам говорил "не идти на 500 если у вас сейчас 200" )))
Идите конечно, просто имейте в виду, что такое счастье абсолютно точно продлится недолго, и будьте морально готовы потом прилично откатиться назад. Будут ли стоить эти случайные деньги++ потери в вашем профессиональном уровне? Думайте об этом стратегически.
👍12🤯10🫡64💯1
Найдена ошибка в реализации? Нет проблем, "горячий фикс" для соответствующей функции в ближайшем релизе!

Ну разве эта "методика" разработки, даже с точки зрения простого здравого смысла, имеет право на существование?

Однако таков весь мэйнстрим 100%.

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

Это бесконечное колесо программистской сансары, вырваться из которого можно лишь с помощью святых computer science :)
17🤯3🫡3😁21
"Получил 2 оффера. Оба раза делал одну и ту же ошибку - отвечал на вопрос рекрутёра о сумме заранее (сумму называл всегда одну и ту же). При получении 1 оффера прямо внаглую сказал, что для комфорта накиньте мне 20 сверху. Согласились сразу. При получении второго, сказал, что у меня уже есть один оффер, и там оклад больше. В результате 2 оффер подумал и накинул сверху 30. Пишу в 1 оффер и говорю, что получил 2 оффер, и они сделали неплохое предложение по ЗП. В 1 оффере сказали, ничего не знаем, иди к нам, и накинули прямо жирно, что у меня язык бы не повернулся просить. Иду ко 2 офферу и говорю: простите, но меня всё-таки перекупили. Во 2 оффере сказали, что действительно не могут столько накинуть, но всё равно хотели уболтать, что у них есть жирный годовой бонус. Не повёлся.. Всё равно чуть меньше в сумме выходит.

Чувствую себя каким-то шулером-напёрсточником😐 Шёл на мидла."

Ну это просто верный признак, что вам готовы были везде исходно дать больше. Думаю, и второй оффер тоже смогли бы додавить, а в первом, раз +20 сразу дали, наверняка вы всё равно продешевили :)
Лучше всегда базовая зп конечно.

Подробно разбираем эти схемы со скриптами на треке бесстрашных переговоров о зарплате, потому что 90% себя недооценивают (в самых разных контекстах).
👏25😁10👍3🔥2🫡2
Есть такой закон Хайрума, который гласит, что при достаточно большом количестве потребителей, на каждое наблюдаемое поведение системы найдётся потребитель, который зависит от этого поведения.

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

Крайне показательный пример сегодня с OpenAI, который с вчерашнего дня лежит в ряде европейских стран (как минимум), а сколько десятков (если не сотен) тысяч стартапов на него завязаны?

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

А вот компания, где вы были ведущий разработчик, которая выгнала вас по политическим причинам, фактически просто стреляет себе в ногу. OpenAI начал разваливаться быстрее чем через неделю :)

Не знаю, как поступит Сэм -- вернётся или нет, я рекомендую обратно не возвращаться (потому что в 90% кто вернулся, снова увольняется в течение года), но если уж тебя упрашивают на коленочках вернуться обратно, то можно выкатить список из 100500 нереальных требований (включая и снятие топ-менеджеров).
🤔113👍2
Вот ещё наглядное подтверждение закона Хайрума :)
😁15🫡1
На днях написал N, раньше у меня занимался, сейчас работает на трёх работах фуллтайм удалённо =>

"У меня, скорее, не бизнес, а 3 фуллтайм проекта где я по потолку возможной вилки/грейда влез + для саморазвития взял пару студентов
...совокупный доход составляет чуть более 2млн.
в месяц
Фактически мой час (если посчитать весь доход) стоит 15-20т"

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

Более подробно, как стабильно хантиться на 500т сразу на несколько работ на удалёнку, как при этом не спалиться, как брать зп по потолку грейда, как правильно составлять резюме (особо важно!), как правильно организовывать рабочий процесс (для тех, кто и одни проект тянет, тоже очень полезно) чтобы работать 3 часа вместо 10, почему вам не стоит идти в МОСЯ/FAANG если вы хотите много денег, разные лайфхаки и прочее, N готов пояснить на менторстве. Есть два места, цена пока для подобного очень демократичная; когда будут следующие места, неизвестно.

На учебном сервере выложил подробный рассказ N про это всё, реально ценно (за 10,000 золота рейтинга, пишите мне в чат все кто занимается)

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

Но если не попадёте, ничего страшного. Я на следующий год по нашему лозунгу "работайте на своё имя, и пусть они платят вам за это деньги" готовлю "курс" (формат пока не знаю), где будем тренироваться в подобном overemployed. В декабре хотел анонс сделать, но N меня немного опередил :)

Сегодня ИТ в России прёт так мощно, такие хорошие денежки, что вам надо забирать их по максимуму 💥💥💥

P.S. Надо конечно при этом понимать, что это всё же больше для сеньоров/тимлидов, где сразу надо брать крупные проекты со 100% ответственностью и гарантией за результат, практический опыт архитекторства, system design и управления разработкой нужен хороший.
👍21🔥6🤯5🫡4🐳3
Когда ты плюсист, и тебя схантили на 300k/s на питончик :)
😁28❤‍🔥2💯1
Если мы возьмём миксин (λ (self super)...), в котором self -- это возможность ссылаться на другие аспекты "вычисления" (которые будут заданы другими миксинами), то есть это по сути воплощение принципа модульности. А super добавляет к ней "инкрементальность" (от нашей частичной спецификации до более полной "внешней" (или "входной"), которая сама тоже инкрементальна).
Это я к тому, что такая простейшая "инкрементальная модульность" есть фактически прототип ООП.
(наверное сложновато, дальше попроще поясню)
🤔10❤‍🔥8🤯42🤝1
Разжёвываю предыдущий пост :)

Объектно-ориентированное программирование -- это частный случай теоретико-категориальной конечной коммутативной кокон-диаграммы с коллекциями инфоморфизмов на классификаторах, которые строят сложные семантические ограничения из простых.

В принципе, это уже тривиально и интуитивно, но если совсем-совсем просто, то речь о приложении теории категорий на пространствах Chu -- пространствах семантических отношений на примере "объектов" (таблиц атрибутов).

P.S. Что такое "инфоморфизм"? Это морфизм в категории Chan, которая есть изоморфизм в категории Chu.
🤯25😁106🫡6
Это всё, что нужно знать о степени хрупкости кода на C++.
🤔14🐳5👍2🤯21
Есть классические антипаттерны кодирования, которые встречаются у 100% программистов, причём любой классификации. Их к сожалению не выявить при code review, и вы всё равно их будете постоянно допускать. С копипастой я и сам до сих пор иногда мучаюсь ) Потому что не следую своей же рекомендации "никогда не копипастить код и не злоупотреблять подсказками ide (а сегодня ещё и ai-ассистанты начинают морочить голову), всегда хотя бы немного сперва подумать и набирать код с нуля".

Рефлексия от курсанта Александра:

"1. Стараться не использовать copy|paste. После копирования части своего кода, который отрабатывает правые листья, не внес полностью корректировки для того, чтобы конструкция работала для левых
2. В моих тестах была проверка поиска правого листа, но отсутствовала для левого. Хотя для узлов не являющихся листами проверка была как для левого так и для правого. Здесь вывод: покрывать тестами вообще все случаи. Почему не покрыл? не мог и подумать, так как прошел все другие проверки, что возможно еще и здесь ошибка"


P.S. А когда ребята обращаются с вопросом почему не получается пройти тесты на сервере, я прежде всего прошу показать тесты (которые они конечно не делают), и в 80% проблема решается непосредственно в процессе написания тестов. Это всё то же важнейшее мышление письмом "по-программистски".
👍145🫡1
Пишет курсант М.

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

Напомню, мой пост
"Как легко и просто реализовывать API на сотню разных версий, не ломая фронтенд"

"Подключили меня в помощь на один проект с горящим сроком, работали почти 2 недели по 12-16 часов, чтобы за 2 часа до дедлайна проект перенесли на следующий год. :)"

Я не против переработок (хотя в целом против дедлайнов, это 100% что в конторе многое идёт не так), но только в ситуациях, когда вас не принуждают к этому психологическим давлением "надо!", и, конечно, они оплачиваются хотя бы x1.5. Это часы вашей жизни, которая довольно коротка в целом (я помню хорошо, как 40 лет назад вроде бы ещё вчера в 20 лет гулял с девушками:), и времени на просто пожить в дополнение к работе в целом будет не так и много.
💯13🔥6🫡2👍1🤔1
2025-й год. Программисты владеют ai-ботами, как гоночными автомобилями, тщательно за ними ухаживая, развивая и совершенствуя, чтобы они выигрывали соревнования по программированию.
В резюме основное внимание уделяется достижениям вашего ai-бота.
Активно развивается бизнес по прокачке и продаже ai-ботов под конкретные проекты и задачи.

Наконец-то станет возможным иметь 10-летний опыт работы в новеньком фреймворке, вышедшем месяц назад...
🤔17😁11👍4🤩2🫡2
Когда вы отключаетесь от монитора, чтобы подумать, менеджеры обвиняют вас в бездеятельности (в лучшем случае, что вы чрезмерно увлекаетесь инженерией, вместо того чтобы тупо писать код).

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

Если вы просто зафигачите первый пришедший вам в голову дизайн логики и кода, то он 100% не будет самым простым.
💯13👍5🔥3🫡2