Какие знания необходимы современному, а главное востребованному веб-разработчику?

За скобками остается базовое умение писать код и всё что связано с умением работать в команде и иные очевидные вещи. Для нашей программы курса «Web-Разработчик», который стартует 5 августа, мы очертили именно следующий круг знаний и скилов, считая их основополагающими в специальности:

Во-первых, код ревью: стоит писать такой код, чтобы он был повторно используем, понятен и прост, сюда относятся DRY, KISS, цикломатическая сложность, читаемость, преждевременная оптимизация, чистые функции, статический анализ, соблюдение style guide и инструменты для отслеживания всего этого. Это как дизайн или психология: каждый считает себя экспертом, но далеко не каждый таковым является на деле — тут важны чёткие принципы, системный подход конечно же практика.

Во-вторых, разработчику неплохо было бы быть знакомым со спецификой Python, синтаксическим сахаром и подкапотной жизнью. Как правильно использовать генераторы, итераторы, декораторы и контекстные менеджеры, как на практике применять MRO и бороться с утечками памяти – все это полезные практические навыки, которые делают код лаконичнее, понятнее и «поддерживаемее», а продукт – более стабильным и приспосабливаемым.

Хороший разработчик умеет делать API: может быстро сделать REST на Django, знает хорошие и плохие практики при реализации API, а также понимает для чего может пригодиться GraphQL и какие у него подводные камни. Бекендерам всё чаще приходится делать API и, что важно, уметь делать его правильно.

Кстати, бекендеру придётся тяжело без базового знания фронтенда — было бы очень кстати уметь на коленке собрать минимальный фронтенд для классного бекенда, заверстать его на Bootstrap или Material и оживить с помощью старого-доброго jQuery. Речь не идёт о фулстек-разработчике, но ради любого чиха ждать фронтендера – не самый продуктивный способ вести разработку.

В-третьих, будет тяжело без знания распространённых DevOps-инструментов: как и когда пользоваться Fabric и Docker, в чём подводные камни контейнеризации, как настроить простой и грамотный деплой.

Чтобы разработка не превратилась в постоянный фикс багов, такому разработчику будет очень кстати разбираться в автотестах: когда писать, а когда нет, где грань между отсутствием тестов и стопроцентным покрытием в каждом коммите, как быть с «плохо пахнущими» тестами, сколько каких тестов должно быть, а также уметь аргументировать трату времени на них – всё это кажется очевидным, но на деле далеко не всегда выходит.

Данных, как правило много, и обрабатывать их надо быстро, поэтому нужно разбираться в реляционных хранилищах данных и общении с ними: как проектировать, чтобы потом не было больно, как не тратить секунды рантайма на ненужную возню внутри ORM, как оптимизировать PostgreSQL.

Будет классно, если такой разработчик будет разбираться в асинхронности: как работает, когда нужна, как пользоваться. Тема важная потому что async is new sexy – этот подход позволяет сделать многие вещи быстро и удобно.

Чего по-вашему критически не хватает в этом списке? Может, что-то лишнее? Поделитесь своим мнением и давайте делать отрасль лучше!
Поделиться с друзьями
-->

Комментарии (5)


  1. Listrigon
    28.07.2017 12:25

    Очередная статья, в которой главное это посетить курсы предлагаемые авторами этой же самой статьи…


    1. hamnsk
      28.07.2017 12:33

      а самое главное, что программа курса, это скачка по верхушкам, только минимальной части того что можно использовать, причем эти скачки настолько низкого уровня, что вся программа гуглиться, и большая ее часть есть на ютубе в свободном доступе с более расширенной информативной и практической частью… и все это за каких то 60к!

      Напоминает мне курсы от другой известной компании, где главная цель тоже собрать денег, а не дать знания, а прикрываются они тем то выдадут разноцветный листок формата А4… который якобы поможет при трудоустройстве))) Вот проходил много разных курсов, но самые эффективные это офлайн курс, от действующего хорошего разработчика или девопса, когда деньги платишь ему за его знания и опыт, а не в конторку с очередным гламурным названием!

      Но в целом пиариться никто не запрещает, но ребят, делайте это с пользой… в статье полезной информации ноль! Ее прочтение просто ворует время, которое можно потратить с большей пользой!


  1. zcasper
    28.07.2017 12:36
    +2

    И смысл этой ерундой захламлять ресурс?


  1. domix32
    28.07.2017 13:02
    -2

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

    и следом


    DRY

    Что?


  1. wertex15
    28.07.2017 16:40
    +1

    На ресурсе теперь нет премодерации?