html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Веб-разработчики – тоже программисты?


Николас Закас (Nicholas C. Zakas) — известный front-end-консультант, автор многочисленных книг и статей, почетный гость конференций и, разумеется, блоггер. 5 лет проработал в Yahoo, где был руководителем технического отдела разработки внешнего интерфейса главной страницы (капец, нет вы только вдумайтесь, какие замечательные должности — «руководитель технического отдела разработки внешнего интерфейса главной страницы Yahoo»), а также внес вклад в библиотеку YUI.

Специализируется на JavaScript, HTML5 и CSS3, повсеместно ратует за большую производительность, масштабируемость, доступность и удобство сопровождения окружающего нас «веба». Сегодня мы знакомимся с его мнением по вопросу, который актуален и в нынешнем IT-сообществе, — что такое веб-разработчик и почему он тоже программист?

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

Как всё начиналось

Когда я поступил в колледж, мне очень хотелось работать с компьютерами, но я не мог сказать точно, чем именно собираюсь заниматься. Я с первого взгляда влюбился в «мультимедийный» (так это тогда называлось) компьютер Packard Bell, оснащенный процесcором Pentium и (просто невероятно!) CD-дисководом. Днями сидел за этим компьютером, не делая ничего конкретного, просто неустанно мастерил разные мелкие программки и отлаживал систему. Вот и все, чем я хотел бы заниматься, но я был уверен, что именно это мне и нужно.

В колледже я записался на обязательные курсы. В первом и втором семестре у нас был предмет «Информатика», где преподавали Pascal. Затем UNIX вместе с C. Затем — C++, Smalltalk, Prolog, ассемблер. Структура данных, алгоритмы. Базы данных.

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

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

Но в расписании моего колледжа, к сожалению, не нашлось ни единого курса по веб-разработке. Слишком молода была эта область. Поэтому я постигал это искусство в основном самостоятельно. Наконец, мои искания привели меня на практику в один стартап, где занимались веб-разработкой.

веб программист разработчик программирование web developer

С тех пор прошло уже более 15 лет. Бизнес постепенно осваивал «всемирную паутину», поэтому потребность в веб-разработчиках постоянно возрастала. Но меня удивляет то, что одно обстоятельство с тех пор совершенно не изменилось — я имею в виду отношение ко всей касте веб-разработчиков.

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

Моим последним местом работы в Массачусетсе была компания VistaPrint. Признаться честно, я ходил туда на работу с радостью, поскольку команда там была просто волшебная. Там у меня появилось несколько по-настоящему хороших друзей, так что я всегда старался не отрываться от коллектива.

Но вот что мне в этой организации не нравилось — так это факт, что меня там считали обычным «программистом». А слово «программист» автоматически означало «многостаночник». То есть мне приходилось писать и запросы для базы данных, и код для серверных приложений, и работать с HTML, CSS и JavaScript.

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

На самом деле мне совершенно не нравится такой подход, поскольку это насаждает определенную ментальность: утка, как известно, и плавает, и летает, и ходит... и все это делает плохо.

Моя история Yahoo

Одна из причин, по которым я попал в Yahoo, заключалась в том, что здесь мне могли предложить работу, связанную исключительно с HTML, CSS и JavaScript. Мне хотелось оставить всю серверную работу тем, кого она привлекает, а самому сосредоточиться на любимом деле. Действительно, Yahoo была одной из первых компаний, которая стала взращивать искусство веб-разработки.

Именно у них впервые обозначилась новая профессия «веб-разработчик», и на появившиеся вакансии пришла блестящая плеяда специалистов, которые очень скоро повели приютившую их компанию в славное будущее

Среди этих первопроходцев были Томас Ша, Эрик Миралья, Нейт Кэшли, Майк Ли и многие другие. Это была настоящая команда-мечта, целиком и полностью, и именно она окончательно и бесповоротно убедила Yahoo всерьез заняться веб-разработкой.

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

Это было еще до зарождения Google и задолго до того, как в умах программистов возникли Facebook и Twitter. Многие незаменимые методы, которыми мы пользуемся сегодня — особенно такие, которые связаны с быстродействием, прогрессивным улучшением (progressive enhancement), открытыми API и обеспечением доступности — являются плодом той работы, которой занялась компания Yahoo в те незапамятные времена. Когда я поступил на работу в Yahoo — а было это в 2006 году — сообщество front-end-разработчиков было полным жизни и активным, эти люди неустанно превращали Yahoo в ту самую компанию, которая затем сформировала неповторимый пользовательский опыт в интернете и заслуженно гордилась этим. Мне выпала честь стать частью этого сообщества и поработать со всеми упомянутыми выше людьми.

Некоторые великолепные мастера, вышедшие из первого поколения веб-разработчиков, достигли выдающихся новых высот. Томас Ша создал фреймворк YUI и заручился поддержкой, благодаря которой этот проект смог достичь зрелости. Эрик Миралья стал вице-президентом по продукции в компании Meebo, которая только что была приобретена Google. Нейт Кэшли снискал международный авторитет в CSS и front-end-разработке. Майк Ли продолжил творить и основал еще несколько стартапов. Дуглас Крокфорд формализовал нотацию JSON и стал всемирно признанным авторитетом по JavaScript, а также весьма успешным писателем. Стив Содерс стал экспертом мирового класса в области производительности, опубликовал первые данные о производительности в большой компании, создал YSlow, написал две книги и стал сооснователем конференции Velocity.

Благодаря Биллу Скотту, занимавшему посты вице-президента по UI-разработке в Netflix и старшего директора по UI-разработке в PayPal, в этих компаниях также появились свои сообщества front-end-разработчиков. Николь Салливан получила всемирное признание в области CSS благодаря предложенному ей подходу OOCSS, а также стала крайне востребованным консультантом по повышению производительности систем. Стоян Стефанов продолжил дело Стива по разработке YSlow, стал признанным авторитетом в области производительности и написал несколько книг. Исаак Шлютер создал npm и возглавил Node.js. Крис Хайлманн стал всемирно известным разработчиком-евангелистом. Скотт Шиллер зарекомендовал себя как специалист мирового уровня в области сетевого аудио, реализовав свой проект SoundManager 2.

Я мог бы продолжить этот список — рассказ обо всех разработчиках, вышедших из Yahoo и сделавших важнейший вклад в дело мировой веб-разработки, занял бы несколько страниц. Достаточно сказать, что такое большое front-end-сообщество не могло не привлечь выдающихся людей. Многие разработчики внешних интерфейсов, вышедшие из Yahoo, обосновались в больших и малых компаниях по всему миру, задав там планку высокого профессионализма.

Два аспекта негативного отношения к веб-разработчикам

Но на свете по-прежнему немало компаний, в которых веб-разработка не пользуется должным уважением. Часто веб-разработчиков даже не считают программистами, а иные «настоящие программеры» их просто чураются. Но я уверен — и это убеждение сформировалось у меня в ходе работы в Yahoo — что мы занимаемся важным делом. Я окончательно в этом убедился, пройдя обязательный курс Нейта Кэшли «Как стать front-end-разработчиком в компании Yahoo» — эти занятия я посещал, когда начинал там работать.

Возможно, наши знания и навыки не идентичны знаниям и умениям классических программистов, но мы, тем не менее, — самые настоящие программисты. Если вы пишете код — значит, вы программируете. И это действительно значит, что вы — программист. Суть этой профессии именно в том, что программист создает код, который потом используют заказчики. Если ваш код написан не на Java или С++ — вы не становитесь от этого «менее программистом», чем ваши коллеги, использующие эти языки каждый день.
(Примечание: я намеренно игнорирую кажущееся очевидным различие между «разработчиком» и «инженером». Я убежден, что эти слова означают одно и то же).

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

Ключевой аспект, из-за которого к веб-разработчикам сохраняется такое отношение, заключается в стиле нашей деятельности. Не допускайте даже намека на то, что вы — не программист. Как это сделать? А нужно всего лишь конкретнее называть то, чем вы занимаетесь. Мне хотелось бы, чтобы в интернете становилось меньше вакансий «Требуется веб-мастер», а им на смену приходили вакансии «Ищем front-end-разработчика» или «Разыскивается разработчик пользовательских интерфейсов». И, пожалуйста, избегайте таких выражений, как «веб-звезда» или «веб-ниндзя». Из такой формулировки вовсе не следует, чем именно вы можете быть полезны, да и выглядит она глупо.

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

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

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

Вот как обычно выделяются стандартные профессиональные уровни и специализации программистов:

  • Младший разработчик (junior engineer) — начинающий, возможно, недавний выпускник. Нуждается в обучении и помощи наставника. Ему можно доверять небольшие задачи под надзором старшего коллеги
  • Разработчик среднего уровня (mid-level engineer) — несколько лет опыта. Может работать без контроля, способен самостоятельно решать задачи среднего объема и сложности. Скорее всего, с большинством задач он справится хорошо.
  • Старший разработчик (senior engineer) — опытный специалист, демонстрирующий лидерские качества в командной работе. Может целиком брать на себя крупные задачи и отлично справляется с ними самостоятельно. Готов за все отвечать, а другие члены команды могут обращаться к нему за советом и критикой.
  • Главный инженер (principal engineer) — очень опытный специалист, чья способность руководить превосходит масштабы одной команды. Способен браться за выполнение сложных задач, а также распределять обязанности и управлять людьми. Обладает непоколебимыми навыками общения, благодаря чему может определять развитие работы как внутри своей команды, так и за ее пределами.
  • Архитектор (architect) — исключительно опытный специалист, способный руководить множеством команд. Организован, умеет общаться, хорошо разбирается в системах. Может и сам решать любые задачи, но большую часть времени тратит на проектирование и постановку задач для других, контроль над их выполнением в командах, а также на консультирование коллег. Незаменимый человек для решения непростых вопросов.

Выводы

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

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

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

Ошеломительный успех в области разработки внешних интерфейсов, достигнутый в Yahoo, следует взять на заметку всем компаниям: работая правильно, можно привлечь невообразимое количество талантливых людей и добиться выдающихся успехов. Недавние пертурбации Yahoo никак не связаны с front-end-сообществом; кроме того, как упоминалось выше, многие специалисты, успевшие поработать в Yahoo, сейчас выстраивают хорошие front-end-отделы в других компаниях.

Практически все «топовые» компании, которые можно припомнить навскидку, обязаны своим процветанием именно front-end-разработчикам. И по-прежнему не утихает «гонка вооружений», которую сейчас ожесточенно ведут Google, Facebook и Twitter, стремящиеся завербовать в свои ряды все больше и больше разработчиков веб-интерфейсов.

Это наша эпоха — даже не сомневайтесь. Поэтому, когда в следующий раз вас кто-нибудь спросит: «Кем вы работаете?» — просто отвечайте: «Я программист». А потом уже можете добавить, что специализируетесь на разработке веб-приложений.
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с blogerator.ru

5

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • pleshner
          • домен blogerator.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции