Blog

  • Куда отгружать излишки работы?

    Куда отгружать излишки работы?

    Лучший лайфхак по оптимизации найма в диджитал агентстве — вообще не нанимать сотрудника.

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

    Человека взяли и загрузка у него 100%, как полагается. Что делать с тем, что не влезло?

    Расскажу про наш личный опыт в агентстве.

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

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

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

    Менеджерить придётся всех, отдать заказ на сторону и забыть про менеджмент — фантастика. Отданное наружу надо менеджерить с двойным пристрастием и закладывать запас по срокам.

    В общем, всё, что не помещается в основной поток, — разумно отдавать на сторону. И только когда поток вырос, думать о найме.

    PS: упоминания площадок и продуктов не являются рекламой

  • Почему нужно нанимать джунов

    Почему нужно нанимать джунов

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

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

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

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

    Вы просто очень хотите обучать. Может быть тогда ваш бизнес — образование?

    Мой вывод: большинству компаний и команд джуны не нужны.

    А вы нанимаете джунов? Расскажите, зачем и что из этого выходит.

  • Почему не нужно нанимать джунов

    Почему не нужно нанимать джунов

    Почему не нужно нанимать джунов.

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

    – Качество работы не дотягивает.
    – Скорость работы не прогнозируемая — джун застревает в любом месте.
    – Требуют квалифицированного наставника. А его время дорого, ведь наставник — хороший разработчик.
    – За ними приходится исправлять код старшим разработчикам.
    – Хотят “айтишную” ЗП и немедленно. Ведь на продаже курса обещали сотни тысяч!
    – Воспринимают нашу компанию как ступеньку и быстро уходят.

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

    Джуна нет смысла брать ради выгоды или “экономии” в небольшой коллектив — он сильно замедлит команду, ухудшит качество и реальной экономии не будет. Вместо выгоды будут убытки и потраченное время.

    Зачем и когда можно брать джуна в команду, расскажу в следующем посте.

  • QWERTY — чтобы ты медленно печатал

    QWERTY — чтобы ты медленно печатал

    QWERTY — чтобы ты медленно печатал.

    Почему клавиши на клавиатуре расположены так странно? Это не случайность, а наследие эры печатных машинок! Более того, буквы нарочно раскидали в неудобном порядке, чтобы замедлить набор текста.

    Что смещает SHIFT? Он приподнимал литеру — металлическую лапку с буквой — и она била по бумаге заглавной версией символа.
    Что блокируют клавиши Lock? Caps Lock на печатной машинке фиксировал механизм в режиме заглавных букв — лапки всегда били верхней частью.
    Enter — символ из стрелки вниз, а затем влево — обозначает перевод бумаги на новую строку. Отсюда и странная форма этой кнопки на большинстве клавиатур. Такой кнопки не было — был рычаг возврата каретки: движение вниз и влево, чтобы перевести бумагу на новую строку.
    Backspace — возвращал каретку на символ назад. Delete придумали позже — на печатной машинке ничего не удалить. Поэтому её отправили в дополнительный блок клавиш.

    Каждое нажатие на клавишу с буквой выдвигало механическую “лапку”, на конце которой находилась буква. Лапка била по чернильной ленте, оставляя отпечаток буквы на бумаге, а затем возвращалась на место. Если вы освоили печать на машинке и начали набирать текст достаточно быстро, то некоторые лапки не успевали вернуться на место и цеплялись за лапку, вылетающую из соседней позиции. Так производители печатных машинок догадались разместить часто встречающиеся сочетания букв подальше друг от друга, чтобы механические лапки не застревали.

    Как можно догадаться, “пробег” пальцев при наборе текста был искусственно увеличен. Позже придумали альтернативные раскладки, где всё было логично и удобно. Самая популярная из них — раскладка Дворака. В любой операционной системе можно переключить клавиатуру на Dvorak, но купленная серийная клавиатура всё равно будет с qwerty-гравировкой.
    За десятилетия все привыкли к QWERTY — и смена раскладки для производителей оказалась слишком рискованной. А мы потеряли скорость набора и обучаем следующие поколения на “плохой” раскладке.

    А как быстро и точно вы набираете текст? Проверить можно на сайте https://monkeytype.com/
    Присылайте ваши результаты в комментарии!

  • Пройти Тест Джоэля

    Пройти Тест Джоэля

    В 2000 году Джоэль Сполски — сооснователь StackOverflow и Trello, написал список из 12 вопросов, известные как Тест Джоэля. Часто ссылаюсь на этот тест, поэтому прокомментирую эти вопросы.

    1. Используете систему контроля версий?
    Кажется, что git — уже обязательная вещь. Но до сих пор встречаются проекты без системы контроля версий.
    Для тех, кто уже использует, вопрос всё ещё актуален, но теперь звучит так: Вы действительно используете систему контроля версий? У вас есть стратегия ветвления, процедура слияния веток, понятные правила для работы с репозиторием?

    2. Сборка проекта происходит в один шаг?
    Проект должен собираться в 1 команду и она должна быть написана в readme. Если для запуска проекта требуется поставить несколько сервисов, иметь нужную версию компилятора и запущенную базу данных — стоит прописать все эти зависимости в docker-compose и запускать одной командой. После прихода виртуализации оправданий для многошаговой сборки и зависимости от среды больше нет.

    3. У вас настроен CI/CD?
    В оригинале Джоэль говорит про daily build — оперативная сборка софта каждый день. Сейчас в большинстве команд нет нужды синхронизировать код раз в день, можно делать это автоматически каждый раз, когда код попадает в репозиторий.
    Настройте автоматическую сборку и выкатку приложения на тестовый сервер.

    4. У вас же есть база багов? Правда?
    Громоздкая Джира не единственный вариант. Эксель тоже подойдёт! Если у вас есть общий зафиксированный список проблем, вы можете с ними работать и планировать их устранение.

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

    6. У вас есть план работ со сроками?
    План, который знают все и который связан с реальностью. Roadmap, этапы или просто дата, в которую надо запуститься.
    Работа ведёт себя как газ — занимает всё выделенное время. Ставьте сроки.

    7. У вас есть спецификация?
    Банально, но без ТЗ результат ХЗ. Сейчас не нужно писать исчерпывающее финальное тех задание — требования поменяются по ходу разработки. Достаточно написать концепцию, сделать прототипы, записать user story и опубликовать. Задачи тоже нужно записать и поставить в трекер.

    8. У разработчиков есть тихие рабочие места?
    Ваш разработчик всё ещё сидит в опенспейсе? Зря-зря. Скорее всего, он уже обзавёлся наушниками и пытается от вас отвернуться. Помогите ему создать изолированную среду.

    9. У разработчиков лучшая техника и инструменты?
    Быстрый комп, 2ой монитор, современный софт, быстрые серверы — стоят копейки относительно времени программиста. Планка памяти стоит как час работы разработчика. Ускоряйте их всеми доступными способами, это очень дёшево.

    10. У вас есть тестировщики?
    Если баги ищут только разработчики — значит, баги находят пользователи.
    Менеджеры и программисты проверяют, что код работает. Тестировщики проверяют, ищут где он не работает. У вас должен быть хотя бы 1 тестировщик в команде на нескольких разработчиков.

    11. Пишут ли кандидаты код на собеседовании?
    Это единственный пункт, с которым я сейчас не полностью согласен в его изначальной формулировке. Изучить код и мышление кандидата на собеседовании получится, а вот показать реальные навыки в стрессовой ситуации собеседования — вряд ли. Мой рецепт — выводить подходящих кандидатов на тестовую неделю и смотреть совместимость без давления в реальной обстановке.

    12. Вы делаете usability тесты на добровольцах?
    Соберите группу для тестирования. Первые 5 случайных пользователей укажут вам на 95% проблем. Находите этих пользователей и проводите тестирование до большого релиза. Это дёшево и просто. В оригинале предлагается поймать добровольца в коридоре компании, но сейчас эра удалёнки — найдите их онлайн.

    Если вы фаундер или руководитель и у вас есть ответы “Нет” — их точно стоит обсудить с командой.

  • Internet Relay Chat

    Internet Relay Chat

    В эпоху web 1.0 не было социальных сетей. Сайты смотрели и читали, а основным местом для коммуникации были онлайн-чаты.

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

    Любители ходили в чаты через сайты, а профессионалы сидели через IRC-клиенты — специальные программы. Зная адрес сервера, можно было подключиться и попасть в любой канал по интересам. Чаты были источником всего. И были “закрытые” серверы и чаты по приглашениям. Специальные боты хранили любые файлы, запросить которые можно было в переписке. Пишешь боту в личку !list — он присылал список файлов, а !get — начинал закачку.

    В нулевых из чатов я качал всё то, чего было не достать в обычном вебе. Софт, музыка, видео.
    Чтобы скачать альбом в mp3, нужно было провести на телефонной линии на скорости 33.6 kbps целую ночь. Что не помешало мне послушать первый альбом Linkin Park или новый альбом Metallica за месяц до его выхода в магазины.

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

    Но вот прошли годы и в 2025 году Телеграм удивительным образом напоминает тот самый IRC из 2000 года. Мы пишем в чаты и задаём цветовые предпочтения в клиенте. Добавились только стикеры — как в MSN, и эмодзи — как в ICQ.
    Мы снова вернулись к основам?

  • Клуб для директоров диджитал-агентств

    Клуб для директоров диджитал-агентств

    Отраслевой клуб Галера — лучшее, что со мной случилось за последние пару лет в профессиональном плане.

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

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

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

    Запишитесь на экскурсию в клуб и присоединяйтесь к сообществу!

  • Если у вас агентство, то

    Если у вас агентство, то

    Если у вас агентство, то на сессии у психотерапевта стоит обратить внимание на один из двух факторов.

    1. Потребность в одобрении и внешней оценке. В подростковом возрасте вы не получили от отца поддержку при формировании вашей самооценки — независимой от мнения окружающих.

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

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

    Но если это ваш случай — с вас пять тыщ.

  • Задача про византийских генералов

    Задача про византийских генералов

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

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

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

    В реальном мире решается через компромисс:
    – Безопасно и децентрализовано — но медленно (Bitcoin, ранний Ethereum до L2).
    – Быстро и безопасно — но большая централизация (Solana).
    – Быстро и масштабируемо — но легче атаковать систему ложными сообщениями (корпоративные блокчейны, BSC).

    Новое поколение блокчейнов (Cosmos, Avalanche, Polkadot, TON) пытаются обойти триллему за счет разных технологических ухищрений и разделения задачи на части. Победителя пока нет — и, возможно, не будет: разные задачи требуют разных компромиссов.

  • Печеньки в браузере — зачем они и почему нас о них предупреждают?

    Печеньки в браузере — зачем они и почему нас о них предупреждают?

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

    Куки пришли в браузеры в конце 90-х ради создания привычной нам корзины в интернет-магазинах. Сайт выдавал номер корзины пользователю. А после загрузки следующей страницы читал куки и находил корзину пользователя.

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

    Сайты не спрашивали пользователя, нужна ли ему печенька. Конечно нужна, зачем спрашивать? Без неё сохранить логин на сайте или корзину было невозможно.

    А потом пришли они…. чужие куки от сторонних сайтов.
    Сайты начали добавлять к себе чужой код — счетчики посещений, аналитика поведения, показы баннеров. Рекламные сети начали оставлять в браузере пользователя свои куки. И узнавать, что один и тот же пользователь зашёл на сайт с поиском работы, выбором медицинских услуг или ремонтом телефона.
    Очень быстро рекламные сети стали знать слишком много. И показывать рекламу о том, о чём вы бы не стали им рассказывать.

    Законотворцы узнали про это безобразие и начали выпускать законы 🤦‍♂️. Теперь мы смотрим на предупреждения, которые обязаны вешать владельцы сайтов, что они используют куки. Даже свои собственные — белые и пушистые — для запоминания вашей корзины. Но даже если предупреждения нет — куки вы, скорее всего, всё равно получите 👿.

    Проблема должна решаться технологически на стороне браузера.
    Safari, Firefox, Brave и Edge уже частично блокируют куки сторонних сайтов. Chrome блокирует их пока только в режиме инкогнито, ведь больше всего от этой технологии зарабатывает разработчик Chrome — Google 🙈.

    Когда браузеры договорятся — предупреждения о кукисах уйдут в историю. А пока — терпим.