StepOne | Степан Минин – Telegram
StepOne | Степан Минин
3.42K subscribers
246 photos
35 videos
6 files
311 links
StepOne by Степан Минин @ststphn

Твой первый шаг к успеху в программировании

Закрытый тг канал https://news.1rj.ru/str/tribute/app?startapp=slOA

По вопросам рекламы @Spiral_Yuri

Ютуб https://www.youtube.com/@steponeit
Download Telegram
HR не нужны? 🤔

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

Сижу, спокойно работаю.
Как вдруг, звонит телефон.

Поднимаю трубку, со мной говорит руководитель продуктового направления одного средних размеров банка.

И без всяких скринингов сразу рассказывает что за продукт, какая команда, чем занимаются, чем дышат, при этом им нужен как раз такой специалист как я.

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

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

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

А, ну и ещё без алгоритмов конечно же, хе-хе.

Так что, руководителям остаётся только научится самостоятельно искать резюме, и тогда HR отделы можно сокращать.
👍18🤯4🤔1😱1
Ставь ❤️ если было
21😁10🤩8❤‍🔥1👍1😢1
Консультировал подписчика, переходящего из Java в C#.

В процессе диалога пришли к мысли, что если Java всегда был отстающей версией C#, то сейчас C# кажется отстающей версией Kotlin. А кто на ваш взгляд сейчас правит балом в бекенде?
Anonymous Poll
27%
Java
60%
C#
13%
Kotlin
🤯4🤔1🤩1🥴1
🔥С# & .NET на Стачке: ведущие разработчики C#, главы компаний, руководители и евангелисты-архитекторы из VK Tech, PVS-Studio LLC, K2TEХ выступят в рамках секции, организованной AdvantShop!

🩰Про то, что находится под капотом у самых используемых сериализаторов на C#, обработку XML и утечку данных, как опенсорсинг продуктов реально влияет на культуру разработки и архитектуры различных программных проектов расскажут:

— Александр Белоцерковский — евангелист-архитектор VK Tech;
Сергей Васильев — Head of DevRel PVS-Studio LLC;
Степан Минин — ведущий разработчик C#, входит в топ-30 лучших авторов про C# на Хабр;
Сергей Банников — руководитель группы K2TEХ.

✌️Знакомьтесь ближе с темами докладов и спикерами на странице секции сайта Стачки.

Узнайте почему коробочный Json сериализатор платформы ушёл вперёд семимильными шагами, о способах атаки и защиты приложений и чего точно нельзя делать, когда работаешь с Open Source-коммьюнити.

Решение есть - все
#nastachku!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍2🤯21
стачка_полиморфные-контракты.pdf
5.5 MB
Слайды с моего выступления на Стачке 🔥
🔥13👍3🥴3😍2❤‍🔥1🐳1
StepOne | Степан Минин
Какой же ужасный дизайн у драйвера монги для дотнета Вы только вдумайтесь, регистрация сериализаторов производится в статический словарик, из-за чего нужно специально размещать её в самый старт приложения. Цитата: "It is very important that the registration…
Не так давно писал про MongoDB

Собственно, ситуация возникла у подписчика, с чем он пришёл ко мне на консультацию.

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

Проблема возникла из-за регистрации bson мапперов и сериализаторов DI методами.

Решение нужно было в моменте, поэтому предложил использовать статический конструктор класса Program.

Не очень красиво, но эффективно - проблема ушла.

Некоторое время спустя провели повторную консультацию.

К ней подготовил более изящное решение - атрибут [ModuleInitializer], подробно прочитать про который можно в MSDN.

Как раз целевой нишевый сценарий - гарантированный единоразовый прогон некоторого метода инициализации перед любым другим кодом.

Из Program ушли знания о DAL, проблема решилась, интеграционники и юниты зелёные, а я помог клиенту .

Сплошной win 🏆
👍14🔥4❤‍🔥11
StepOne | Степан Минин
IT-компании не могут ничего дать кроме зарплаты 🤯 Вы когда-нибудь задумывались о том, что найму в России особо нечего предложить разработчикам? Только вдумайтесь, на нашем рынке нет даже такой базовой вещи, как welcome bonus. Где элементарная благодарность…
Премия это скам 🤬

Компании в процессе найма любят спекулировать таким понятием, как целевой доход.

Например, вы попросили 350 на руки, а вам в ответ говорят: «дадим оклад 280 на руки, а с учётом премий целевой доход дотянет до желаемой отметки 🤡»

Правда никто не говорит, что премию надо получить, так как это не гарантированное вознаграждение.

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

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

Но стремиться выполнить план сверх нормы в корне неверно.

Рост квалификации, опыта и стоимости сотрудника происходит по умолчанию соответственно времени, проведённому в компании.

Устроился и отработал год - значит автоматически вырос, потому что был пройден испытательный срок и всё оставшееся время задачи компании были по плечу и эффективно закрывались.

Поэтому надо искать минимальную планку продуктивности - производительность, при которой ПМ доволен и работа занимает меньше 8ч в день.

После достижения этой планки работаем на повышение оклада, как именно, узнаете в следующих постах или внутри консультаций 😉

А при найме торгуйтесь за оклад и не смотрите на премии вовсе.
🔥27👏3👍2💯2🙏1
StepOne | Степан Минин
Премия это скам 🤬 Компании в процессе найма любят спекулировать таким понятием, как целевой доход. Например, вы попросили 350 на руки, а вам в ответ говорят: «дадим оклад 280 на руки, а с учётом премий целевой доход дотянет до желаемой отметки 🤡» Правда…
Назрел закономерный вопрос: «стоит ли увольняться из каждой компании, в которой за год ни разу не повышают?»

Например, за 2022 инфляция год к году в США достигла 9%. Умножаем обесценивание доллара на девальвацию рубля и ужасаемся 😰

Понятно, что x2 вам никто не сделает в рамках одного места работы, таких повышений просто не бывает по множеству причин.

Однако, если за год работы вы хотя бы не догнали инфляцию прибавкой к зп, то получается, что вас понизили 🤯

Что делать в такой ситуации - решать вам 🤷‍♂️
🤔11🍌3👍2🤯1😢1
У меня 2️⃣ работы

Вы всё правильно прочитали, ведь помимо программирования я занимаюсь ведением этого telegram канала.

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

Поэтому, если вы хотите поддержать мой канал и у вас есть Telegram Premium, то нужно обновить приложение telegram и заboostить канал, используя ссылку:

https://news.1rj.ru/str/steponeit?boost
10😢4❤‍🔥2🙏2
Вас точно это удивит 😱

В IDE Rider появилась возможность записывать голосовушки вместо комментариев 🤯

Недавно, некий энтузиаст под ником polina4096 зарелизил плагин в маркетплейсе JetBrains, который добавляет поддержку голосовых сообщений в IntelliJ-based средах разработки.

Сам плагин написан на Kotlin и имеет на GitHub уже 300+ звёзд.

Стали бы вы им пользоваться на проекте?
🤯29🤔8🔥2😁1🤩1🍌1
StepOne | Степан Минин pinned «У меня 2️⃣ работы Вы всё правильно прочитали, ведь помимо программирования я занимаюсь ведением этого telegram канала. И это такая же сложная работа, поскольку в неё входит: выпуск нового контента, разбор кейсов, структурирование информации, создание сообщества…»
Вы используете Generic Math или abstract static в продакшн коде на своём проекте?
Anonymous Poll
8%
Да
44%
Нет
5%
Планируем
51%
Не понимаем зачем нужен инструмент
1
StepOne | Степан Минин
Вы используете Generic Math или abstract static в продакшн коде на своём проекте?
Всё, как я и ожидал

Обобщённая математика слишком "непонятный фрукт" для рядового C# разработчика - в проде это не используют, и при этом не планируют из-за отсутствия понимания инструмента.

Благо, вы подписаны на этот канал, и в этом месяце будет анонс доклада, в котором разложу по полочкам этот инструмент.

Расскажу полную историю - как и почему оно случилось, что именно в итоге получили, и вы поймёте стоит ли ввязываться в истории с Generic Math.
🔥21👍53🤯1
Throw

Перемещаясь по просторам интернета, наткнулся на простую, гибкую и расширяемую библиотеку для выбрасывания исключений в приложениях .NET 6+.

Начинается всё с показательного примера, вот эта длинная запись:

var str = "foo";

