Обязателен ли для вашей компании front end разработчик
Дата публикации: 24.09.2014
Многие компании нацеливают усилия на разработку серверной части проекта. Изначально все внимание приковано к данным, которые должны реализовать бизнес-план проекта, а так же безопасность этих данных. Недостатком такого подхода является отсутствие целостного похода, включающего front end. Front end разработчик обычно воспринимается как парень, который «просто делает проект привлекательней». В этом утверждении есть доля правды, но в целом — это стереотип. По такому принципу серверного разработчика можно было бы назвать как парень, который «работает с данными».
Распространенные заблуждения
Это мастер на все руки? Или «специалист», который толком ничего не умеет? Давай попробуем составить перечень навыков, которыми должен обладает такой разработчик. Значит, он умеет реализовывать бизнес логику, обеспечивать безопасность данных, обеспечить высокую производительность, уметь все это расширять и в добавок превосходно отобразить данные на стороне клиента. Конечно, подобные «супергерои» существуют, но их очень-очень мало. Если вы считаете, что ваша компания it-svalka.ru таким обладает — вам можно только позавидовать, если это действительно так. Но скорей всего, у вас обычный работник. Но даже, если вам действительно повезло и ваш разработчик в состоянии написать хороший код, что-то из проекта будет принесено в жертву: способностей будет недостаточно, чтобы охватить все отрасли веб разработки.
Серверные разработчики обычно используют различные инструменты для создания разметки. Опасно считать, что данная разметка является достаточно хорошей. Тут самое время задаться некоторыми вопросами. Будет ли такое посредственное решение способствовать развитию вашего бизнеса? В глазах ваших пользователей и клиентов будете ли выделяться профессионализмом? Получат ли они прекрасное впечатление от посещения вашего ресурса?
Кто такой Front end разработчик?
Front end разработчик, как правило, обладает обширными знаниями по своей области, кроме того, умеет использовать и применять приемы для сопутствующих сфер. Он полностью изучил учебники HTML разметки, талмуды про CSS и дизайн, знаком с теорией цветов и Javascript. Скорей всего прочитал одну-две книги по серверным языкам программирования, в которых описано взаимодействие с серверной стороной с помощью технологий Ajax. Front end разработчикам приходится рассматривать методы разработки проекта в целом: им в добавок к HTML разметке и написанию Javascript кода часто приходится иметь дело с еще рядом технологий:
- веб юзабилити и эвристика;
- web 2.0 тренды, различные API и кучу других новых и революционных технологий;
- графический дизайн, архитектурное проектирование, проектирование баз данных и программное проектирование;
- кроссбраузерность и веб стандарты;
- дизайн и оптимизация под мобильные устройства;
- высоконагруженные веб сайты;
- создавать мультимедия и внедрять ее в веб приложения;
- SEO или даже SOA;
- обладать способностями копирайтера и корректора.
Далеко не каждый нанятый вашей компанией работник обладает таким «арсеналом». Но таким перечнем будет обладать высококвалифицированный специалист, которого по ценности можно сравнить с высококвалифицированным серверным разработчиком. Ныне же часть этих подпунктов, по прежнему дополняют обязанности серверного разработчика.
Front end разработчик в своей работе оперирует не только конкретными понятиями и задачами, но часто имеет дело с абстрактным мышлением. Он относится к тем немногим кто способен проложить «мост» между математикой и искусством, он воспринимает математику как искусство. Из-за того что он способен объединить две эти дисциплины, из-за того что способен подключить пользовательский опыт (user exprerience) к процессам логической обработки — он являются очень ценным сотрудником для бизнеса.
Разработчик и деньги
Бегло просмотрев предыдущий список, становится вполне очевидно, что компания получит хорошие дивиденды от найма
такого работника. Но все это больше чем просто многозадачность в одном лице или перечень «модных» слов в резюме.
В действительности компания не может себе позволить не иметь кого-нибудь в штате с такими навыками. Рассмотрим три простых
бизнес категории чтобы показать экономическую ценность.
Удобство для пользователей
Пользователи, кроме содержания, хотят видеть приятный сайт, хорошо работающий и интуитивно понятный. Существует большое количество причин, почему пользователи могут покинуть сайт. Front end разработчик это как раз тот человек, кто способен их распознать (по крайней мере большую часть). Сайт может быть с плохим дизайном неприятный глазу, буквально отталкивающий посетителей. Продуманный дизайн производит впечатление профессионального сайта. Интерфейс может быть сложным в использовании и посетители могут пойти поискать то, что им нужно в другом месте.
Дорогостоящий тест на юзабилити в большинства случаев не нужен. Достаточно следовать лучшим практикам и шаблонам описанным в книгах «Не заставляй меня думать» Стива Круга и «Jakob Nielsen’s excellent site» Якоба Нильсена.
Как тестируют разработчика
Каждая фокус группа может быть создана находчивым разработчиком просто пригласив людей, которые проходили мимо офиса, и дать им попробовать использовать интерфейс. При этом естественно понаблюдать за ними.
Структура кода
Оказывается, что такие «безобидные» действия, как разметка с помощью таблиц (прим. ред.: сюда можно смело относить и просто некачественный код, даже если он сделан дивами), может дорого стоить. Подобное смешивание представления и содержания, ведет к избыточности кода и как следствие требует большей пропускной способности канала (за трафик платите и вы, и посетители).
В добавок такой код является кошмаром для разработчика, который будет поддерживать проект. Он естественно потребует большей оплаты, так как его работа будет более трудоемкой, а реализация даже несущественных доработок может существенно затянуться во времени, что в свою очередь может привести к потери клиентов и меньшей конкурентной способности.
Таблицы имеет гораздо меньшую доступность и «убивают» мобильные телефоны и PDA: такие пользователи для вас будут потеряны. И Google нравятся с сайты с лучшей доступностью: как следствие — несколько лучшие позиции в выдаче результатов поиска.
После избавления от таблиц и некачественной разметки, front end разработчик должен побеспокоится о создании внешних таблиц стилей и javascript сценариев, чтобы браузер мог кэшировать этот код. Это иногда может сократить трафик на 50%. При таком подходе будет подгружаться точно один внешний CSS файл и может быть пара javascript файлов. Использование CSS3 позволяет избавится от графики для создания теней, градиентов, скругленных углов, что ощутимо снижает количество обращений к серверу. Остальная графика должна быть грамотно оптимизирована.
Реклама и инструменты из социальных сетей могут превратить ваш ресурс в помойку и даже привести к «падению» ресурса у ваших пользователей. Front end разработчик знает как и куда внедрить подобные элементы, чтобы они не нанесли «урон» вашему сайту.
Сколько времени займет разработка
Ключом к продуктивной работе команды, состоящей по крайней мере из двух разработчиков, является работа сообща и отчеты друг перед другом. Такой подход будет способствовать решению приоритетных задач и поможет не отвлекаться на второстепенные и ненужные задачи.
Такая организация работы над проектом имеет гораздо больше шансов на успех.
Весь проект лучше разбить на ключевые этапы, которые будут постепенно реализовываться. Эти частичные релизы будут держать клиента в курсе прогресса. Так же так проще получить визуальную заглушку для пользователей, пока остальные части проекта будут доделываться. Таким образом не будет запущен весь проект сразу. Но медленно, шаг за шагом, будет идти контролируемое продвижение к успешному окончанию проекта.
Серверный и клиентский разработчики имеют различные цели: «достать» данные и обеспечить удобство использования, соответственно. Эти обе цели важны и следует добиться их достижения. Идеальный способ для этого — использование API. Back end предоставляет данные через API, с которыми дальше уже работает front end. Правильно спроектированный API не только освобождает серверного разработчика от необходимости разбираться в тонкостях пользовательского интерфейса, но и от потенциальной небезпасности и ненадежности интеграции серверной логики с пользовательским интерфейсом. Это дает возможность четко разделить работу front и back end разработчиков, это снижает риски безопасности, это уменьшает количество сгенерированного кода, который страдает отсутствием гибкости.
Разработка с помощью API не только более эффективна и безопасна, но подготовит компанию к ближайшему будущему, когда приложение будет размещено в облаке и доступность данных становится важнейшей и первостепенной задачей. Это API может пригодиться снова и сэкономит много денег, когда придет время делать дополнительные версии сайта для мобильных устройств.
И в заключение приведем высказывание главы CEO в Intel Andy Grove, который утверждает, что «для того чтобы увидеть новые возможности роста вы должны иметь тесные отношения с разработчиками. Вы не получите нужной отдачи от людей, которые работают просто за деньги. Такой человек не имеет такой же заинтересованности в успехе компании как работник с долей прибыли от компании».
Подводим итоги
Обычно бизнес стартует с ограниченным бюджетом и нанимается один серверный разработчик. Вся работа строится вокруг него. Проблема начинается когда бизнес начинает расти. Добавляется отдел продаж, финансовый директор и наконец, потому что разработчик жалуется,
что на его плечах лежит очень много обязанностей и он не успевает писать весь нужный код…нанимается еще один серверный
разработчик. Вы не можете обвинить такого разработчика в том, что он не хочет или не может сделать сам все этапы разработки. Он скорей всего готов будет взяться за это. Инструменты вроде Visual Studio или фреймворки вроде JSP или jQuery дают ему ложную уверенность, что он сам в состоянии все сделать.
В недалеком прошлом, front end разработчик был дизайнером, который отправлял кучу GIF изображений серверному разработчику.
Тот в свою очередь их размещал по многочисленным таблицам, который создавали генераторы разметки. В таком коде не было
ни структурности, ни семантики.
Но те времена пошли и сейчас задачи front end разработчика кардинально изменились, его задачи стали более сложными и важными в связи с появлением Ajax, HTML5, CSS3, веб приложений, социальных сетей, мобильных устройств и SEO. Сейчас слишком много технологий чтобы их мог охватит один человек. Бизнесу следует идти в ногу с появляющимися трендам и расширяющимися технологиями. И при этом нанимать разработчиков правильного типа, чтобы бизнес достиг успеха.
Материалы
- Данный материал является переводом статьи «Why Your Company Needs A Front End Developer» от Mike Wilcox.