Про компьютерных радикалов
«Х — не нужно», «сломано», «устарело», «не работает», «так верстают только мудаки» — думаю вы все это слышали, но врядли представляли кто и зачем такое пишет.
Есть интересное мнение, что если вы не можете объяснить ребенку в чем заключается ваша работа то вы хреновый специалист и грош вам цена.
Не знаю насколько это отражает реальность, но почему-то про попытку объяснить что-либо велоковозрастному долбо#бу никто подобныхнадеждидей не высказывает.
А этих долбо#бов что в сети что в жизни сильно больше чем детей.
Поэтому описанное ниже — в первую очередь для взрослых людей, возможно далеких от ИТ, но столкнушихся с необходимостью взаимодействовать с многолетними долбо#бами айтишниками.
Как это выглядит
Вам нужно выбрать что-то, имеющее отношение к ИТ: смартфон, ноутбук, сервер, роутер, ОС, какое-то программное решение — все что угодно.
Вы обращаетесь к вроде «компетентным специалистам»: постом на форуме, звонком, личной встречей, запросом к компании-производителю — способ тут не важен.
Вместо адекватного ответа, вас начинают либо разводить на деньги либо крыть х#ями, напрямую или завуалированно.
Вам расскажут про вас, про вашу половую жизнь, про ваших родителей, любовниц и собаку — про все что угодно кроме разговора по делу.
Мещанство
Если вы не имеете отношения к ИТ, то наверняка думаете будто айтишники это неглупые люди, которые долго учились своей работе и в чем-то разбираются. Жаль вас разочаровывать, но в основной массе это не так:
Типичный «ИТ-специалист» владеет ровно тем набором навыков, языков и технологий, которые нужны ему для работы.
Причем большую часть этих знаний он получил за счет работодателя, на этой же работе, придя стажером несколько лет назад с базовыми университетскими знаниями.
Чему-то сверх необходимого по работе учатся единицы от общей массы айтишников, даже если это подразумевает повышение оплаты.
Чтобы вы понимали, людей владеющих одновременно 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, вам доступна лишь небольшая часть переписки, тестов и выводов, которые привели к тому или иному решению. Точно не все.
крупный опенсорс так или иначе является коммерческой разработкой (сюрприз), который в первую очередь удовлетворяет интересы бизнеса, который этот проект спонсирует.
Никто ничего крупного не пишет сам, в одиночку и без спонсоров — банально ресурсов не хватит.
Отсюда вытекают приоритеты — сколько именно времени и сил можно потратить на ту или иную фичу:
внезапно может оказаться, что например реализация элементов функционального программирования занимает чудовищный объем времени и сил а требуют ее полторы калеки, еще и без серьезного коммерческого интереса.
Вообщем понять со стороны, будучи простым обывателем, почему нечто было реализовано так, а не иначе в крупном проекте — не представляется возможным. Если вы не член такого проекта с правом голоса - забудьте, забейте и просто пользуйтесь.