ИИ размывает грань между middle'ом и senior'ом?

Я C#-программист с многолетним стажем (и примерно middle на Go, который лишь однажды использовал в коммерческих целях), о чём написано в моём профиле на LinkedIn, но мне всё равно пришло предложение о работе в качестве Senior Python/Go engineer.

Конечно, если бы я был начинающим программистом, то даже не получил бы таких предложений. Чтобы дорасти до опытного программиста, так или иначе нужны годы. Но так ли уж важно быть senior’ом в предлагаемой должности, если ты уже имеешь аналогичную квалификацию в другой?

01cab15e5bdd8312f19b18e0185eee1b.png

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

Если ты уже имеешь квалификацию senior (и выше) в одном языке, знаешь общие принципы, паттерны, подходы, имеешь опыт разработки на разных языках с разным подходом, а также имеешь опыт в нужной работодателю сфере, то совсем не обязательно срочно погружаться с головой в другой язык, чтобы как можно быстрее стать профи в нём. Конечно, этот подход имеет право на существование, но не когда до интервью остаётся пара дней. Тут лучше вспомнить то, что уже известно, и подтвердить для себя уровень в другом, на который ищут.

Когда-то давно, 8,5 лет назад, когда я ещё был Delphi-разработчиком, меня взяли в компанию на должность C#-программиста. На тот момент я видел код на C# только на компе коллеги на предыдущем месте работы. Но через неделю уже выполнил первую задачу, а через месяц уже во всю занимался оптимизацией проекта. Это с нулевым опытом в C#, имея только книжки и до меня написанный код. Ещё гуглил сложные вопросы иногда. Через полгода я уже занимался не только проектом, на который взяли, но и основным, который мы начали постепенно перевозить с WebForms на MVC.

Год назад я решил переписать один из своих домашних проектов, написанных на Blazor (без отдельного бэкенда) с БД MSSQL. Для обновления решил использовать уже хорошо знакомый Go, почти незнакомый ReactJS и MongoDB, с которой был достаточный опыт работы. На этот раз у меня не было книжек и ранее написанного кода на React, но был Copilot и общее представление о создании программ, а также опыт в JS. Гуглил то, что мне было не понятно, читая статьи по отдельным темам. Как итог, переписывать проект я закончил быстрее, чем предполагал.

Я лишь обдумывал следующий шаг и начинал писать код. Иногда Copilot словно читал мои мысли и предлагал в точности то, что мне нужно. Я даже не пытался читать книжки, чтобы впихнуть в себя сразу всю информацию по React, которая всё равно вряд ли целиком где-то отложится. Я шёл от задачи и читал только о том, что мне было не понятно. В итоге самые сложные по логике и объёмные по коду части проекта, которые я отложил на конец, были закончены быстрее, чем когда я разобрался с началом проекта, подключением Redux и маршрутизацией. И вот, когда уже есть опыт и понимание многих вещей, можно и книжку почитать, уложив знания по полочкам из уже имеющегося опыта.

Уверен, многие могут возразить, но я считаю, что не нужно гнаться именно за senior’ами в конкретном языке программирования. Достаточно чтобы был аналогичный уровень в другом языке программирование, в нужной сфере, а также опыт похожих языков и желание активно развиваться в том, на который вы ищите специалиста.

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

Что это значит для разработчика? Больше возможностей, менее болезненный переход с одной технологии/языка на другую. Значительно упрощается процесс получения новой информации. Более быстрый поиск работы.

Что это значит для компании? Прежде всего, они сэкономят деньги. Ведь они берут middle’а (но с опытом senior’а в другом языке), который чуть позже дорастёт до senior’а в их компании. И уже тогда они поднимут и уровень, и зарплату, до ранее обещанных, сохранив специалиста у себя на подольше. Быстрее закроют потребность в специалисте.

В общем, такие мысли в праздничные дни.
Как считаете, имеет ли шанс на существование такой подход? Интересно было бы узнать мнение компаний. Готовы ли вы в поисках senior’а взять к себе готового активно расти middle’а, но с опытом senior’а в другом языке программирования?

(тут могла быть ссылка на мой Телеграм-канал, но я её вам не дам)

Habrahabr.ru прочитано 1674 раза