Pull to refresh
6
0
Игорь @peacecoder85

Backend Engineer

Send message

Как разработчики убивают бизнес

Level of difficultyMedium
Reading time9 min
Views6.3K

Доброго времени суток!

Для начала представлюсь: я бэкенд-разработчик с опытом более 8 лет. Участвовал в разнообразных проектах: в стартапах, в галерах, в крупных корпорациях и в среднем бизнесе. К сожалению, найти идеальную статистику по данной теме не представляется возможным, однако из общения с бывшими коллегами я понимаю, что то, что будет описано ниже, — не только мой личный опыт, но и то, что регулярно происходит в других компаниях.

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

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

Прежде чем мы приступим к разбору, хочу уточнить, что я прямой апологет бритвы Оккама, и важным правилом в моём подходе является не плодить сущности без необходимости. Если возможно написать сервис в 100 строк — лучше написать так. Потом, если потребуется, его будет несложно переработать под более удачную архитектуру.

Читать далее

4 красных флага в кандидатах, о которых никто не говорит

Level of difficultyEasy
Reading time9 min
Views76K

Срочно нужен человек — HR присылает резюме — быстренько интервью — берём. Через три месяца выясняется, что кандидат не подходит. Ещё месяц уходит на увольнение, потом снова поиск. В итоге полгода потеряно. 

Читать далее

Архитектурное банкротство: как технический долг убивает проект

Level of difficultyEasy
Reading time4 min
Views1.4K

Привет! Меня зовут Дмитрий Березницкий, я больше 25 лет работаю в разработке ПО. За это время видел, как одни команды росли и с лёгкостью внедряли новые фичи, а другие — всё больше погружались в хаос, где любое изменение требует недели усилий и проверки «на авось». Причина почти всегда одна — технический долг. Сегодня я расскажу, что это такое на практике, как его распознать, почему он опаснее, чем кажется, и какие шаги реально помогают.

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

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

По данным Stripe, около 42% времени разработчиков уходит на поддержку некачественного кода. А компании, у которых технический долг под контролем, по данным McKinsey, растут на 20% быстрее. Это подтверждают и мои наблюдения: чем здоровее архитектура — тем быстрее команда реализует новые идеи и меньше выгорает.

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

Читать далее

7 шаблонов конкурентности в Go, которые вам стоит знать

Level of difficultyEasy
Reading time5 min
Views5K

Конкурентность — одна из самых мощных возможностей Go, и её освоение критически важно для создания масштабируемых и эффективных приложений. В этой статье мы рассмотрим 7 шаблонов конкурентности в Go, которые помогут вам писать надёжный код.

Читать далее

Развертывание микросервисов: проблемы, решения, стратегии, антипаттерны, практические рекомендации

Level of difficultyMedium
Reading time25 min
Views5.6K

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

Читать далее

Умные люди в компании: привлечь и не потерять

Level of difficultyEasy
Reading time2 min
Views4.3K

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

Это прекрасная западающая в сердце фраза звучит мудро. Казалось бы, все просто. Дело за малым. Джаст хайр смарт пипл. Вместе с тем остается открытым вопрос: как? Как нанять умных людей и как их не потерять?

Читать далее

Транзакционный Ratelimit

Level of difficultyMedium
Reading time6 min
Views1.9K

В статье расскажу про задачу и её решение, связанную с организацией лимитов для выполнения различных операций и http запросов. Изначально задача звучала как создание распределенного решения, библиотека или микросервис на основе хранилища в redis, который бы мог обеспечить достаточный уровень отказоустойчивости и наблюдаемости. Функциональные и не функциональные требования были обычными для подобной задачи и казалось, что можно обойтись стандартным готовым решением, но не тут то было.

Читать далее

Go-тесты: путь к надежному коду

Level of difficultyMedium
Reading time9 min
Views2.9K

Очень часто автотесты воспринимаются как обременение: что-то скучное, унылое и совершенно не нужное. С уверенностью,  что вместо тестов лучше заняться «настоящим»  кодом, некоторые разработчики решают не тратить на них время… и тратят его в два раза больше, когда впоследствии приходится ковырять неожиданно возникшие ошибки. Факт: в долгосрочной перспективе именно тесты становятся фундаментом стабильности, а любое изменение без них превращается в настоящую игру с огнём — особенно в активно развивающемся проекте, когда каждый новый релиз может полностью сломать старую логику.

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

Для создания такой защиты отлично подходит Go. Минимализм его языка и встроенные инструменты делают написание тестов лёгким и естественным процессом. В нём совершенно нет лишней обвязки — только вы, функция и проверка её поведения.

Читать далее

Что будет, если заинлайнить всё

Reading time25 min
Views13K

Усаживайтесь поудобнее, ребята! Сегодня мы с вами разберём следующий увлекательный вопрос: что будет, если заинлайнить вообще всё?

Если вы пока не знакомы с техникой встраивания (inlining) то примите к сведению, что в сообществе специалистов по разработке компиляторов многие, в том числе очень авторитетные фигуры (например, Чендлер Каррут) считают этот приём наиважнейшим при оптимизации компиляторов. Подробнее о том, как устроено встраивание, рассказано здесь — мы беззастенчиво хвалимся той презентацией, с которой выступили перед участниками конференции LLVM Developers' Meeting по межпроцедурной оптимизации. Я рассказывал о встраивании и очень рекомендую вам посмотреть хотя бы первые 6 минут. В этом видео я рассказываю, почему встраивание — очень простое преобразование, а вот тут вашему вниманию предлагается реализация встраивания, предложенная великим Крисом Латтнером уже около 20 лет назад — в ней всего около 200 строк кода. К сожалению, сегодня даже само преобразование пропорционально выросло: в качестве примера взгляните хотя бы на InlineFunction.cpp.

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

