10 вещей, которые должен знать каждый современный веб-разработчик

веб-разработчик

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

HTML и CSS

Не обманывайте себя, думая, что это простые части. Мы все еще учимся осваивать HTML5 и CSS3, чтобы создавать быстрые и красивые приложения в браузерах на нашем растущем списке устройств. Вот почему многие разработчики внешних интерфейсов (например, дизайнеры / инженеры пользовательского опыта) получают более высокую заработную плату, чем разработчики на стороне сервера. И не зря; UX-разработка сложна. (Узнайте больше из 5 вещей, которые нужно знать о HTML5.)

JavaScript

Полный стек JavaScript сейчас горячий, и в ближайшее время он не остынет (если вообще когда-нибудь). Хотя многие разработчики думают, что они «знают JavaScript», потому что они могут написать немного jQuery (что, конечно, важно), язык быстро превращается в повсеместный и надежный инструмент для серверов, устройств, роботов и даже веб-браузеров. Изучив это, вы не потеряете время, погружаясь в асинхронное функциональное программирование и программирование на основе прототипов. Вы также изучите основной набор библиотек JavaScript и фреймворков.

Управление продуктом

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

Фреймворки

JavaScript, Ruby, PHP, Java, C # и Python имеют несколько фреймворков, разработанных для того, чтобы сделать веб-разработку более приятной (т. Е. Делать больше за меньшее время). Выберите один и выучите его очень хорошо. Создайте с его помощью несколько веб-приложений и убедитесь, что вы охватили как можно больше различных функций как на стороне сервера, так и на стороне браузера. Углубленное изучение одного языка облегчает изучение новых структур в будущем.

Git

Контроль версий вашего кода очень важен, и Git одержал победу в сообществе веб-разработчиков как инструмент для совместной работы, ведения записей и интеграции с процессами развертывания. Если вы только начинаете, я очень рекомендую попробовать Git, а также заняться «социальным кодированием» через GitHub.

Разработка через тестирование и поведение на основе поведения (TDD и BDD)

Отсутствие солидного опыта приведет к немедленному удалению вас из пула кандидатов для работы в команде разработчиков. Процесс написания тестов и спецификаций до того, как вы напишите код в своем приложении, обеспечит достаточный охват на микро- и макроуровнях в вашем приложении. Статья в Википедии, посвященная BDD, является отличным ресурсом для изучения TDD и BDD, но при обучении обязательно следуйте учебным пособиям по лучшим практикам для вашего языка / рамок выбора. Избегайте учебных пособий, в которых не упоминается TDD и / или BDD.

JSON API

Это заслуживает отдельного рассмотрения, потому что JavaScript Object Notation (JSON) сегодня является доминирующим языком автоматического взаимодействия между сервисами в сети. Разработчики должны знать как работать с API, так и создавать собственные. Это важно, потому что веб-разработка становится все более модульной, так как сервис-ориентированные архитектуры становятся нормой, платформы JavaScript становятся все более распространенными, проектирование для мобильных устройств начинается с первого дня, и включение сторонних API продолжает расти.

Кэширование

Скорость является одним из наиболее важных факторов, обеспечивающих удобство работы в Интернете. К сожалению, разработчики редко знают, как разработать и реализовать достойную стратегию кэширования. Полагаться на ненужное количество обращений к базе данных и / или файловой системе — отличный способ замедлить работу и раздражить пользователей. Веб-разработчикам следует подумать о том, как получить как можно больше данных в памяти (например, с помощью чего-то вроде Memcached), а затем как кэшировать вещи на уровне файловой системы, чтобы избежать обращения к базе данных (что является узким местом для скорости большинство приложений). В большинстве современных фреймворков есть встроенные способы использования кэширования в памяти и файловой системе (как частичное, так и полностраничное кэширование), поэтому потратьте дополнительное время на изучение того, как это сделать, даже если вы не ожидаете большого объема трафика. (Изучите несколько трюков в 5 технических экспертах, поделитесь своими секретами кэширования.)

Фоновые задачи

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

DevOps

Наконец, что не менее важно, веб-разработчики должны быть знакомы с быстро растущим набором вычислительных технологий для проектирования, масштабирования, миграции, тестирования, оптимизации, непрерывной интеграции и развертывания кода в облаке. DevOps — это объединенный набор задач, существующих в настоящее время между ролями старой школы «разработчик» и «ИТ-специалист». Google, Amazon, Microsoft и растущее число технологических гигантов имеют действительно замечательный набор веб-сервисов, доступных для разработчиков (и, кстати, процесс их использования становится проще).

Это действительно захватывающее время для веб-разработчика. Существуют чрезвычайно забавные технологии, которые делают нашу работу приятной. Тем не менее, как я уже упоминал выше, не ожидайте освоить эти технологии за одну ночь Требуются годы, чтобы достичь разумного уровня подготовки, и процесс обучения (как и следовало ожидать) никогда не заканчивается.

Однако отличный способ улучшить свои навыки — это учиться непосредственно у практикующих разработчиков. И, хотя ничто не заменит личного обучения, все больше онлайн-курсов и учебных пособий доступно, что поисковые системы делают большую работу, раскрывая свои лучшие результаты. Итак, начните с поиска учебных пособий и статей на интересующих вас языках, библиотеках и платформах. Затем поговорите с друзьями, которые являются веб-разработчиками (если у вас их еще нет, Twitter и Stack Overflow — отличные места для их поиска), и спросите, как лучше подготовиться к выходу на поле.

0 0 vote
Article Rating
Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments