Изучаете веб-разработку? Эти навыки позволят вам выделиться

Перевод статьи «Learning Web Development? These Skills Will Make You Stand Out».

Навыки, которые позволят выделиться

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

Что же нужно сделать, чтобы выделиться на общем фоне?

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

Эта статья будет касаться технических навыков, а нетехническим, т.н. soft skills, я посвящу другую статью.

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

Базовое понимание сети

Если у вас есть полное понимание того, что происходит, когда вы вбиваете «google.com» в своем браузере и нажимаете Enter, это уже наилучшим образом выделяет вас из толпы. Получение базового понимания устройства сети этому также весьма поспособствует.

Что изучать?

  • Как работает система доменных имен (Domain Name Systems, DNS).
  • Регистрация и использование доменов.
  • Понимание TCP/IP.
  • Базовая отладка сети (Пример: «Почему я не могу законнектиться на свой новый сайт?» – «Потому что порт не открыт»).
  • Понимание того, что такое VPN.

Обратите внимание на этот бесплатный курс от Google, который учит веб-разработчиков основам устройства сетей.

Понимание того, как работает HTTP

Несмотря на то, что технически это часть базового понимания сетей, HTTP настолько важен, что заслуживает отдельного пункта в списке. HTTP это основной протокол для веба, поэтому изучите его вдоль и поперек.

Что изучать?

  • Анатомия HTTP-транзакции.
  • Слова HTTP-запросов и их использование.
  • Распознавание основных кодов ответов и когда они применяются.
  • Что такое протокол без сохранения состояния и в чем его важность.
  • Распознавание популярных заголовков и умение добавлять собственные.
  • Работа с HTTP вне браузера (REST-клиенты, curl и т. п.)
  • Что такое SSL, как он работает и почему нужно его использовать.

Для изучения HTTP есть много доступных ресурсов, но я включил парочку в статью, на случай, если вам лень искать.

https://developer.mozilla.org/en-US/docs/Web/HTTP

https://www.udacity.com/course/http-web-servers–ud303

Работа с Unix-оболочками

Даже если вы планируете работать исключительно с инструментами Microsoft, ваши сайты и приложения скорее всего будут размещаться на Linux-серверах. Это означает, что вам понадобятся навыки работы в оболочках Unix. Много разработчиков-новичков избегают работы в командной строке, потому что при этом чувствуют себя неуверенно. Это совершенно нормально, однако сейчас не время засиживаться в зоне комфорта.

Что изучать?

  • Удаленный доступ по SSH.
  • Основные команды оболочки (cd, ls, cp, mv, mkdir, …).
  • Использование grep.
  • Навыки работы с текстовым редактором командной строки (vim, Emacs, nano, …).
  • Понимание прав доступа к файлам и то, как их изменять.
  • Переменные окружения и то, как/когда их использовать.
  • Использование .bashrc.
  • Использование менеджера пакетов (apt, yum, …).
  • Работа с логами ваших сервисов.
  • Сервисы управления (start, stop, restart, …).
  • Основы написания bash-скриптов.

Честно говоря, я бы еще продолжал и продолжал этот список. Изучение эффективной работы в Unix-оболочке может быть путешествием длиною в жизнь (в этом, собственно, заключается половина удовольствия). Вы быстро оцените возможности, открывающиеся при работе с командной строкой и это изменит ваш подход к разработке. Что-то из полученных знаний будет специфично для вашего окружения, но основы одинаковы везде. Для начала обратите внимание на это руководство от Digital Ocean.

Использование Git

Для начинающего разработчика очень важно глубокое понимание Git, но, похоже, большинство из них уклоняется от его изучения. И очень жаль, поскольку именно новички получают самую большую пользу от этих знаний. Почему? Потому что это спасет вашу задницу, когда вы неминуемо допустите ошибку. Имейте в виду, что есть и другие инструменты для контроля версий, такие как SVN и Mercurial, но в этой статье я сделаю упор на Git.

Что изучать?

  • Основные команды (init, add, commit, status, checkout, …)
  • Настройку удаленных репозиториев.
  • Использование fetch, pull, push.
  • Работа с ветками (create, merge, …)
  • Что такое rebase и как его использовать.
  • Как разрешать конфликты.
  • Как использовать stash.

Чем больше усилий к изучению git вы приложите, тем увереннее сможете работать с командой разработчиков. Atlassian предлагает отличное руководство по git. Также можно обратить внимание на try.github.io, если вы предпочитаете более интерактивный метод.

Использование инструментов разработчика в браузере

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

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

Что изучать?

  • Использование консоли для нахождения ошибок и отладки кода.
  • Использование inspection tool для просмотра/изменения вашей разметки и CSS в браузере.
  • Отладка Javascript (call stack, breakpoints, object inspection, …)
  • Проверка и отладка HTTP-транзакций.
  • Работа с веб-сайтами для определения проблем с производительностью.

Инструменты в браузере дают преимущество, которое нельзя игнорировать, поэтому стоит как можно раньше хорошенько их изучить. Если вы используете Chrome, ознакомьтесь с обзором инструментов разработчика в Chome от Google.

Изучение дополнительного языка

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

Изучить больше одного из них это хорошая идея сама по себе, но также важно изучать различные виды языков. Например, если вы изучаете такой язык как Python, у вас будет отличный инструмент для объектно-ориентированного программирования. Вместо изучения похожего языка, например, Ruby, почему бы не изучить функциональный язык, такой как Clojure? Подобный подход поможет вам расширить ваше понимание различных парадигм программирования и даст представление о том, какой инструмент для какой работы лучше подходит.

Я перечислю несколько языков, которые уведут вас с проторенного пути, но знайте, что есть и другие.

Что изучать?

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

Если я пропустил какой-то интересный язык, дополните, пожалуйста, в комментариях.

Правильное комментирование кода

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

Что изучать?

  • Написание самодокументированного кода.
  • Синтаксис комментариев для вашего языка.
  • Написание комментариев кратко и по сути.
  • Генераторы документации.
  • Распознавание кода, которому нужны комментарии.
  • Изучение стандартов комментирования для вашего языка (если есть; например, PEP 8 для Python)

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

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


[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

1 комментарий к “Изучаете веб-разработку? Эти навыки позволят вам выделиться”

  1. Спасибо за потраченное время не статью, слежу за Вашим каналом в Телеграме, всегда читаю актуальные для себя информации.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх