..

Немного про то, что нужно смотреть не только на код, но все то, что крутится вокруг него

Читать в Telegram

Когда ты работаешь в очень крупной компании, в большом отделе разработки, ты всего-лишь шестеренка, которую довольно просто заменить и которая исполняет какие-то определенные обязанности, которые ограничиваются рамками твоей команды ( поставили тебя +1 разработчиком в какую-нибудь команду платежей или пользовательского саппорта, и максимум, что дадут посмотреть вне твоего юнита - какие-то общие задачи и PR’ы коллег из других отделов). С одной стороны, ты будешь ограничен рамками одной области ответственности, и это очень даже хорошо (не нужно будет держать в голове кучу информации из других частей приложения, ты сможешь приносить максимальную пользу и делать фичи довольно быстро), но с другой стороны, может потеряться видение всего продукта.

На маленьких-средних проектах (стартапы или MVP), тебе приходится решать очень много задач, которые относятся ко всему приложению и вообще к разным областям ответственности. Тут тебе и настройка Аналитики, когда тебе придется вникать, зачем она вообще нужна, как и на какие показатели влияет; уведомления, интеграция с другими сервисами (Firebase, Huawei, та же самая Аналитика, но не одна, а несколько). Это делает тебя не только опытным разработчиком, но и помогает лучше понять, как работает приложение для бизнеса.

Я прекрасно помню момент, когда меня поставили делать MVP (которое потом переросло в полноценный продукт) почти с нуля, и как здорово было консультировать заказчика по поводу внедрения той или иной технологии. Когда ты уже что-то попробовал, знающие коллеги тебе рассказали, что к чему, ты можешь шарить эти знания и опыт на другие продукты и сервисы. Разработка от этого становится быстрее - не нужно тратить время на пробы и ошибки, даже когда у тебя есть какая-то базовая теория.

Это не утверждение о том, что в больший компаниях такого нет, и вы там ничему не научитесь. Наоборот, нужно смотреть не только на разработку, но и на вещи, которые ее окружают. Не нужно думать, что все ограничивается только вашими рабочими задачами, ведь они могут отличаться от компании к компании. Очень часто приходится самому задавать дополнительные вопросы касательно той или иной фичи, но за спрос, как правило, вас не наругают (менеджеры обычно приветствуют такие расспросы). Мы очень сконцентрированы на коде, и порой не замечаем каких-то поведенческих моментов, которые замечать нужно было-бы. Само по себе создание приложений (за редкими исключениями) это про связку не только кода, но и анализа пользовательского поведения, предоставления того опыта, который людям нужен. Зная то, как лучше будет расположить что-то на экране, какие шаблоны поведения у пользователей существуют, вы сможете писать более продуманный софт даже не думая о том, как и что расположить - это все будет делаться машинально. Знание работы дополнительных сервисов тоже не будет чем-то лишним, даже если со временем вы забудете детали реализации, определенный базис все равно останется.