«Разработчик переднего конца» или кто я по профессии

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


    В более взрослых отраслях, чем 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 фронтенд-девелопером приблизительно такая же логика — в первую очередь видно и понятно, что работать над интерфейсами ему не интересно и он не умеет, а не то что он с закрытыми глазами на ощупь отличает версию ангулара.


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


    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 10

      +1
      шедевральная адаптация понятия «front-end разработчик»!)
        +1
        Верно подмечено. Даже как-то обидно стало :-\
        0
        По-моему, Web Engineer или более общее Software Engineer очень хорошо описывает уровень программиста.
        Программисты должны быть инженерами, а не просто разработчиками (кодерами).

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

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

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


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


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


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


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

            0

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

              0

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


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

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

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

                  Only users with full accounts can post comments. Log in, please.