people
April 20, 2023

Про компьютерных радикалов

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

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

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

А этих долбо#бов что в сети что в жизни сильно больше чем детей.

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

Как это выглядит

Вам нужно выбрать что-то, имеющее отношение к ИТ: смартфон, ноутбук, сервер, роутер, ОС, какое-то программное решение — все что угодно.

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

И начинается оно:

ритуальное х#етрясение.

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

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

Как такое получается?

Читайте ниже.

Мещанство

Если вы не имеете отношения к ИТ, то наверняка думаете будто айтишники это неглупые люди, которые долго учились своей работе и в чем-то разбираются. Жаль вас разочаровывать, но в основной массе это не так:

Типичный «ИТ-специалист» владеет ровно тем набором навыков, языков и технологий, которые нужны ему для работы.

И все.

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

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

Чтобы вы понимали, людей владеющих одновременно Java, .NET и например Node.js я видел наверное раз 5 за всю жизнь, хотя это сверхпопулярные технологии, еще и встречающиеся на одних и тех же проектах.

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

Потому что люди работают, им некогда:

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

Если проект старый и не развивается, то очень легко оказаться «в уютной яме, куда уже протянули свет и поклеили обои»:

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

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

Типичные айтишники по менталитету

Отсутствие образования как стиль жизни

В РФ да и на всем постсоветском пространстве не сложилось с Сomputer Science (CS). Ну нету его фактически, да и не было в осознанном виде даже во времена СССР.

Не учат у нас как спроектировать операционную систему или компилятор.

Плюс многолетнее изнасилование зарубежным коммерческим софтом, идущее в комплекте с мытьем мозга:

«не пытайтесь делать сами — лучше купите готовое».

Отсюда и агрессивная позиция неграмотного селюка из серии «нас и тут неплохо кормят» при попытке предложить какие-то открытые технологии.

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

Операционная система и прикладной софт, написанные целиком на ассемблере. Само собой что вам не понять.

Какой самый частый отзыв на этот действительно шедевральный проект от обывателя из РФ?

Думаю вы уже догадались:

— Нахой не нужно!

Ну вообщем вы поняли откуда уши растут.

Мы болеем за Зенит, пока очко не заболит

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

Причем на уровне менталитета.

Конечно речь не про всех вообще а про основную массу, у которой уровень вовлеченности в глобальные opensource-проекты минимален.

Но поскольку паровоз летит вперед основные события в ИТ-мире происходят в англоязычной среде — типичному российскому айтишнику остается только глотать пыль на обочине: читая переводные статьи и варясь в своем локальном манямирке.

Как вы понимаете, адекватности восприятия это не добавляет.

Зато добавляет экстремизма и радикализма — естественно только на словах.

Любой труд сильно облагораживает, как только человек начинает на деле реализовывать свои же идеи из серии «все взять и переписать» — он очень быстро достигает просветления и затыкается надолго.

Поэтому самая лучшая тактика для затыкания айтишного радикала — настойчиво предлагать ему реализовать свои же идеи.

Работает, проверено.

Теперь давайте разберем самые популярные и частые кричалки.

Вот это точно не нужно

Оно не нужно

Технология, фреймворк, паттерн или язык программирования — является «нинужной» по мнению автора.

Характерный пример:

Javascript с его парадигмой однопоточного выполнения - это конечно «дермецо») Это породило всякие извращения в виде async-await и промисов ))
Я думаю, со временем это дело поправится. Ну а пока, так…

Эксперта как всегда видно издалека, владеющие Node.js оценят сей пассаж, сразу как ржать перестанут.

Есть лишь маленькая «проблема»:

российские айтишники не являются целевой аудиторией высоких западных технологий, никогда ей не были и (наверное) не будут.

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

Пример? Легко.

Если вы например пользуетесь одним ноутбуком, одним телефоном и работаете на дневной работе 8/5 — у вас один уровень понимания.

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

Если вы разворачиваете датацентры со всей инфраструктурой, от питания до охлажения, с сетевыми каналами и виртуализацией — это третий уровень понимания.

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

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

Это вообщем-то нормально и ожидаемо, но где-то тут начинается принципиальная разница в менталитете между отечественными и «условно западными» специалистами.

Условно — потому что есть существенная разница между американцем и британцем, немцем и французом, они все отличаются в стиле работы.

Но тем не менее есть именно принципиальное отличие, из-за которого россияне по стилю работы куда ближе к китайцам и индусам чем к европейцам:

запад не любит всезнаек, «мастеров на все руки», «специалистов широкого профиля» и так далее.

Западный стиль работы подразумевает специализацию и профессионализм в узкой нише:

ты делаешь что-то одно но хорошо.

А ключевой показатель мастерства это стабильность — сдавать работу точно в срок и с одинаковым качеством.

Отсюда и негативное отношение к любителям «широкого профиля» и говорить за всех сразу.

Кто сказал что седина и инвалидность преграды для мотоспорта?

Оно устарело и не используется

Автор считает что некая технология или решение настолько сильно устарело, что ни изучать ни тем более применять его более не стоит.

Характерный пример:

BSD системы окончательно ушли в нишу: поставить на личный уютный сервачок, десктоп, прикола ради. Но во время появления сабжа BSD были вполне себе острием софтостроения.

Могу поспорить на бутылку хорошего коньяка, что автор не успел родиться к тому времени, когда BSD (Berkeley Software Distribution) впервые появилась — стиль выдает «малолетнего экперта».

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

Ошибаются эксперты и школьники, аналитики и гадалки — ошибаются все, так это устроено.

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

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

Предсказать и спланировать столь глобальные вещи нельзя, если вы только не рептилоид с Нибиру.

Точно также нельзя спланировать и спад спроса к какой-то технологии или решению. Тем более если она массовая.

Давайте порассуждаем почему.

Инженеры и инновации

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

«Не чини что не сломано» — слышали такое?

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

Пейджеры, если кто-то еще помнит что это — до сих пор используются. И конечно дискеты (сюрприз) живее всех живых.

Напоминаю, что это все технологии не то что 90х, а 80х — их считали устаревшими в РФ когда я еще в школу ходил.

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

Океаны говнокода

Вы не представляете, какой объем кода был написан за последние 30 лет активного роста ИТ.

На разных языках, на разных технологиях.

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

Со временем активно используемая система обрастает как судно — ракушками, какими-то локальными хаками, утилитами, скриптами и так далее.

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

Переписать такую активную систему своими силами, в большинстве случаев — задача малореальная и сильно рисковая.

Это отлично понимают и ее владельцы и те кто ее сопровождает и дорабатывает. Поэтому заказчики часто готовы платить бОльшие деньги за доработку «здесь и сейчас» чем за полное переписывание с нуля.

Это все означает, что:

«перспективность изучения» той или иной технологии с точки зрения возможных прибылей — вопрос неочевидный и неоднозначный.

Нет такого что язык Х + технология Y = зарплата уровня Z в наносекунду.

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

Оно не работает

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

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

Утопление в удобстве

В 90х в Россию хлынули западные производители ПО и компьютерного оборудования, захватив весь ИТ-рынок, который был пустым. Заодно случился разгул пиратства, который вообщем-то западных производителей не особо смущал.

В итоге этих двух событий, в массовом сознании оформилась интересная мысль, что весь коммерческий софт обязательно должен быть на уровне или выше продукции топовых мировых вендоров, вроде Microsoft, IBM или Oracle а платить за него не надо.

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

Современные отечественные пользователи познакомились с компьютерами в 90е на продукции Microsoft, на ней же формировались пользовательские привычки и паттерны поведения.

Опыт работы с UNIX-системами, мейнфреймами, альтернативными производителями вроде Amiga или Commodore — у единиц.

Даже более-менее массовый интерес к продукции Apple пошел не раньше 2008го года с распространением iPhone, до этого было «Mac — для дизайнеров».

Поэтому:

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

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

Поэтому посыл «оно не работает» плавно перетек в другие берега:

Оно не работает = оно неудобно или слишком сложно в использовании

Вот это теперь главная песня.

И надо сказать, «неудобным» может оказаться абсолютно все что угодно:

Среда разработки для Java долго запускается — Java не работает.
Дотнет приложение ругнулось на зависимую библиотеку — .NET не нужен.

Естественно автор понимает, что если огласить истинную причину то его засмеют, поэтому левая часть таких посылов опускается и остается только про «не работает» и «не нужен».

Оно сломано

Это мое любимое, нетленное.

Автор считает что некая технология или реализация «сломана» — т.е сделана «неправильно» с его автора точки зрения.

Обычно пост с таким пассажем сопровождается аватаркой с грустным анимешным мальчиком и каким-нибудь ЛГБТ-ником. Сам автор разумеется по возрасту и мировоззрению далеко от своей аватарки не ушел.

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

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

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

Даже если проект ведется публично на github, вам доступна лишь небольшая часть переписки, тестов и выводов, которые привели к тому или иному решению. Точно не все.

Плюс фактор коммерции:

крупный опенсорс так или иначе является коммерческой разработкой (сюрприз), который в первую очередь удовлетворяет интересы бизнеса, который этот проект спонсирует.

Никто ничего крупного не пишет сам, в одиночку и без спонсоров — банально ресурсов не хватит.

Отсюда вытекают приоритеты — сколько именно времени и сил можно потратить на ту или иную фичу:

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

Да, это я про Java.

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