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

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

Я читал одно время Твиттер Джо Армстронга, создателя Эрланга. Он мило подтрунивает над безумием современного веба, в частности Джаваскриптом. Конечно, нелегко ему, ветерану индустрии, начинавшему с перфокарт, писать на современном JS. Но Джо всегда делает это вежливо, с долей самоиронии. Даже с тридцатью годами опыта он не позволяет себе постов с жалобами.

Ничего подобного я не слышал от Гвидо ван Россума, Кармака, Торвальдса. У последнего случались хейтерские посты, но это совсем другой посыл и тональность.

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

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

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

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

Словом, влияет на проблемы, а не только пишет о них.

У типичного кложуриста кумир Рич Хикки. Имя уже набило оскомину, но давайте вспомним, чем знаменит этот человек.

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

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

Вместо того, чтобы снискать дешевую популярность, Рич посвятил себя разработке нового языка. Все собранные грабли, все пережитые ошибки он переработал в простые и чистые идеи. Пусть ненамного, но он протолкнул прогресс вперед. Это необратимо: идеи Кложи плавно расходятся по другим языкам и технологиям. Когда я вынужденно переключаюсь с Кложи на Питон, у меня чувство, что вернулся в прошлое на десять лет назад.

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

Когда я говорю, что восхищаюсь Ричем, я имею в виду именно тот качественный переход, что он совершил в одиночку. А вовсе не за Simple Made Easy и другие нашумевшие доклады. К сожалению, эту мысль трудно передать в разговоре.

Интересный факт: в Википедии нет статьи о Риче Хикки. Поиск по имени перенаправляет на язык. Просто потому, что об этом человеке нечего сказать. Важен не человек, а его вклад. До создания языка Рич вообще не появлялся в медийном пространстве. У него не было прокаченного Гитхаба, громкого Твиттера, скандального ЖЖ. Это был программист-работяга. Он двадцать лет писал код, копил опыт, и, наконец, выстрелил им.

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

Переходом может быть что угодно. Новый язык, стандарт. Комитет, организация. Книга, учение. Что-то такое, что зафикcирует опыт, переживет годы. Останется в мозгу людей, прежде чем это сдует с главной Хакер-Ньюз.

Жалобы возникают от завышенных ожиданий. Индустрия сыпет обещаниями со страниц соцсетей. Что скоро нейронная сеть сверстает сайт. Что будут летающие автомобили. Что браузеры подружатся с видеокартами и покажут 60 fps на офисном железе. Но это или не происходит, или не в той мере, что мы ожидали.

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

Вы сами в это поверили, вы сами в этом виноваты. Веб-девелопер, ты сам вообразил, что на языке, созданном за 12 дней, свернешь горы и поставишь десктоп в очередь безработных. А теперь стенаешь и причитаешь. С пятнадцатью годами опыта должна же появиться какая-то критичность мышления?

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

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

Я люблю интерфейс Gmail. Каждый день читаю RSS через Feedly. В каждом из этих продуктов есть косяки, но они не завязаны конкретно на браузер. Чаще всего это общие проблемы дизайна. Непонимание того, что нужно пользователю, что он ожидает, по какому сценарию действует. С таким подходом не важно, десктоп это или веб.

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

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

Решение проблемы простое — голосовать вниманием. Достаточно уведомить фирму и не пользоваться их продуктом. Например, я из принципа не читаю Медиум. Зачем страдать, когда можно подписаться на RSS или отправить статью в Киндл. Не использую Слак. Открываю раз в квартал, чтобы задать вопрос в профильной группе и закрыть через пять минут. Не согласился бы работать там, где общение через Слак.

Просто не пользуйся тем, что работает плохо. Создай свое — лучше, удобней, надежней.

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

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

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

Я полагаю, веб и дальше будет развиваться по пути Java-платформы. То есть за счет двух факторов: все больше умов и денег. Мозги и деньги, мозги и деньги на протяжении многих лет — и тогда все получится. Рано или поздно одна из инициативных групп придумает новый протокол, предложит стандарт, условный Гугл даст им денег, и заживем.

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