
Виктор М. де Соуза Перейра
Писатель и инженер-программист
Я часто об этом думаю, потому что это не похоже на большинство других профессий.
Быть разработчиком — тяжело. С самого начала тебе уже нужно знать пару языков программирования и ещё несколько инструментов. Но этого недостаточно. Компании ждут, что ты будешь разбираться именно в том фреймворке, который они используют у себя. Это может быть Rails, Django, Laravel или что-то ещё. Тебе также понадобится CSS. Его можно учить всю жизнь и всё равно не понять, почему ломается вёрстка, но минимально необходимый уровень освоить реально.
Вряд ли получится обойтись без JavaScript. Может тебе повезёт, и нужно будет лишь иногда править jQuery в устаревшем приложении, которое нужно поддерживать. Но времена меняются.
В какой-то момент люди из Facebook создали React. Оказалось, что у компании с десятками тысяч инженеров всегда было две специализации: фронтенд и бэкенд. Коллективный разум программистов решил, что React теперь является правильным способом создавать приложения, но в то же время компании решили, что не могут себе позволить новых инженеров. Так появился фулстек-разработчик, и теперь это ты. Начинай изучать React и создавать приложения по REST-API на основе уже знакомого тебе бэкенда.
На этом всё не заканчивается. Ты же знаешь, что типы нужны, правда? Добавляй TypeScript. И ты же не будешь управлять состоянием в React, как дилетант? Добавляй Redux. Думаешь, что самый умный и избежал этого? Тогда развлекайся с webpack/esbuild/rollup, плюс Prettier, плюс ESLint.
Ты можешь сказать: «Хорошо, но я могу продолжать делать всё по-старому. Это нормально работало. Мне не нужен React». Конечно можешь. Ты абсолютно свободен отклониться от общепринятых практик в этом быстроразвивающимся стартапе, сжигающим деньги. Просто скажи своему начальнику, что готов обучать новичков, которые слышали только про React, всем прелестям серверного рендеринга.
Ой, и, оказывается, это только начало. Когда по земле ещё бродили динозавры, существовала профессия системного администратора. Их работа заключалась в том, чтобы твой бэкенд работал хорошо. Они занимались изменениями инфраструктуры, обновлением систем баз данных, обновлениями операционной системы, поддержкой работы демонов, перезагрузками — всем. Потом появился DevOps. Какая-то компания из-за нехватки денег решила, что теперь всем этим должны заниматься разработчики, и все согласились. Теперь тебе нужно изучать Docker. Ой, а твоё приложение просто один статически собранный бинарник, и Docker не нужен? Тогда учи Ansible и разбирайся, какие параметры передавать в SystemD.
И сейчас мы даже не на половине пути. Теперь тебе нужно осваивать облачные вычисления. Ты же не будешь настраивать инфраструктуру через GUI, как дикарь? Так что учи Terraform, Pulumi или что-то ещё.
Ты хорошо справляешься с работой. Тебя повышают до менеджера. Тебе нужно учиться совершенно другой работе. Но это нормально, потому что это уже конец игры. Блаженство. Вот некоторые вещи, которые нужно будет делать:
-
Прикидывать сроки выполнения задач
-
Распределять задачи между коллегами
-
Писать спецификации
-
Участвовать в ежегодных оценках
-
Предоставлять ценную обратную связь на митингах по продукту
Лучше надеяться на то, что к этому моменту компания увеличится вчетверо, иначе придётся совмещать менеджмент со всем вышеперечисленным.
Но может быть и хуже. Пару дней назад ко мне обратился рекрутер по поводу вакансии инженера в секретной компании. Они решили, что им нужны навыки сеньора в Rails, Hotwire и, внезапно, нативной мобильной разработке. Почему бы не добавить туда ещё и разработку ядра и компиляторов для надёжности?
Программы становятся сложнее. Сложность добавляется не просто так. Но что случилось со специализацией? Когда строится дом, над ним работает куча людей: архитекторы, инженеры, сантехники, электрики, каменщики, дизайнеры интерьера, кровельщики, геодезисты, и т. д. Ты не ожидаешь, что один человек или даже одна компания, сделает всю эту работу.
Может быть будущее, в котором мы сможем собрать всё приложение парой команд, не так уж и плохо.
ссылка на оригинал статьи https://habr.com/ru/articles/898356/
Добавить комментарий