Обновить
0
@doublethinker11read⁠-⁠only

Пользователь

Отправить сообщение

Мой плохой код — это ваша вина

Уровень сложностиСложный
Время на прочтение14 мин
Охват и читатели26K

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

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

Разумеется, по эго это бьёт иногда больно, и некоторые моменты вспоминать не очень приятно. Самое страшное, что я когда-либо делал — коммитил приватный ключ в публичной репо. Вот написал и мне опять стыдно. Но я осознаю, что это всё я.

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

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

Хочу страдать

Никого не повышают за простые решения

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели40K

Простота — это великое благо, но для её достижения необходим усердный труд, а для понимания — хорошее образование. Чего не скажешь про сложность, которая продаётся намного легче». — Эдсгер Дейкстра

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

Естественно, это происходит ненамеренно. Никто не строит коварных планов в духе «А давай сделаем так, чтобы повышение получали только те, кто всё усложняет.» Но такое нередко происходит, когда в компании неверно оценивают проделанную сотрудниками работу.

Читать далее

Java без розовых очков: какие знания отделяют грейды

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели16K

Почти каждый разработчик рано или поздно задается вопросом: «Я уже Middle или все еще уверенный Junior?» Опыт растет, задач становится больше, стек шире — но вместе с этим появляется и иллюзия, что раз ты пишешь на Java каждый день, значит, язык знаешь. На практике же границы между грейдами проходят не по количеству лет в профессии и не по числу реализованных фич. Они проходят по глубине понимания: платформы, архитектуры, производительности, работы с данными и собственных ограничений.

Привет, Хабр! Меня зовут Любовь Кулева, я руководитель отдела разработки и методологии Учебного центра IBS. В 2025 году мы выпустили три полноценные «дорожные карты развития» — для системного аналитика, для архитектора ПО и для бизнес-аналитика. В этой статье поговорим про джавистов: что на самом деле стоит за грейдами и какие компетенции формируют профессионала на каждом этапе.

Читать далее

Ищи работу правильно — как не ошибиться в важном выборе

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели11K

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

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

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

В результате решение об оффере принимается почти вслепую.

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

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

Поделюсь основными из них, надеюсь, что всем будет полезно 👇

Читать далее

Я 13 лет строил чужой бизнес, потом поставил холодильник и зарабатываю 43 тыс с точки

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели327K

Статья написана на основе интервью с Ильей Кравченко, владельцем федеральной сети микромаркетов самообслуживания RefreshTech.

Я 13 лет проработал в крупной федеральной вендинговой компании. Отвечал за 2,5 тысячи вендинговых аппаратов и около 200 микромаркетов. Микромаркет — это холодильник в офисе: внутри готовая еда, супы, салаты, горячее, напитки. Подошел, открыл, взял, оплатил через приложение или картой. Никакого кассира, никакой очереди.

За 13 лет я насмотрелся, чем обрастает этот бизнес, когда им занимается большая компания: склады с температурным контролем, штатные ремонтные бригады, торговые представители, которые решают, что поставить на полку, службы безопасности, которые тратят тысячи рублей, чтобы поймать вора на 300.

Когда в 2021 году я ушел и открыл свои микромаркеты, решил строить иначе. Не думал, что добавить — думал, что можно убрать.

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

Расскажу, как устроен этот бизнес

Читать далее

Собеседования в Яндекс и ВК (бэкенд, февраль 2026) — этапы, задачки, впечатления

Уровень сложностиПростой
Время на прочтение29 мин
Охват и читатели41K

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

Краткий вывод такой: описанные в той статье «обновления» присутствуют, но значительных изменений не ощущается. В конце выявился «один нюанс», который портит целесообразность процесса изначально (можно сразу пролистать в конец статьи если любопытно). Так что «обновлениям» впереди ещё немалый путь!

Читать далее

Белые списки добрались до Москвы: изучаем механику «отсечки» в 16 килобайт

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели84K

В общем, то, о чем долго говорили в регионах, наконец-то полноценно пришло в Москву (в Питере уже давно). Если раньше мобильный интернет в столице был относительным «островком стабильности», то последние события в ЮАО и массовые отчеты из Петербурга показывают — систему белых списков и фильтрацию трафика включили на полную мощь.

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

Читать далее

Код ИИ — это бред

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели29K

Вы не понимаете, что вы сделали. Я не говорю про подорожание памяти. Да, память подорожала в том числе и потому что вы генерите котиков и код. Но это мелочи. Небольшие побочные эффекты.

Вы запустили Лаксианский строитель, не имея ключа на выключение. В погоне за дофамином вы загнали джуниоров под плинтус. Вы травматически ампутировали индустрии механизм прегенерации опыта. Вы разрушаете индустрию, проекты и себя. Свою способность понимать и делать осознанный выбор решений. В обмен на что?

Да, мир не станет никогда прежним. Как он уже не станет "доинтернетным". Но вы не умеете новым миром пользоваться. Вы его вкалываете внутривенно, увеличивая дозу и не думая о последствиях. Это убьёт всех. Вас, меня, их.

Я расскажу почему. Скорее всего вам не захочется это знать. Это будет здесь, за этой кнопкой. Решать вам.

Читать далее

Шаблонный сервис на FastAPI

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели9.2K

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

Так зачем же нужен шаблонный сервис?

