🧑💻 Честность в айти — это грех
В айти часто говорят, что честность — это слабость. Многие накручивают опыт, преувеличивают достижения и скрывают ошибки, чтобы выглядеть лучше в резюме.
Но без честности не бывает доверия и настоящего развития. Признание своих ошибок и реальных навыков помогает учиться и двигаться вперед, а не строить пирамиду из лжи.
💬 Как думаете лучше приврать или сказать как есть? Где ложь во благо, а где во вред? Делитесь в комментах своими размышлениями 👇
🔹 Практический интенсив «Архитектуры и шаблоны проектирования»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🐸 Библиотека шарписта
#entry_point
В айти часто говорят, что честность — это слабость. Многие накручивают опыт, преувеличивают достижения и скрывают ошибки, чтобы выглядеть лучше в резюме.
Но без честности не бывает доверия и настоящего развития. Признание своих ошибок и реальных навыков помогает учиться и двигаться вперед, а не строить пирамиду из лжи.
💬 Как думаете лучше приврать или сказать как есть? Где ложь во благо, а где во вред? Делитесь в комментах своими размышлениями 👇
🔹 Практический интенсив «Архитектуры и шаблоны проектирования»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1🥰1
📊 Рейтинг постов
Вы всю неделю ставили нам лайки, а мы выбрали топ по реакциям:
• 100 RPS Rate Limiting
• Закон Брукса в разработке
• Антиспам в .NET
• FluentValidation в API
• StackTraceHiddenAttribute
Давайте выберем самый лучший пост в голосовании.
Что добавить в следующий спринт? Пишите! 👇
🐸 Библиотека шарписта
#entry_point
Вы всю неделю ставили нам лайки, а мы выбрали топ по реакциям:
• 100 RPS Rate Limiting
• Закон Брукса в разработке
• Антиспам в .NET
• FluentValidation в API
• StackTraceHiddenAttribute
Давайте выберем самый лучший пост в голосовании.
Что добавить в следующий спринт? Пишите! 👇
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5🔥1
🎁 Письмо Деду Морозу
До Нового Года 15 дней! Что бы вы хотели получить в подарок? Годовая премия не в счёт, это всегда как рулетка — повезёт/не повезёт.
Админ хотел бы набор оперативной памяти, желательно гига 32, откладывал до последнего и вот итог..
💬 Делитесь своими хотелками или сразу вишлистами в комментах 👇
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека шарписта
#entry_point
До Нового Года 15 дней! Что бы вы хотели получить в подарок? Годовая премия не в счёт, это всегда как рулетка — повезёт/не повезёт.
Админ хотел бы набор оперативной памяти, желательно гига 32, откладывал до последнего и вот итог..
📍 Навигация: Вакансии • Задачи • Собесы
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8❤1
Есть два типа людей: те, кто ставит ёлку в начале декабря и наслаждается атмосферой целый месяц, и те, кто украшает её 31-го под бой курантов.
💬 Скидывайте фото своих ёлок в комменты 👇
📍 Навигация: Вакансии • Задачи • Собесы
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 Миграция с GitHub
Если следите за IT-комьюнити, то наверняка замечали: всё больше программистов переезжают с GitHub. Недавно оттуда мигрировали язык программирования Zig и инструмент Leiningen, а за ними — сотни индивидуальных разработчиков.
В чём проблема
• GitHub стал хуже технически
После покупки Microsoft в 2018 платформа деградирует: интерфейс грузится дольше, GitHub Actions запускает джобы случайно и сам интерфейс раздут до безобразия.
• Copilot — это плагиат
GitHub Copilot буквально выдаёт куски кода дословно. Это нарушение лицензий и воровство чужого кода. Software Freedom Conservancy (те, кто поддерживают Wine, Git, QEMU) организовали кампанию «Give Up GitHub» именно из-за этого.
• Закрытая платформа для открытого кода
Парадокс: серверная часть GitHub — проприетарный софт. Вы размещаете open-source проекты на закрытой платформе, которую контролирует Microsoft.
В отличие от Instagram или Twitter, GitHub не контролирует дистрибуцию контента. Уход с GitHub — это небольшая неудобство для контрибьюторов, но не исчезновение из поля зрения.
Куда переезжать
Бесплатно и с хостингом:
• Codeberg (Forgejo) — некоммерческий проект, для FOSS
• SourceHut — платно $4-12/мес, но есть финпомощь
• GitLab — бесплатный тариф с ограничениями
Самохостинг:
• Gitea — простой и лёгкий
• Gogs — ещё проще
• Gerrit — если нужен продвинутый code review
Децентрализация:
• Radicle — p2p git
• Или просто свой скрипт, заливающий в S3
💬 Где вы держите свои проекты?
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека шарписта
#entry_point
Если следите за IT-комьюнити, то наверняка замечали: всё больше программистов переезжают с GitHub. Недавно оттуда мигрировали язык программирования Zig и инструмент Leiningen, а за ними — сотни индивидуальных разработчиков.
В чём проблема
• GitHub стал хуже технически
После покупки Microsoft в 2018 платформа деградирует: интерфейс грузится дольше, GitHub Actions запускает джобы случайно и сам интерфейс раздут до безобразия.
• Copilot — это плагиат
GitHub Copilot буквально выдаёт куски кода дословно. Это нарушение лицензий и воровство чужого кода. Software Freedom Conservancy (те, кто поддерживают Wine, Git, QEMU) организовали кампанию «Give Up GitHub» именно из-за этого.
• Закрытая платформа для открытого кода
Парадокс: серверная часть GitHub — проприетарный софт. Вы размещаете open-source проекты на закрытой платформе, которую контролирует Microsoft.
В отличие от Instagram или Twitter, GitHub не контролирует дистрибуцию контента. Уход с GitHub — это небольшая неудобство для контрибьюторов, но не исчезновение из поля зрения.
Куда переезжать
Бесплатно и с хостингом:
• Codeberg (Forgejo) — некоммерческий проект, для FOSS
• SourceHut — платно $4-12/мес, но есть финпомощь
• GitLab — бесплатный тариф с ограничениями
Самохостинг:
• Gitea — простой и лёгкий
• Gogs — ещё проще
• Gerrit — если нужен продвинутый code review
Децентрализация:
• Radicle — p2p git
• Или просто свой скрипт, заливающий в S3
💬 Где вы держите свои проекты?
📍 Навигация: Вакансии • Задачи • Собесы
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9😁7👍4
Вас просят поменторить нового разработчика. Давайте разберемся, когда это возможность, а когда — скрытая эксплуатация.
Идеальная ситуация
Компания доплачивает 15-20% к зарплате, джун быстро схватывает и задает умные вопросы. Вы получаете деньги, прокачиваете скилл объяснения. Все в плюсе.
Ловушка «помоги новенькому»
«Покажи, как тут все устроено» может быть и без доплаты, без официального оформления. Вы делаете две работы за одну зарплату. Времени уходит 5-10 часов в неделю, дедлайны остаются прежними. Через месяц выгорание и раздражение на джуна, хотя он не виноват.
Выход: либо официальное оформление с корректировкой нагрузки, либо вежливое «сейчас не могу взять это на себя».
Человек не понимает базовых вещей после третьего объяснения, не гуглит, не пытается разобраться сам. Вы превращаетесь в костыль, каждый вопрос съедает время, а прогресса нет. Проблема часто не в способностях, а в мотивации или ошибке на этапе найма.
Честный разговор с лидом — это нормально. Менторство работает при наличии базы и желания учиться. Если база нулевая, это провал рекрутинга, не ваша ответственность.
📍 Навигация: Вакансии • Задачи • Собесы
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3
Что вы будете делать в этот дополнительный выходной?
Полная раскайфовка на кровати или жёсткий пет-проектинг?
💬 Пишите в комментах 👇
📍 Навигация: Вакансии • Задачи • Собесы
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
YAGNI (You Aren't Gonna Need It) — принцип из разработки: не делайте то, что может пригодиться когда-нибудь. Работает не только в коде.
Не покупайте инструмент на всякий случай. Нужна дрель — возьмите в аренду или одолжите. Купите перфоратор — будет пылиться 10 лет.
Не записывайтесь на 5 курсов параллельно, «пройду потом» может не случится — вдруг смените род деятельности, к примеру. Закончите один, потом решайте нужен ли следующий.
💬 Бывало такое, что нарушали YAGNI в реальной жизни? Или может наоборот трезво оценили ситуацию и не купились? Интересно будет почитать в комментах 👇
📍 Навигация: Вакансии • Задачи • Собесы
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
💯24❤3👍2
Вот код, который видел каждый в первый день знакомства с языком. Только здесь он немного другой:
using System;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Console.CursorVisible = false;
print('H', ConsoleColor.Red);
print('e', ConsoleColor.Yellow);
print('l', ConsoleColor.Magenta);
print('l', ConsoleColor.Green);
print('o', ConsoleColor.Blue);
print(',', ConsoleColor.Red);
print(' ', ConsoleColor.Red);
print('w', ConsoleColor.Magenta);
print('o', ConsoleColor.Cyan);
print('r', ConsoleColor.Yellow);
print('l', ConsoleColor.Green);
print('d', ConsoleColor.Blue);
print('!', ConsoleColor.Red);
}
static void print(char letter, ConsoleColor color)
{
Console.ForegroundColor = color;
Console.Write(letter);
}
}
Возьмите минутку перерыва и запустите.
📍 Навигация: Вакансии • Задачи • Собесы
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱12❤2
Разработчик с Reddit строит автоматический проигрыватель пластинок с нуля: механику, электронику и прошивку для STM32. Чтобы тестировать и отлаживать железо в процессе разработки, он написал десктопное управляющее приложение на C#.
Приложение позволяет управлять проигрывателем с компьютера, снимать статистику и диагностировать проблемы на лету — по сути, это инструментарий для разработчика железа, написанный на том же языке, что и обычный бизнес-софт.
Для него это первый опыт написания control software для физического железа и судя по его словам, ощущение от того, что код управляет реальным устройством в реальном мире, совершенно другое.
📍 Навигация: Вакансии • Задачи • Собесы
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2
Большинство разработчиков переоценивают алгоритмы. Принято считать, что сложная логика и умные решения делают код хорошим. Но на практике всё решается на этапе выбора структуры данных.
Почему структура данных первична
Когда данные организованы правильно, алгоритм становится очевидным. Его не нужно изобретать, ведь он вытекает из формы данных сам. Роб Пайк сформулировал это ещё в 1989 году, и с тех пор ничего не изменилось.
Если ясно, кто владеет данными, как они перемещаются по системе и как структура соответствует паттернам доступа, сложные части кода упрощаются без дополнительных усилий.
Что происходит, когда структура выбрана плохо
Состояние расползается по десяткам мест. Объекты мутируют там, где не должны. Каждое изменение ломает что-то в трёх других местах. Команда тратит время не на новые фичи, а на поиск причин, почему старые перестали работать.
Умный алгоритм, написанный поверх плохо организованных данных, не решает проблему. Он только откладывает её.
Что меняется после переосмысления структуры
Когда команда задаёт правильный вопрос: не "как это починить?", а "как данные должны течь через систему?", запутанный код превращается в понятный пайплайн. Становится короче. Баги исчезают. Новые фичи добавляются без страха сломать существующее.
Никакой магии. Просто правильно выбранная структура снимает нагрузку с алгоритма.
Практический ориентир
Перед тем как писать функцию, полезно ответить на четыре вопроса. Кто владеет этими данными. Где находится источник правды. Как данные попадают из точки А в точку Б. Соответствует ли структура тому, как к ней будут обращаться.
Если ответы нечёткие, сложность будет нарастать независимо от качества кода.
💬 Что думаете? Прав ли Роб Пайк или всё уже поменялось?
📍 Навигация: Вакансии • Задачи • Собесы
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤1
Кого смотрите и читаете по C# и .NET? Авторы на YouTube, Хабре, телеграм-каналы, подкасты — пишите в комменты 💬
Мы, естественно, следим за Ником Чапсасом, но может есть менее гигантские медиа-личности?
📍 Навигация: Вакансии • Задачи • Собесы
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3😁3
Автор книг по исходникам Quake и Doom собрал ретро-машину 1997 года. Материнка, HDD — дорого. А вот 384 МБ SDRAM обошлись всего в $60. Почему бы не взять с запасом?
Запустил Quake. Pentium MMX 233MHz выдаёт стабильные 44 fps. Всё отлично, пишет статью, уходит на месяц. Возвращается, запускает тот же бенчмарк и результат: 33 fps.
Перебрал всё: видеокарты, драйверы, переустановка системы. Ничего не помогает. Случайно попробовал вытащить одну планку — 33 fps. Вытащил ещё одну — 44. Вернул обратно и опять 33.
Оказалось, чипсет материнской платы кешировал только ограниченный объём RAM через L2-кеш. Всё, что сверх лимита — работало напрямую, без кеша вообще. А Windows 95 загружается «сверху вниз» по адресному пространству, то есть некешируемая зона задействовалась сразу при старте.
📍 Навигация: Вакансии • Задачи • Собесы
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5❤3
Одни не могут написать строчку кода без наушников. Другие считают, что любой звук убивает концентрацию. Третьи спокойно работают под разговоры коллег в опенспейсе и не понимают, в чём проблема.
Музыка помогает войти в поток
Самый популярный аргумент. Фоновая музыка создаёт ритуал. Надел наушники, включил плейлист, мозг понял, что пора работать. Многие выбирают lo-fi, эмбиент или саундтреки из игр. Главное условие: без слов, или на языке, который не понимаешь.
Текст на знакомом языке подгружает языковые центры мозга, и на код остаётся меньше ресурсов.
Тишина как необходимость
Противоположная позиция. Любой звук, даже фоновый, отъедает часть внимания. Когда задача сложная: архитектурное решение, отладка неочевидного бага, работа с незнакомой кодовой базой; мозгу нужны все ресурсы.
Музыка в сложные моменты не помогает, а мешает. Просто мы этого не замечаем, потому что привыкли.
Офисный шум. Кому-то нормально
Есть люди, которые продуктивнее работают в окружении других людей. Фоновые разговоры, стук клавиатур, шаги создают ощущение общего процесса. Это не всем подходит, но для части разработчиков опенспейс работает лучше, чем домашний кабинет.
📍 Навигация: Вакансии • Задачи • Собесы
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Чтобы не теряться в потоке постов, собрали удобную навигацию по рубрикам:
#sharp_view — короткие и полезные посты с кодом, best practices, фишки C#, сравнение подходов, code snippets и разбор багов
#il_люминатор — глубокие технические разборы: архитектурные паттерны, производительность, устройство .NET, CLR, GC, JIT и сложные концепции
#async_news — релизы .NET, обновления IDE, анонсы конференций, дайджесты и другие важные новости экосистемы
#entry_point — опросы, холивары, вопросы подписчикам, истории из практики и обсуждения с сообществом
#dotnet_challenge — задачи по C# и .NET, вопросы с собеседований, поиск ошибок в коде и интерактивные викторины
#схема — инфографика, диаграммы, шпаргалки, дорожные карты и визуальное объяснение сложных тем
#garbage_collector — мемы, юмор и забавные истории из жизни .NET-разработчиков
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Ещё несколько лет назад AutoMapper был почти стандартом для .NET-проектов. Сегодня всё чаще встречаются ручной маппинг, Mapperly, Mapster и другие source generators.
Одни не хотят тащить дополнительную магию ради пары присваиваний. Другие не готовы писать одинаковый код для десятков DTO.
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1🤔1🌚1
С появлением минимальных API многие начали отказываться от контроллеров. Меньше шаблонного кода, эндпоинт виден целиком, проще стартовать новый сервис.
А как у вас?
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3
Один из самых долгих споров среди разработчиков.
❇️ Одни считают, что хороший код не нуждается в комментариях. Если приходится объяснять, что происходит, значит, стоит улучшить имена, структуру или разбить метод.
🅰️ Другие отвечают: комментарии нужны. Но не чтобы пересказывать код, а чтобы объяснить почему он написан именно так. Например, описать сложное бизнес-правило, необычное решение, ограничение внешней системы или оставить ссылку на баг.
А как у вас?
👍 — комментариев минимум, код должен говорить сам за себя.
🔥 — комментарии нужны, если помогают понять неочевидную логику.
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥85👍16
Один из главных споров в тестировании.
Одни мокают почти всё вокруг проверяемого класса. Такие тесты быстрые, изолированные и падают только из-за логики самого кода.
Другие предпочитают реальные зависимости: базу в контейнере, настоящие сервисы и интеграционные сценарии. Да, такие тесты медленнее, зато они лучше показывают, как код ведёт себя в реальных условиях.
На практике многие выбирают компромисс: внешние API и нестабильные сервисы мокают, а свои компоненты стараются тестировать вместе.
👍 — максимум моков, главное скорость и изоляция.
🔥 — минимум моков, лучше реальные зависимости.
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍8❤4
Спор, который не утихает много лет.
Сторонники хранимых процедур говорят: данные уже в базе, меньше сетевых запросов, выше производительность и больше контроля над SQL.
Сторонники логики в приложении отвечают: код проще тестировать, ревьюить, версионировать в Git и переносить между разными СУБД.
На практике многие выбирают компромисс: сложные операции над большими объёмами данных оставляют в базе, а бизнес-правила и оркестрацию — в приложении.
👍 — максимум логики в приложении.
🔥 — сложную логику лучше держать в базе.
И был ли у вас проект, где сотни хранимых процедур со временем превратились в «чёрный ящик», который никто не хотел менять?
#entry_point
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥15