Метка: рост

  • Тестовые задания для разработчиков

    Тестовые задания для разработчиков

    Тестовые задания для разработчиков.

    Не люблю я тестовые задания. И разработчики не любят.

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

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

    Джун может посыпаться даже на простом задании. Вы же собираетесь его доучивать? Проверите разве что базовые навыки: нажимать на кнопки, смотреть в документацию и кормить вашими тестовыми нейросеть.

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

    Задайтесь вопросом, что мы на самом деле пытаемся у кандидата тестовыми заданиями узнать? Можно ли эти ответы получить иначе?

    Моя практика с тестированием навыков такая:
    1) Для сеньоров и мидлов — начать с обсуждения тестового ТЗ, очень похожего на реальный проект. Тут вы действительно сможете понять логику, оценить предлагаемые решения и обсудить реализацию. На пальцах и за 20 минут. Такое ТЗ без проблем составит ваш ПМ.
    2) Дать настоящие задачи и оплатить их выполнение. Я стараюсь вывести всех перспективных кандидатов на тестовую неделю. Мы увидим всё — навыки коммуникации, командной работы, скорость работы, владение реальными инструментами и возможность решать задачи реального мира. В любой момент тестовой недели обе стороны могут остановить тест и безопасно разойтись.
    3) Для джуна — он же не только у вас собеседование проходит. Спросите, какие ещё тестовые он проходил — и попросите показать результат. Сомневаюсь, что он подписал на тестовые NDA. Заодно поймёте, как подбирают разработчиков ваши коллеги и конкуренты.
    4) У всех кандидатов просить реальный код любого проекта. Можно не с прошлой работы, можно пет-проект. Этот код можно скормить на аудит нейросетке.

    А у вас как с тестовыми? Были случаи, когда они реально необходимы?

  • Тест Адизеса

    Тест Адизеса

    Ицхак Адизес — живой классик современного менеджмента. Его книги уже давно переведены на русский язык и регулярно переиздаются. Одна из самых известных его работ — книга «Идеальный руководитель. Почему им нельзя стать и что из этого следует».

    Сильно не углубляясь в пересказ, расскажу о тесте Адизеса, который представлен в книге. Я нанимаю уже много лет и успел на практике попробовать множество тестов, но в итоге остался только этот. Применяю его не только к руководителям, а вообще ко всем соискателям.

    Адизес выделяет четыре роли в организации:
    – Предприниматель (E) — придумывает, рискует, запускает новое.
    – Производитель (P) — делает работу руками, результатник.
    – Администратор (A) — следит за порядком и выполнением регламентов.
    – Интегратор (I) — объединяет людей, поддерживает коммуникации, атмосферу и культуру.

    Этот подход лег в основу теста, который можно пройти за 10 минут, отвечая на простые вопросы. В итоге мы видим, какие роли у человека проявлены лучше всего. Берём человека на производство — роль Производитель должна быть проявлена. Бухгалтер или контроль качества — ищем Администратора. В продажах и развитии бизнеса не обойтись без Предпринимателя. В HR или коммуникации мы ищем хорошего Интегратора.

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

    К примеру, я — Предприниматель-Интегратор. Это означает, что я могу начать проект, принять основные решения, задать направление, собрать под проект команду и научить их общаться друг с другом. Но делать (P) или внимательно следить за выполнением (A) мне будет доставлять страдания. Производство меня выжигает, администрирование утомляет. Также развитый Интегратор в качестве побочного эффекта серийно пробует и бросает новые хобби, но после погружения теряет к ним интерес.

    Что из этого следует на практике?
    – Вакансию следует писать, предварительно определив желаемый психотип соискателя. Использовать в тексте вакансии лексику, присущую этому типу.
    – Можно с высокой степенью успеха предположить, подойдёт ли человеку данная работа и какой род деятельности ему вообще подходит. Даже если у него совсем нет опыта.
    – В сформированном коллективе можно определить направления роста сотрудников.
    – Можно предсказать зоны конфликта в коллективе, основываясь только на тесте: Администратор страдает от перемен, которые привносит Предприниматель. Интегратор кажется Производителю пустозвоном и т.д.
    – Не нужно требовать от себя развития всех ролей. Достаточно сфокусироваться на своих сильных ролях, а под остальные собрать команду.

    Пройти тест онлайн
    Книга Идеальный руководитель

  • React vs Vue

    React vs Vue

    Сегодня получил замечательный вопрос, что выбрать — React или Vue для фронтэнда в стартапе. Кто не в курсе, это две доминирующие технологии для создания динамических интерфейсов. Их используют социальные сети или большие веб-сервисы.
    Замечательный он тем, что сегодня я на него отвечу по-разному, в зависимости от того, кто спрашивает.

    Спрашивает новичок-разработчик — выбирай Vue.
    – Он проще устроен, его легче изучить.
    – По отзывам нескольких команд и десятка разработчиков, на нём приятнее писать.
    – Он быстрее собирается и быстрее работает во время разработки. Разница не очень большая, но это приятно.
    – С ним проще начинать новые проекты.
    – Легче использовать повторно внутренние компоненты.
    – Vue-разработчиков меньше, чем у React. А значит меньше конкуренция и выше шансы попасть в хорошую команду.

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

    Спрашивает опытный разработчик — он не спрашивает, он попробовал и сам вам расскажет почему нужно взять именно этот фреймворк.

    Правильного выбора здесь нет. React, Vue, Svelte, Ember, Preact, Solid, Alpine, Livewire, Angular, Backbone, Ext JS…

    Лучший фреймворк тот, который ваша команда уже знает и знает хорошо. Если у вашей команды есть ответ на чём писать — пишите на этом. Скорость важнее, а MVP в любом случае будет значительно переосмыслено и переписано через время.

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

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

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

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

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

    Человека взяли и загрузка у него 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.
    Мы снова вернулись к основам?

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

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

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

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

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

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

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