Читать далее

conditionals-spring-boot: расширяем возможности @Conditional

Время на прочтение3 мин
Охват и читатели8.8K

Написал небольшую библиотеку для Spring Boot, которая добавляет типизированные @Conditional-аннотации для работы с конфигурацией через Environment...

Читать далее

Чебурнет 2026: как вы дотерпелись

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели81K

Снова привет, Хабр.... добро пожаловать в 2026

О белых списках, Yggdrasil и о том как мы достигли нового уровня блокировок

Читать далее

Как резать стекло ножницами и не только: эффект Ребиндера

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели48K

Картинка: freepik.com

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

Да, сегодня мы поговорим как раз о таком примечательном эффекте — эффекте Ребиндера!

Читать далее

Бойтесь буквы «M». Самый странный баг в моей жизни

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели36K

Вечером в пятницу коллега, назовем его Мститель, спросил, не сталкивался ли я с проблемой, что route возвращает 400... но «если сменить название на сильно другое», то всё ок. Я сперва не обратил внимание на слово «сильно». Может быть, где-то дублируется регистрация этого рута? Или мститель перепутал GET и POST. Или какой-то баг в общем на создание хэндлеров?

Милости просим

Новая норма ИТ-команд: недоговаривать

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели34K

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

Читать полностью

Месседжер MAX следит за пользователями VPN? Реверс инжиниринг говорит — да (добавлено обновление)

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели499K

И этот заголовок - не кликбейт. Подвергнув реверс инжинирингу клиент российского мессенджера MAX удалось подтвердить самые худшие предположения.

В сети начали появляться сообщения о странных обращениях мессенджера MAX к Telegram и WhatsApp, из-за чего в сети начали выдвигаться предположения касательно природы и целей этих запросов. Но одно дело предполагать, другое дело знать. Мало ли это какая-то интеграция или случайный аналитический модуль. Поэтому чтобы понять самому и рассказать вам я решил посмотреть внутрь клиента и понять что и зачем он делает.

TL;DR - содержит шпионский модуль, который сделали разработчики MAX для слежки за теми кто использует VPN, они постарались сделать этот модуль неблокируемым и прикрутили удаленное управление.

Читать далее

Сделка с совестью на хакатоне или «Как победить с нерабочим кодом?» История одной команды…

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели16K

🏆 1 место на хакатоне без работающего кода? Легко!

Мы заняли 3 место с рабочим сервисом. Победители показали картинки и получили премию Мэра. Мы проверили их GitHub: там пусто.

Внутри расследование:

Ссылки на код победителей (alert() вместо API).

Разбор метрик (SMAPE 79%).

Как связи решают всё.

Читайте, как выигрывают не технологии, а подрядчики. 👇

Погрузимся в историю...

Российский мессенджер MAX замечен в обращении к иностранным сервисам определения IP и серверам конкурентов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели215K

Пользователи профильного NTC‑форума (открывается только через IPv6), посвященного исследованиям интернет‑цензуры и обхода блокировок, обнаружили необычное сетевое поведение российского мессенджера MAX. Речь про официальный APK с официального сайта.

Схема была довольно прямолинейной: в одном случае использовали PCAPdroid — приложение, которое на Android‑устройстве имитирует VPN для перехвата сетевого трафика без необходимости получения root‑прав, таким образом позволяя отслеживать, анализировать и блокировать сетевые соединения, осуществляемые приложениями на устройстве. В другом случае анализировался трафик из эмулятора, причем отдельно отмечено, что образ системы в эмуляторе был «чистый», без установленных других мессенджеров и дополнительного софта.

По наблюдениям (дампы PCAPdroid выложены на форуме), мессенджер MAX регулярно дергает сразу несколько сервисов для определения внешнего IP‑адреса, причём часть из них — зарубежные. Среди доменов, которые всплыли при проверке, кроме российских сервисов, видны также иностранные сервисы.

Читать далее

Коллекции в Java: алгоритмическая сложность и как не тормозить код

Время на прочтение7 мин
Охват и читатели6.5K

Как выбрать коллекцию в Java, чтобы код летал? Разбираем алгоритмическую сложность (Big O) самых популярных структур: ArrayList, LinkedList, HashSet, HashMap. В конце — схемы выбора и лучшие практики от команд. Сохраняйте, чтобы не забыть!

Читать далее

Если бы я начинала свой путь в IT заново

Время на прочтение4 мин
Охват и читатели24K

Я начинала в 2018 году, будучи в 10-м классе. Моим первым системным обучением стал Яндекс Лицей, где я изучала Python и впервые увидела программирование не как учебную дисциплину, а как инструмент создания реальных решений.

Читать далее

LTS, обновления и поддержка (support): что именно вы выбираете в Java и Spring

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели5.7K

Когда начинается разговор про Java, почти всегда он внезапно уходит в сторону Spring. И это не случайность.

Проблемы с релизами, поддержкой, миграциями, безопасностью — это не «проблемы Spring». Это следствие того, как изменилась сама Java-экосистема.

Чтобы понять, что происходит со Spring, нужно сначала разобраться, что произошло с Java.

Читать далее
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Фулстек разработчик
Java
Spring Boot
Java Spring Framework
Git
ООП
Docker
JDBC
Java Servlet
Hibernate
Apache Maven