if (string.Equals(str, "foo", StringComparison.Ordinal)
{
throw new ArgumentException("String should not be equal to 'foo'.", nameof(str));
}

Превращается в:

var str = "foo";
str.Throw().IfEquals("foo");

А дальше начинается так много всего, что лучше вам самим зайти на GitHub и увидеть это своими глазами😁
🔥12👍6😱3🥴32🤔1
Запечатанная тайна sealed о которой ты мог не знать 😱

Всем известно, что если очень хочется запретить наследовать класс, то можно:

sealed class Foo
{
public void Bar()
{
Console.WriteLine("StepOne");
}
}


Экспериментируя в своём пет-проекте, я случайно узнал об ещё одной возможности этого ключевого слова.

Если мы хотим запретить переопределение метода, то это тоже можно сделать:

class X
{
protected virtual void F() { Console.WriteLine("X.F"); }
protected virtual void F2() { Console.WriteLine("X.F2"); }
}

class Y : X
{
sealed protected override void F() { Console.WriteLine("Y.F"); }
protected override void F2() { Console.WriteLine("Y.F2"); }
}

class Z : Y
{
protected override void F2() { Console.WriteLine("Z.F2"); }
}

Попытка переопределить метод, помеченный sealed, заставит компилятор завершить работу с ошибкой CS0239.

А вам приходилось запрещать переопределение метода в коммерческой практике?
👍9🤯4🔥3😁1
StepOne | Степан Минин
Подписчик на консультации расспрашивал меня про функциональное программирование В результате, возникла идея написать статью про один из основных аспектов в ФП. В ней разложил по полочкам всё об ad-hoc полиморфизме и type class'ах с подробными примерами на…
На Хабре вышел анализ корпоративных блогов

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

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

Эти СМИ активно скупают контент крутых независимых авторов на Хабре, заказывают материалы на стороне и периодически делают всякие любопытные контент-проекты.
"

Получается, я крутой независимый автор 😎
👍83👏2
StepOne | Степан Минин
Всё, как я и ожидал Обобщённая математика слишком "непонятный фрукт" для рядового C# разработчика - в проде это не используют, и при этом не планируют из-за отсутствия понимания инструмента. Благо, вы подписаны на этот канал, и в этом месяце будет анонс…
В жизни случаются и поражения (история моей неудачи) 💔

Удивительно, но с этим докладом связана моя личная и долгая история.

Во время работы в Райффайзенбанке начался мой активный рост как специалиста.

Там было очень крутое внутреннее .NET сообщество, которое не только тянуло наверх, но и продвигало идею делиться своим ростом.

Во многом, прообразом моего канала StepOne был чат сообщества в Slack.

Даже чуть не стал там ведущим рубрики - правда звёзды не сошлись, поскольку ушёл из компании.

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

Как вы могли догадаться, начал читать доклады именно на этих митапах, и именно тогда поставил себе цель - выступить на DotNext.

Как бы я не ругался на некоторые пункты программ последних сезонов, это крупнейшая и старейшая конференция для всех, кто занимается .NET-разработкой, и просто знаковое мероприятие.

Первая подача была обречена на провал: она случилась так поздно, что заявку не рассмотрели.

Затем, программный координатор пригласила участвовать в Call For Papers на сезон 2023 и, уже собрав багаж тем и статей на Хабре, подал аж две штуки.

И тут всё оказалось не просто - первый доклад не подходил по формату, в итоге его перехватила Стачка, а второй получил все аппрувы уже после упаковки расписания.

Так что цели пока не достиг.

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

Поэтому сдаваться не намерен, продолжаю движение по намеченной траектории 💪
👍17❤‍🔥8👏5🔥1🏆1
Вчера на паре в магистратуре получил классный инсайт:

Если руководитель не растёт, то членам команды повышений можно не ждать.

Распутывается этот клубок предельно просто.

Команда делает некий продукт/проект/фичу.

Руководитель отвечает за результаты этого процесса перед вышестоящим руководством.

Если результата нет, то маловероятно, что владельцы мешка денег дадут ресурсов на расширение, увеличение бюджета или чего-то ещё.

Так что в глазах членов команды он руководитель, а для ребят, принимающих решения, он такой же подчинённый.
👍9😱3🤯2🔥1
Not all heroes wear capes

Товарищ захотел сменить работу, составил резюме, вышел на рынок, и…

Оно не сработало от слова совсем.

Хотя за плечами 6 лет опыта, из которых 3 года в Яндексе на 2х ключевых проектах компании.

Тогда он обратился ко мне, и всего за час работы удалось добиться ошеломительного результата - релевантные приглашения сразу после размещения.

Так что если вы хотите прокачать своё резюме и быть уверенными, что не облажаетесь, пишите
@ststphn
👍176🔥4