Статья входит в серию советов для начинающих программистов


Пример главной страницы Hacker News

Удивительно большое количество ошибок начинающие программисты делают под влиянием технических СМИ.

Учась в школе или колледже, вы основную часть информации о программировании получаете из технических СМИ, таких как Hacker News, встреч, конференций, курсов Free Code Camp и Hacker Noon. Тогда ваш арсенал инструментов с избытком наполняется технологиями, которые там бурно обсуждаются — скажем, микросервисы, некий фреймворк фронтенда или блокчейн.

Самая распространённая ошибка — рассматривать эти источники как зеркало индустрии. На самом деле они больше похожи на базар.

Технические СМИ как базар


Представьте себе гигантский базар в древние времена. Тысячи купцов заполняют прилавки, продавая товары со всего мира. Хозяин базара находит самых уникальных купцов и выделяет им лучшие места. Эта аналогия для технических СМИ работает на нескольких уровнях.

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

Как и в древние времена, торговцы пытаются втереться в доверие. В разработке ПО это похоже на контент-маркетинг, где реклама маскируется за полезным контентом. Более того, многие отличные инженеры заняты разработкой, а не написанием статей и комментариев, что ограничивает их вклад в важные дебаты (и то, что кто-то разрабатывает софт open source, не означает автоматически, что его цели соответствуют вашим).

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

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

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

Кроме дезинформации, эта вовлечённость манипулирует нашим желанием не отстать от прогресса. Разработчику кажется, что он должен использовать самые обсуждаемые технологии, чтобы его навыки не устарели. В традиционных СМИ максимальное количество просмотров вызывают сообщения о смерти; в разработке ПО это новые технологии.

Блог Free Code Camp



Источник: пост в блоге Free Code Camp, 2014

Сравните, как объясняет тему техническое СМИ, а как это делает профессор информатики или объективный инженер.

Hacker News


Сегодня Hacker News является одним из самых популярных ресурсов для инженеров-программистов.

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

Как на базаре, каждый пост зависит от рейтинга. Если мы сравним древнюю, но важную систему сборки, такую как Webpack, то в среднем гораздо больше контента и шумихи вокруг новейших технологий. Это создаёт ложное представление о том, что люди на самом деле используют в повседневной работе. Как отметил Пол Грэм, «количество… статей о проблеме говорит не о том, насколько она серьёзна, а о том, насколько востребованы статьи, утверждающие это».

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

Мотивированные компании-разработчики стратегически заинтересованы в том, чтобы распространять свой контент на этих сайтах. Они скрывают свою личину за якобы объективными посредниками. Например, MongoDB использовала свои портфельные компании, получившие от неё венчурное финансирование: те публично заявляли, насколько они ценят MongoDB. Вендоры хорошо разбираются в астротурфинге, то есть управлении общественным мнением через посредников. В Y Combinator можно создать кольца голосования для повышения рейтинга постов, попросить друзей написать первые комментарии, чтобы грамотно сформировать дискурс обсуждения.

Конференции и встречи


Конференции и митапы — другой ключевой способ для разработчика оставаться в курсе событий.

Конференции — очень прибыльный бизнес. Но для успеха нужно сосредоточиться на хайповых тенденциях, к которым есть латентный интерес. Поэтому проводятся сотни конференций по криптовалютам и React, но очень мало о важных инструментах, таких как C.

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

  • увеличение сети знакомств
  • повышение собственной значимости
  • подбор персонала для своей компании
  • маркетинг своей компании

Обратите внимание, что ни одна из этих причин не имеет ничего общего с тем, чтобы помочь аудитории.

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

Советы


Возможно, когда-нибудь мы сможем сформировать правильную среду.

Это может стимулировать публикацию осмысленного контента и стимулировать сообщество критиковать любые конфликты. На Hacker Noon или Free Code Camp появится оценка контента трезвомыслящими инженерами.

В то же время технические СМИ следует рассматривать всего лишь как одну точку данных, дополняя информацию мнением опытных разработчиков (не будем впадать в крайность, как Томас Джефферсон, которому принадлежат знаменитые слова: «Добавлю, что человек, который никогда не заглядывает в газеты, обладает лучшими знаниями, чем тот, кто газеты читает»). Технические СМИ не должны быть основным окном, через которое вы смотрите на мир.

Также полезно критически оценить любой контент, задавая несколько вопросов:

  1. Мотив: каков мотив автора? Как это отражается на статье?
  2. Бэкграунд: какова техническая подготовка автора? С каким технологическим стеком он работал? Над какими проектами?
  3. Актуальность: насколько лично для вас актуальны проблемы, которые решает технология? Каковы недостатки?

