Легенда о fullstack-разработчиках

Руководитель разработки ISPsystem Александр Брюханов рассказал, как живут создатели софта и чего ждут от соискателей.

О компании: Мы в ISPsystem пишем софт для управления хостингом и серверами. Офис в Иркутске, а работаем на российском рынке и за рубежом. Мы заинтересованы в мотивированных студентах из IT-сферы.

Руководитель разработки Александр Брюханов. Фото: Зоя Лалетина

Многие соискатели не понимают потребностей работодателей. На собеседовании говорят: «Пишу на C++, Java, на PHP могу, CSS немного знаю и HTML в каком-то виде есть». Я на таких людей смотрю с подозрением, и расскажу почему. Но для начала экскурс в историю разработки.
15-20 лет назад работодатель приходил в вуз и говорил: дайте мне 20 разработчиков, возьму всех. При этом каждый разработчик был универсальным бойцом: мог обжать провод, нарисовать иконку, написать текст. Результаты, правда, были не очень.

 

 

И дело даже не в том, что один программист ничего не мог, а в том, что технологий было мало, и они были значительно проще: голый HTML, который изучался за пару дней, CSS в зародыше, Java вообще не было. Плюс надо понимать, что это конец 90-х с подключением к интернету на скорости 56 Кбит/сек и мониторами 1024 на 768.

Хотя уже тогда были люди, которым нравилось возиться с железом, но не нравилось рисовать и программировать; были те, кто любил рисовать, но не писал код. Но в целом и задач, и инструментов было не так много, одному человеку было под силу их освоить.

Как менялась ситуация со временем, покажу на нашем примере. Мы начинали вчетвером. Днем кодили, ночью отвечали на вопросы пользователей. Но клиентов становилось больше, тянуть на себе и программирование, и дизайн, и поддержку становилось сложнее. Сначала взяли дизайнера. Когда ночью спать стало совсем некогда, организовали техподдержку.

Набор технологий 20 лет назад

Продукты развивались и появлялись новые, для их разработки брали программистов. Раньше все сидели в одной комнате, кто-то один говорил: я буду релизиться, ничего не трогайте. Все замерли, человек собрался, выложил, — все счастливы. Когда программисты расселись по разным кабинетам, стало сложнее. Поэтому стали появляться инструменты для сборки и деплоя (Continuous Integration). Появился Jenkins, появились системы контроля версий: сначала мы жили на CVS, потом на SVN, потом перешли на Git и остановились на нем.

С разделением поддержки и разработки появилась новая проблема. Раньше меня будили 20 раз за ночь из-за одной проблемы, и я знал, что если автоматизирую решение, буду спать крепче. Теперь поддержку будят 20 раз за ночь, а до меня не доходит. Сохранить связь помогают продакт-менеджеры. Они выясняют нужды клиентов и рассказывают о них разработчикам.
Интерфейсы раньше проектировали программисты. Теперь этим занимается UX-отдел. Эти люди тоже принесли свои инструменты.

Набор технологий сегодня

За 20 лет появилось много инструментов. Мифических людей, которые владеют всеми инструментами, как раз и называют fullstack-разработчиками. Существуют ли они? Глядя на некоторые резюме, кажется, что да. Но в общении выясняется, что человек где-то в институте слышал о HTML, Python, Perl, ну и Photoshop открывал два раза в жизни.

Есть теория, что чтобы стать профессионалом в одной сфере, надо потратить примерно 10 тысяч часов. Вот и считайте. Вроде бы можно научиться рисовать, программировать, разбираться в железе, но по факту 10 тысяч часов туда, 10 тысяч часов сюда. И технологии на месте не стоят, чтобы не отставать, надо постоянно практиковаться.

Взять тот же Angular: два года назад про него никто не слышал, а сейчас уже седьмая версия вышла. Причем одна версия от другой отличаются радикально. Поэтому чтобы не отставать, надо постоянно посвящать своей теме время.

Поэтому современное ПО — результат работы команды профессионалов. И ценятся как раз узкие специалисты. Почему? Потому что одному очень тяжело изучить все инструменты и технологии. Человек-оркестр всего не успеет: день на программирование, день на деплой, день на фотошоп, но что можно сделать за день? При этом работодателю все надо как можно скорее, а часто вообще вчера.

Другая сторона медали. Если вы все-таки такой человек-геракл, в каждой отдельной области вы хуже, чем узкий специалист, большая вероятность перегрузки задачами, нет четкой зоны ответственности, вас сложно заменить, вы можете начать завидовать зарплате узких специалистов. Ну и вас будут звать работать по случайным ключевым словам в резюме. Припишете HTML и CSS, и вас будут дергать на вакансии веб-разработчика, UX-разработчика и кого угодно, хотя вы хотите быть программистом.

Бывают, конечно, и такие работодатели, которые ищут специалистов одновременно в HTML, C++, Angular. Но это редкость. Крупная IT-компания никогда не будет искать, например, веб-разработчика — нет такой специальности, слишком широкое понятие.
Новые лекции от ISPsystem
Приходите на наши лекции в ИМЭИ ИГУ:
10 февраля. Баттл: что круче C++ или Java. Александр Брюханов и Антон Черноусов.
17 февраля. Баттл: что круче Angular или React. Фронтендеры ISPsystem.
3 марта. UX-дизайн и развитие продуктовых интерфейсов. Алексей Сорокин.

А еще у нас можно пройти практику. Вопросы отправляйте на job@ispsystem.com. Об условиях работы читайте на сайте.