Читать далее

Вовремя увольнять — это забота о команде

Level of difficultyEasy
Reading time7 min
Views17K

У меня опыт в IT с прошлого века, 27 лет. Начинал программистом, когда во многих компаниях ещё не было системных аналитиков и проджект-менеджеров. Кто-то из команды должен был разговаривать с заказчиками. Чаще всего этим кем-то был я.

Потом стал тимлидом — одновременно программировал и управлял. Со временем меня «засосало» в управленческую деятельность. Максимум руководил 60 людьми.

Расскажу об ошибках, которые совершил за это время, и о своих выводах.

Читать далее

Я создал AI-агента, который думает 24/7 и выполняет реальный код. Вот что из этого вышло

Reading time6 min
Views43K

Создал экспериментальную систему DepthNet, где AI-агент мыслит циклично, то есть непрерывно, может выполнять PHP-код, управлять своей памятью и живет автономной цифровой жизнью. Протестировал на Claude 3.5 Sonnet — результаты понравились.

Читать далее

Почему нам не грозит восстание ИИ?

Level of difficultyEasy
Reading time6 min
Views6.3K

Почему нам на самом деле не угрожает искусственный интеллект? Или он всё же опасен? Автор считает развитие ИИ безобидным следствием прогресса, удобным инструментом, не более. Об этом и поговорим

Читать далее

Глава 1: Кто такой продуктовый менеджер?

Level of difficultyEasy
Reading time16 min
Views1.5K

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

Я собрал большой список вопросов по профессии Product Manager'a и получилось очень внушительно! Там собрано всё, что только я смог вспомнить: от базовых принципов до конкретных фреймворков. Слава роду ChatGPT, который помог сгруппировать больше 120 вопросов и отсортировать от простого к сложному. Вопросы разбиты на смысловые «главы».

Решил написать ответы на все вопросы и публиковать отдельными постами в формате телеграм канала (а как еще). Для потомков, так сказать (для себя то есть), решил собрать все посты первой «главы» в одну большую статью для Хабра. Вдруг какой-то заблудшей душе будет полезно.

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

Важно: это не учебник! Это мой опыт упакованный в формат FAQ. Для новичков, для комьюнити, для себя.

Читать далее

Как инфоцыгане отравили IT

Level of difficultyEasy
Reading time3 min
Views71K

Как инфоцыгане захватили IT-курсы, обещали зарплаты по 300к за 3 месяца и сломали рынок. IT-образование начиналось с желания помочь, но закончилось спамом, разочарованием и враньём в резюме.

Читать далее

Лазерная коррекция зрения глазами пациента — от линз к свободе

Level of difficultyEasy
Reading time8 min
Views1.8K

Представьте, что тринадцать лет ваша жизнь зависит от крошечных линз. Утро начинается не с кофе, а с поиска контейнера. Путешествия превращаются в квест «не забыть раствор», а ночные пробуждения — в борьбу с размытым зрением. Так жила Анастасия, пока не сделала лазерную коррекцию зрения. Всего 5 минут — и больше никаких растворов и линз. Благодаря технологии SMILE она увидела мир. Но почему многие до сих пор верят мифам 90-х? «Боялась, что ослепну», «Думала, это больно» — Анастасия прошла через те же страхи. Сейчас она расскажет, как избавилась от зависимости линз и какие преимущества ей дала лазерная коррекция.

Читать далее

Программируя с использованием AI ты продаешь душу дьяволу

Reading time5 min
Views7.1K

Хочешь убить свое будущее — переходи на программирование с использованием AI.

Все началось с того, что один знакомый похвастался, что его производительность резко выросла после того, как он начал использовать AI… он высказывал огромное удовольствие скорости и сослался на инструмент, которым пользуется.

И вдруг тема «продаже души дьяволу» появилась из неоткуда...

Читать далее

Наш CEO хочет no-code в проде. Я против — и готов уйти

Level of difficultyMedium
Reading time7 min
Views34K

Как визуальные платформы ломают культуру разработки и зачем нам нужен контроль над кодом

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

Так вот, теперь наш CEO влюбился попал под очарование Lovable и хочет, чтобы мы начали использовать его или Base44 для ускорения разработки и быстрого внедрения новых фич. По его задумке, дизайнер "набрасывает интерфейс" (в этих визуальных платформах для сборки UI/UX дизайнером), а мы "допиливаем чуть-чуть на бэке" (через API, Карл!), и всё - фича в проде. Time-to-Market стремительно сокращается, мир спасён, а мы свободны от "лишней инженерии".

Я против. Категорически. И да, это война.

Читать далее

Умение вовремя «пристрелить» свой стартап — качество, которым обладают единицы: IT-предприниматели об ошибках в бизнесе

Level of difficultyMedium
Reading time11 min
Views3K

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

Читать далее

В какие стартапы инвесторы готовы вкладывать деньги, или 14 факторов, влияющих на успех привлечения инвестиций

Level of difficultyMedium
Reading time6 min
Views2.8K

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

Читать далее

Flutter & Dart: Май 2025 — Главное за месяц

Level of difficultyEasy
Reading time3 min
Views2.2K

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

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

Information

Rating
7,297-th
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity

Specialization

Backend Developer
Senior
From 4,000 $