Собеседование совсем не походило на собеседование.
Просто стол, доска и небрежный вопрос:
«Давайте разработаем первую версию нашего приложения».
Это должно было успокоить. Но не успокоило. На собеседованиях в стартапах редко говорят, о чем на самом деле они спрашивают. Они просто наблюдают за вашим мышлением, делая вид, что это обычный разговор.
Рефлекторный ответ
Мы выбрали простой экран. Ничего особенного. Я нарисовал View, добавил ViewModel и произнес фразу, которую каждый iOS-разработчик произносил тысячу раз:
«Здесь мы будем использовать MVVM».
Интервьюер кивнул. Сделал паузу. Затем спросил:
«Почему именно MVVM?»
Не агрессивно. Не скептически. Просто из любопытства. И каким-то образом это только ухудшило ситуацию.
Пауза
Я знал MVVM. Я использовал его годами. Выпускал приложения с его использованием. Защищал его на code review. Но в тот момент я осознал нечто неприятное.
Мне никогда раньше не приходилось это обосновывать.
Мой мозг искал причину, которая не звучала бы как скопированная из блога, — и не нашел ничего убедительного.
Почему этот вопрос так жесток на собеседованиях в стартапах
Крупные компании часто спрашивают, что вы знаете. Стартапы спрашивают, почему вы это делаете.
Им всё равно, что:
- Примеры Apple склоняются к MVVM
- Все в Твиттере рекомендуют его
- Вы использовали его на своих последних трёх работах
Их волнует одно.
Помогает ли нам этот выпускать продукт — или просто даёт чувство безопасности?
И внезапно MVVM перестал казаться очевидным выбором.
Что я начал говорить (и почему это было неправильно)
Я начал говорить. Это всегда ошибка. Я говорил такие вещи, как:
- Разделение ответственности
- Чистая архитектура
- Масштабируемость
Интервьюер не перебивал. А это никогда не бывает хорошим знаком.
Потому что молчание на собеседованиях в стартапах обычно означает: это звучит заученно.
Контекст, который я проигнорировал
Это был не зрелый продукт.
Это была первая версия.
Они думали о:
- Выпуске через несколько недель, а не месяцев
- Функциях, которые могут быть потом отброшены
- Коде, который можно переписать после отзывов пользователей
Я защищал архитектуру для будущего, которое, возможно, никогда не наступит.
Что они на самом деле проверяли
Они не были против MVVM. Они проверяли, смогу ли я сказать что-то вроде:
«В первой версии я бы оставил эту логику в ViewController. Если она начнет разрастаться или станет сложной для тестирования, я вынесу ViewModel».
Этот ответ показывает:
- Продуктовое мышление
- Осознание затрат
- Умение проводить рефакторинг
В стартапах это важнее, чем чистые диаграммы.
Ловушка Senior разработчика
Опыт может сыграть против вас. После многих лет работы с большими кодовыми базами шаблоны кажутся ответственными. Выбор простоты кажется безрассудным.
Но стартапы видят это по-другому:
- Избыточная архитектура замедляет работу команд
- Дополнительные слои создают трение
- Чистый код, который выпускается с опозданием, все равно плохой
Что я изменил после этого собеседования
Теперь я готовлюсь по-другому. Я не начинаю с архитектуры.
Я начинаю с вопросов:
- Насколько быстро нам нужно выпустить продукт?
- Насколько вероятно изменение этого экрана?
- Кто будет поддерживать его после меня?
- Что самое простое, что не причинит нам вреда?
Только тогда я решаю, оправдан ли MVVM. И самое главное — я тренируюсь произносить это вслух.
Одно предложение, которое могло бы меня спасти
Если бы я мог вернуться назад, я бы ответил так:
MVVM имеет смысл с ростом логики. До тех пор я бы придерживался простоты и провел бы рефакторинг, когда бы появились проблемы.
Это единственное предложение демонстрирует больше опыта, чем любая архитектурная схема.
Заключительная мысль
Я провалился не потому, что выбрал MVVM. Я провалился потому, что защищал шаблон, а не решение.
Собеседования в стартапах не вознаграждают идеальную архитектуру. Они вознаграждают рассудительность.
Если эта история вас смутила — хорошо. Именно для этого и предназначены собеседования в стартапах.

