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


В более взрослых отраслях, чем IT, уже давно осели такие дивные непонятные профессии с названиями вроде «коуч-эксперт», «консалтинговый менеджер» или какой-нибудь «клининговый тьютор». Веб-отрасль постепенно постигает та же горькая участь.



Какофония профессий


«Веб-дизайнер», как понятие в русскоязычном пространстве совершенно не совпадает с аналогичным понятием в англоязычном пространстве. Русскоязычный веб-дизайнер занимается составлением коллажа и макетов будущих страниц. Продвинутые веб-дизайнеры, чтобы отличаться от тех, низкоквалифицированных дизайнеров, дополнительно вешают на себя ярлыки «UI/UX дизайнера» или «дизайнера интерфейсов», подразумевая, что они предварительно думают головой, прежде чем рисовать коллажи и макеты будущих страниц и приложений. А особо продвинутые называют себя «арт-директором» или еще как-то так. Тех, кто не успел повесить себе медаль «UI-эксперта», пренебрежительно дразнят операторами фотошопа. Операторы фотошопа же или вообще новички в отрасли целенаправленно пытаются получить гордый титул «UI/UX», подразумевая, что они тут не хухры-мухры, а ребята с серьезными намерениями.


И еще у нас есть отдельная, в последнее время вымирающая, профессия «веб-верстальщика», которая подразумевает перевод нарисованных дизайнером картинок в удобочитаемый и адекватный html+css и иногда с примесью javascript. Если веб-верстальщик знает больше, чем просто набор тегов и немного css, называться «веб-верстальщиком» ему почему-то становится стыдно, и он вешает на себя ярлык «фронтэнд-разработчика», подразумевая, что он делает полноценные приложения в браузере, а не просто режет картинку на дивы и таблички или берет css-бутстрап и просто переопределяет переменные для CSS. Еще более модное название той же самой профессии даже не хочется переводить с английского, потому как по-русски оно звучит не достаточно круто — «клиент-сайд девелопер». По-русски это бы был обычный «разработчик приложений в браузере», а одно время гуглотранслейт буквально это переводил, как «разработчик переднего конца», что звучит скорее оскорбительно. Интересно, что появилась такая профессия в далекие времена ie6, opera8 и ff2 и именно потому, что тем людям, у кого было воспитано чувство прекрасного, не хватало сил и терпения научиться создавать html-файлы, которые одинаково хорошо отображаются в этих самых ie6, opera8 и ff2.


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


Систематизируй это


Правильному веб-дизайнеру просто необходимо уметь на выходе выдавать не красивую psd-ai-sketch картинку, а набор html+css+js, полностью готовый к интеграции в существующее приложение. В итоге веб-дизайнер должен еще быть хорошим веб-верстальщиком. Само собой, голову ему тоже стоит использовать в своей работе, поэтому «дизайнер-интерфейсов» как понятие тоже должно отсутствовать. «Веб-дизайнер» и точка.


Тех верстальщиков, которые не готовы придумывать интерфейсы с нуля, а любят возиться с css и оптимизировать рендеринг в браузере и размер правильнее называть веб-технологами. Звучит как минимум гордо. Веб-технолог не верстает странички, и не пишет приложения на ангуларе. Технолог решает проблемы, которые возникают повсеместно — как вращать текст по часовой стрелке, чтобы рендеринг не тормозил на мобильных, как сократить трафик фоновой картинки и как заставить векторные картинки отображаться в мобильной опере.


Правильного фронтенд-девелопера стоит переименовать в простого джаваскрипт-разработчика и не выделываться, потому как мириады инструментов, созданных для веба, принципиально не отличаются от той массы инструментов для какого-либо другого окружения, будь до java, ruby, PHP или еще что-нибудь. Руби-разработчик остается руби-разработчиком вне зависимости от количества гемов и инструментов, используемых в работе. И почему-то его отличают от эрланг-разработчика, несмотря на то, что и тот и другой является в общепринятом смысле «бекэнд-разработчиком». А вот фронтенд-девелопер внезапно должен уметь одинаково хорошо программировать на es6 и react-js и в это же время писать отличный код на TypeScript с AngularJS. Современные реалии должны отличать TypeScript-разработчика от elm-разработчика и знания клиентских фреймворков должны позиционироваться точно так же, как и знания фреймворков у любого разработчика. Джанго-разработчик и разработчик, умеющий писать плагины для ansible принципиально отличаются в базовых знаниях, несмотря на то, что и то и другое написано на питоне.


И читая (или составляя) резюме с пометкой «UX/UI-дизайнер» в первую очередь нужно обращать внимание на то, что кандидат не знает как правильно составить html, не знаком с технологиями браузеров и возможно плохо владеет графическими инструментами для составления полноценных макетов, а не то что этот человек отлично разбирается в том, какого размера кнопку нужно поставить в правый верхний угол и как уменьшить количество кликов, чтобы пользователь зарегистрироваться. C фронтенд-девелопером приблизительно такая же логика — в первую очередь видно и понятно, что работать над интерфейсами ему не интересно и он не умеет, а не то что он с закрытыми глазами на ощупь отличает версию ангулара.


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


Поделиться с друзьями
-->

Комментарии (10)


  1. Xenfield
    22.08.2016 14:12
    +1

    шедевральная адаптация понятия «front-end разработчик»!)


    1. VDemot
      22.08.2016 21:08
      +1

      Верно подмечено. Даже как-то обидно стало :-\


  1. AndreyRubankov
    22.08.2016 16:12

    По-моему, Web Engineer или более общее Software Engineer очень хорошо описывает уровень программиста.
    Программисты должны быть инженерами, а не просто разработчиками (кодерами).

    Они должны разбираться в куче всего, что связано с написанием и поддержкой кода + понимать что нужно бизнесу. Если программист не понимает ценности чего-то для бизнеса — он простой кодер.

    А из дизайнеров и UI/UX специалистов не нужно делать developer'ов — они и так имеют конкретное различие, верстать не должны, но понимание, как устроена верстка у них должно быть, чтобы не рисовать красивости, которые нереально сложно наложить на html.


  1. azShoo
    22.08.2016 16:33
    +1

    Я бы, честно говоря, призывал к обратному. Каждый раз, когда я вижу вакансию Django-разработчика, Symphony разработчика, или что ещё хуже, React разработчика — мне хочется плакать.
    Фреймворк, технологии и даже язык программирования — всего лишь инструмент. «Везде есть свои особенности и костыли, которые надо знать» — возразите вы.
    Да, если вы берете джуниор разработчика — вам полезнее брать того, кто уже набил себе шишек на ошибках, похожих на ваши.
    Если вы берете разработчика с приличным багажом знаний, и всё что он знает — как правильно готовить Django, то вы в заднице.
    Потому что как только вам понадобится что-то, не укладывающееся в существующий стек технологий, архитектуру фреймворка, или просто не описанное в разделе Django на стаковерфлоу — ваш чудесный Django разработчик словит bsod.
    И потом начинается «а давайте здесь впилим монгу, потому что я монго-разработчик».


    1. aratak
      22.08.2016 17:30

      Вы абсолютно правы. И, если честно, не понимаю почему вы считаете это "обратным". Это ведь тоже самое! К слову, у обычных разработчиков (серверных, если хотите), а не у "фронтенд-разработчиков" с этим все более-менее аккуратно и очевидно. Фраза "я разработчик и я знаю питон, скалу, руби и эрланг" никого не удивляет и вполне естественна. А вот "я фронтенд-девелопер и умею все, что в браузере работает" звучит раздуто.


      Разработчик должен многое уметь и многое знать, постоянно развиваться. Посыл основной статьи был в том, что фронтенд-девелопера стоит переименовать в простого джаваскрипт-разработчика, и не в коем случае не в react/angular-разработчика. Стоит отличать javascript-разработчика от typescript-разработчика, а от elm-разработчика не требовать знать coffeescript. Конечно же, разработчик может знать несколько языков, тогда он будет гордо носить титулы, например, typescript-разработчика и elm-разработчика одновременно.


      А вот инструментарных разработчиков вроде django-разработчиков, rails-разработчиками и angular-разработчиками нужно отправлять куда-нибудь учиться, а не программировать. Вместе с операторами фотошопа и верстальщиками.


      Кроме того, тенденции серверной разработки говорят нам, что существуют и вполне успешно scala-разработчики, который вообще не умеют писать на java или elixir-разработчики, который ни в зуб ногой в erlang. Это нормально. А возражение «везде есть свои особенности и костыли, которые надо знать» говорит в подкрепление к вашему комментарию и к моей статье одновременно, что действительно везде свои особенности и все надо, мать его, знать.


      В статье оспаривалось существование мифических профессий, вроде "фронтенд-девелопера", который о навыках программиста говорит не больше, чем просто "разработчик". Или вроде "UX/UI дизайнера", который как бы и не художник и верстать не умеет и с фотошопом плохо работает. Если проводить параллель "UX/UI дизайнера" с кем-нибудь из вышеперечисленных, то получится такой себе "монго-разработчик"


  1. November
    22.08.2016 19:43

    А как бы вы перевели термин "верстальщик" на английский? Если отказываться от несуществующих профессий, то надо перевести существующую на lingua franca.


    1. aratak
      22.08.2016 20:09

      Отдельного понятия «верстальщик» в англоязычном вебе нет и у нас это звучит, как нонсенс. Человек, который картинки превращает в разметку. Как написано в статье, дизайнер самостоятельно должен заботиться о разметке, а технолог не должен заниматься psd-to-html конвертированием.


      Даже больше, верстать верстку адекватно должны уметь все. Та профессия, которая должна заменить верстальщика — «веб-технолог». Это человек, разбирающийся в тонкостях рендеринга браузеров, различных форматов и протоколов передачи данных. В общем-то технолог в общем смысле этого слова есть практически в каждой отрасли и в веб-разработке он тоже смотрится отлично.


  1. vedmaka
    22.08.2016 20:45
    +1

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


  1. ilfa
    23.08.2016 12:02

    Мне кажется, или не хватает тега «юмор»?


  1. TemRhythm
    24.08.2016 09:07

    Давно я ждал подобную статью. Полностью согласен со статьей. Намученный горьким опытом верстки psd макетов горе-дизайнеров, скажу что намного продуктивнее будет иметь дизайнера, который делает шаблоны веб-продукта в html css. Тут сразу появляется большое преимущество по сравнению с рисующими дизайнерами — анимация и другие эффекты будут делаться им и ровно так, как задумал дизайнер. И выглядеть (стоить) продукт будет гораздо лучше (больше), на мой взгляд. А кроссбраузерностью и исправлением технических недочетов как раз таки занимается веб-технолог.

    Эх… Поработать бы с командой, которую описал автор статьи…