Полезные ссылки


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


  1. JustDont
    25.06.2019 11:54

    На Hacker Noon или Free Code Camp появится оценка контента трезвомыслящими инженерами.

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

    Любая же публичная система оценок имеет уязвимость «кто громче крикнет, того и слушают». Хабр ли это, реддит ли это, или hacker news.


    1. rboots
      25.06.2019 17:25

      Это не наивно, а поиск путей решения. Решение с низким шансом успеха лучше, чем никакого решения. Критикуете — предлагайте.


      1. JustDont
        25.06.2019 17:27

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


        1. rboots
          26.06.2019 21:03

          Так работает мозговой штурм, есть одна мысль «оценка трезвомыслящими инженерами позволит повысить качество». Дальше её можно развивать. Можно в сторону оценок, как на Хабре. Можно в сторону трезвомыслия, тут вспоминуются рецензируемые научные журналы. И да, даже постановка идеального конечного результата, это уже больше, чем просто критика.


  1. evocatus
    25.06.2019 13:09

    Насчёт "самого умного эксперта по базам данных": да, наверное "всего один голос" это маловато (к опыту нужно прислушиваться), но с другой стороны даже самый умный не может заставлять других делать всё как он считает правильным. Это невозможно и нерационально.
    Новички как раз и становятся профессионалами совершая ошибки. Одна из таких ошибок — неверная оценка статей в тех. СМИ.
    А статьи нужны. Потому что, несмотря на все возможные манипуляции, невозможно заставить людей изменить своё мнение, если статья вообще не вызывает отклика со стороны читателя и его опыта. А механизм обратной связи (и рекламы, да) нужен. Что вообще предлагается взамен? Меритократическая иерархия (кто выбирать будет?), диктующая догму?
    В общем статья о том как бы детей научить ходить сразу, без ползания и падений.


    1. JustDont
      25.06.2019 13:23

      Потому что, несмотря на все возможные манипуляции, невозможно заставить людей изменить своё мнение, если статья вообще не вызывает отклика со стороны читателя и его опыта.

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

      Алсо, вы переоцениваете человеческое мышление — у нас много багов, которые отлично обходят это ваше «невозможно заставить людей изменить своё мнение». Еще как возможно.


      1. evocatus
        25.06.2019 13:44

        Предположим, что все перестали читать тех. СМИ и воспринимают любой пиар с глубочайшим недоверием. Мне кажется, что в такой ситуации развитие сильно замедлится. Нужны люди, которые пробуют новое, которые начинают делать новое, просто по приколу или чтобы попиариться, а не потому что это прямо нужно и обоснованно. Это как наследственная изменчивость — вся её суть в том, что она _случайная_.


  1. amarao
    25.06.2019 13:51
    -2

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


    Последний Big Hype, который я заметил — это Rust, и это реально зреющая индустриальная революция.


    Только представьте себе — язык для написания критических участков инфраструктурного кода, в котором нет undefined behavior. (Замечание для java-фанбоев: java написана на языке с undefined behavior).


    1. worldmind
      25.06.2019 15:00

      У меня аналогичное ощущение от информации про раст, но это не значит что всё хайповое это будущее.


      1. amarao
        25.06.2019 17:33

        Разумеется, не всякое. Но можно утверждать, что человек с образованием программиста 1970 года, не следящий за новыми технологиями, практически в любой области программирования, будет некомпетентен. Языки программирования, среды разработки, фреймворки, парадигмы разработки.


        Простите, даже банальный git.


    1. KanuTaH
      26.06.2019 00:41
      +2

      Замечание для java-фанбоев: java написана на языке с undefined behavior

      Ну а rust использует llvm в качестве backend для компиляции из промежуточного представления в машинный код под конкретную архитектуру (и для выполнения оптимизаций), а llvm написан на языке с undefined behaviour. Я не java-фанбой, но у вас типичный пример так называемой растопропаганды :)


      1. amarao
        26.06.2019 12:36

        Да. Но есть большая разница между компилятором и интерпретатором с рантаймом. У компилятора работа заканчивается по завершению компиляции, а рантайм и интерпретатор участвуют в работе программы.
        Известно, что качество компилированной программы может быть лучше компилятора. К сожалению, это не так для интерпретатора и рантайма.


        1. KanuTaH
          26.06.2019 12:47

          Ну, как по мне, это такой… Скользкий вопрос :) JIT-компиляторы, которые сейчас являются основой managed-языков, делают примерно то же, что и llvm backend (компилируют из некоего промежуточного байткода в машинный код под конкретную архитектуру), только делают это непосредственно во время выполнения. Насчёт рантайма отчасти согласен в том плане, что у managed языков он очень "жирный", и написан, как правило, все же не на самом этом managed языке (из соображений производительности).


  1. rboots
    25.06.2019 17:28

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


    1. pyrk2142
      25.06.2019 19:48

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