Connect with us

Разработка

Я использовал MVVM на собеседовании в стартапе — меня спросили «почему»

Я провалился не потому, что выбрал MVVM. Я провалился потому, что защищал шаблон, а не решение.

Опубликовано

/

     
     

Собеседование совсем не походило на собеседование.

Просто стол, доска и небрежный вопрос:

«Давайте разработаем первую версию нашего приложения».

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

Рефлекторный ответ

Мы выбрали простой экран. Ничего особенного. Я нарисовал View, добавил ViewModel и произнес фразу, которую каждый iOS-разработчик произносил тысячу раз:

«Здесь мы будем использовать MVVM».

Интервьюер кивнул. Сделал паузу. Затем спросил:

«Почему именно MVVM

Не агрессивно. Не скептически. Просто из любопытства. И каким-то образом это только ухудшило ситуацию.

Пауза

Я знал MVVM. Я использовал его годами. Выпускал приложения с его использованием. Защищал его на code review. Но в тот момент я осознал нечто неприятное.

Мне никогда раньше не приходилось это обосновывать.

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

Почему этот вопрос так жесток на собеседованиях в стартапах

Крупные компании часто спрашивают, что вы знаете. Стартапы спрашивают, почему вы это делаете.

Им всё равно, что:

  • Примеры Apple склоняются к MVVM
  • Все в Твиттере рекомендуют его
  • Вы использовали его на своих последних трёх работах

Их волнует одно.

Помогает ли нам этот выпускать продукт — или просто даёт чувство безопасности?

И внезапно MVVM перестал казаться очевидным выбором.

Что я начал говорить (и почему это было неправильно)

Я начал говорить. Это всегда ошибка. Я говорил такие вещи, как:

  • Разделение ответственности
  • Чистая архитектура
  • Масштабируемость

Интервьюер не перебивал. А это никогда не бывает хорошим знаком.

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

Контекст, который я проигнорировал

Это был не зрелый продукт.

Это была первая версия.

Они думали о:

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

Я защищал архитектуру для будущего, которое, возможно, никогда не наступит.

Что они на самом деле проверяли

Они не были против MVVM. Они проверяли, смогу ли я сказать что-то вроде:

«В первой версии я бы оставил эту логику в ViewController. Если она начнет разрастаться или станет сложной для тестирования, я вынесу ViewModel».

Этот ответ показывает:

  • Продуктовое мышление
  • Осознание затрат
  • Умение проводить рефакторинг

В стартапах это важнее, чем чистые диаграммы.

Ловушка Senior разработчика

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

Но стартапы видят это по-другому:

  • Избыточная архитектура замедляет работу команд
  • Дополнительные слои создают трение
  • Чистый код, который выпускается с опозданием, все равно плохой

Что я изменил после этого собеседования

Теперь я готовлюсь по-другому. Я не начинаю с архитектуры.

Я начинаю с вопросов:

  • Насколько быстро нам нужно выпустить продукт?
  • Насколько вероятно изменение этого экрана?
  • Кто будет поддерживать его после меня?
  • Что самое простое, что не причинит нам вреда?

Только тогда я решаю, оправдан ли MVVM. И самое главное — я тренируюсь произносить это вслух.

Одно предложение, которое могло бы меня спасти

Если бы я мог вернуться назад, я бы ответил так:

MVVM имеет смысл с ростом логики. До тех пор я бы придерживался простоты и провел бы рефакторинг, когда бы появились проблемы.

Это единственное предложение демонстрирует больше опыта, чем любая архитектурная схема.

Заключительная мысль

Я провалился не потому, что выбрал MVVM. Я провалился потому, что защищал шаблон, а не решение.

Собеседования в стартапах не вознаграждают идеальную архитектуру. Они вознаграждают рассудительность.

Если эта история вас смутила — хорошо. Именно для этого и предназначены собеседования в стартапах.

Источник

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: