Нет-нет, мы не будем снова перечислять технологии, необходимые для веб-разработчика. В этот раз копнем глубже и поговорим о базовых навыках.
Конечно, без технологических знаний никуда, но эти знания весьма специфичны. Некоторые из них постоянны – это киты веба: HTML, CSS, JavaScript, HTTP, базы данных. Некоторые меняются слишком быстро, как популярные JS-библиотеки. В каждом сезоне – новая мода, уследить за ними непросто.
Если вы незнакомы с основами, наши материалы помогут вам составить общее представление о мире веб-разработки:.
- TOP-8 компьютерных терминов для новичков;
- Супершпаргалка по верстке для веб-разработчика;
- 20 советов для написания современного CSS;
- Разбираем по косточкам компьютерные сети: HTTP, TCP, REST;
- Простыми словами: бэкенд, фронтенд и их взаимодействие;
- Платформа Node.js: руководство по эксплуатации.
Технологии появляются, исчезают, подбираются под конкретный проект, заменяют или дополняют друг друга. Успешные веб-разработчики обладают совершенно разными технологическими навыками, потому что работают с разными стеками.
Знание технологий, безусловно, важно, но не только оно характеризует веб-разработчика как профессионала своего дела. Поговорим о базовых навыках любого специалиста.
Навык #1. Понимать пользователя
Почему это важно?
В вебе все делается для пользователя, поэтому первоочередная задача успешного веб-разработчика – понимать своего клиента. Каждый аспект создания продукта должен быть ориентирован на удобство конечного потребителя.
Чему учиться?
Проектированию
Начинать нужно уже на этапе проектирования приложения. Следует продумывать дизайн, наполнение и пользовательские пути еще до приступления к реализации.
UX
Пользовательский опыт – важнейший аспект продукта. Чем удобнее интерфейсы, тем довольнее клиенты.
Обращайте особое внимание на доступность для пользователей с ограниченными возможностями. Соблюдение требований доступности – великолепная практика, в некоторых странах поддерживаемая законом. Здесь вы можете проверить ваше приложение на соответствие стандартам "раздела 508".
Работая с ошибками системы, не показывайте пользователю непонятные технические сообщения, но при этом объясните ситуацию.
Помните, что между вашим приложением и клиентом могут возникнуть различные препятствия вроде отключения javascript или cookie.
Полезные ссылки:
- Обзор WAI-ARIA;
- Книга Не заставляйте меня думать от гения юзабилити Стива Круга;
- MobiForge – полезные статьи для веб-разработчика.
SEO-оптимизации
Поисковые системы – необъятный источник клиентов, поэтому SEO нельзя пренебрегать. Правильно составленный robots.txt, карта сайта, грамотная перелинковка – важные условия успеха.
Полезные ссылки:
- JavaScript SEO;
- Google Webmaster Tools.
Аналитике
Очень важно анализировать использование готового продукта, при необходимости внося изменения. Обнаружив, что больше трети трафика приходит с мобильных устройств, вы задумаетесь о мобильной оптимизации.
Собирать основные клиентские показатели помогают инструменты аналитики, такие как Google Analytics. Обязательно научитесь с ними работать.
Навык #2. Работать качественно
Почему это важно?
Создавать качественный продукт важно в любой сфере деятельности. В веб-разработке делать качественно – значит выбирать самые оптимальные решения из существующих, тестировать и отлаживать код.
Чему учиться?
Тонкостям JavaScript и верстки
Создавая клиентскую часть веб-приложения, учитывайте кроссбраузерность.
Очень полезно разобраться, как происходит рендеринг веб-страниц, как обрабатываются и применяются скрипты, стили, изображения, как происходит кэширование ресурсов, а главное – как это влияет на производительность. Чем быстрее программа, тем комфортнее с ней работать, поэтому оптимизируйте!
Полезные ссылки:
Тестированию
Проверять свой код с помощью тестов – самая лучшая практика программирования. 80% всего времени программист поддерживаете когда-то написанный код, поэтому пишите его как следует. Облегчить эту тяжелую работу помогут специальные библиотеки и фреймворки, например, Selenium.
В идеале следует иметь одну или несколько тестовых сред, чтобы никакие изменения не попали в продакшн непроверенными.
Максимально автоматизируйте тестирование, ведь это не самый увлекательный на свете процесс. Возможно, вам пригодятся инструменты непрерывной интеграции вроде Jenkins со множеством полезных плагинов.
Полезные ссылки:
- Улучшаем свой скилл дебаггинга;
- 6 книг по тестированию ПО;
- Лучшие практики производительности от Yahoo;
- Google page speed – проверка оптимизации веб-страницы.
Git
Система контроля версий позволяет виртуозно управлять проектами любого размера. Благодаря организованности и надежности git (или аналогичной системы) вы можете создавать качественный продукт.
Полезные ссылки:
Навык#3. Помнить о безопасности
Почему это важно?
Большинство пользователей пользуется вашим приложением вполне добропорядочно, однако некоторые могут попытаться использовать его со злым умыслом. Возможно, навык обеспечения безопасности – важнейший для веб-разработчика. Все данные, приходящие с клиентской стороны, необходимо проверять.
Чему учиться?
Если вы всерьез подходите к обеспечению безопасности веб-приложений, ознакомьтесь с открытым проектом OWASP (Open Web Application Security Project)
Изучите различные виды атак и будьте в курсе новых уязвимостей:
- Межсайтовый скриптинг (XSS);
- Внедрение SQL-кода (SQL injection);
- Межсайтовая подделка запроса (CSRF);
- Кликджекинг;
- Hijacking.
Используйте лучшие практики веб-безопасности:
- Продуманная система ограничений.
- Системы аутентификации.
- Правила обработки онлайн-платежей.
- Защита информации о подключении к базе данных.
- Принцип наименьших привилегий.
- Защита паролей.
Полезные ссылки:
Навык #4. Держать руку на пульсе
Почему это важно?
Веб развивается стремительно. Постоянно появляются новые, более удобные или мощные технологии, проводятся исследования, делаются открытия.
Да, веб-разработчик должен постоянно учиться. Этот навык служит основой для всех предыдущих. Только с прокачанной любознательностью вы сможете следить за новыми веяниями и брать лучшее из прогрессивного.
Чему учиться?
Выбирать источники
Некоторые статьи, книги или видеоуроки стоят десятка других, но найти их нелегко.
Учитесь постоянно мониторить IT-сектор веба в поисках качественных материалов.
- Регулярно просматривайте новые статьи, выходящие на крупных порталах.
- Подпишитесь на интересные рассылки, это очень удобный способ получения информации.
- Слушайте подкасты, смотрите выступления профессионалов, скринкасты, мастер-классы.
Не ограничивайтесь русскоязычным сегментом – большая часть достойных ресурсов по веб-разработке на английском языке.
Полезные ссылки:
- Путь JavaScript Middle: лучшие ресурсы для расширения знаний;
- Подборка YouTube-каналов по изучению PHP;
- Hackernoon;
- SmashingMagazine;
- FreeCodeCamp.
Взаимодействовать с разработчиками
Отвечайте на вопросы на StackOverflow, Github и прочих IT-форумах. Обобщение, систематизация, обоснование концепций помогут вам глубже разобраться в теме.
Не стесняйтесь спрашивать сами. Получить ответы на некоторые особо заковыристые вопросы можно только от людей, столкнувшихся с той же проблемой.
По мере возможностей посещайте конференции и митапы по вашей специальности. Можно даже выступить на них, рассказав о своем опыте.
Навык #5. Уметь отдыхать
Необычайно важный навык, о котором всегда забывают.
Большинство веб-разработчиков – счастливые люди, любящие свою работу и способные заниматься ей целыми днями. А еще в нашей сфере полно авралов и дедлайнов.
Всегда помните, что успешным может быть только здоровый, энергичный, отдохнувший программист.
- Научитесь планировать свое время и расставлять приоритеты.
- Выполняйте сначала самые "горящие" задачи.
- Переложите рутинную работу на машину, вы ведь программист!
- Помните о правиле 80/20, перестаньте совершать времязатратные, но неэффективные действия.
- Будьте "ленивым" работником – делайте так, чтобы не нужно было переделывать.
Комментарии