Привет народ!
Вот и настала моя очередь исповедоваться перед тобой.
У меня есть, не самая оригинальная, гипотеза о том, что большинство из множества статей жанра "Исповедь Разработчика" - это попытка авторов добавить веса своему персональному бренду, в специфических условиях, сложившихся на рынке труда, когда люди с опытом и, казалось бы, правильным майндсетом, вынуждены стоять в одной очереди с теми, кто вкатился в АйТи только ради денег и удаленки.
Если действовать по шаблону, то стоит рассказать о том, какой я тру-гик-динозавр, написавший свою первую игру в девяносто-лохматом году на каком-то экзотическом языке. Или про то, что первый коммерческий заказ, за реальные деньги, я выполнил в тех-же девяностых, когда многие, буквально, вообще не знали, что такое "сайт"...
Ну вот, сейчас начнется старперское брюзжание и рефлексия... Нет, попытаюсь пойти по нестандартному маршруту. Предлагаю, на своем примере, обсудить то, о чем, похоже, многие в индустрии совсем забыли - романтику, в нашей многострадальной профессии.
Изменить мир к лучшему
Помните этот лозунг? Были наивные, кто воспринимал его серьезно и действительно хотел сделать этот мир - лучше. Если не радикально, то, хотя-бы, немного, в каком-то узком аспекте. А если, в придачу, заработать деньги - так это еще лучше. Ох уж этот дивный новый "лучший" мир, где у всех много денег... Когда-то мы действительно в это верили. Рецепт был прост: делаешь стартап, получаешь инвестиции, и вот, ты уже миллионер. Ну или личинка миллионера, которая скоро вылупится, на ближайшем IPO. Я сам был такой личинкой и успешно потратил несколько миллионов инвесторских долларов на эту игру. Сделал ли я мир лучше? Ну, кхм, хуже точно не стало, хотя это отдельная история.
Но времена изменились. Многие обожглись, стали осторожнее. Многие разочаровались. Теперь, когда я общаюсь с коллегами по IT-цеху, я часто вижу потухшие глаза. Люди работают работу и мечтают о окончании рабочей недели. Никто уже не меняет мир. Корпорации (добра) показали всем истинное лицо: они хотят всех нас продать, купить и еще раз продать, но уже дороже. В IT больше нет человечности и искры. Если ты не согласен на роль шестеренки и, удобной, для очередного "эффективного менеджера" с СДВГ, человеко-функции - ты остаешься за бортом. Все вокруг, с умным видом, тебе рассказывают про некий "Бизнес", толком не понимая, что это такое, на самом деле. Тебя пытаются убедить, что рокстар в команде - это плохо, а исполнительная посредственность - это хорошо. И все это ведет нас в Ад.
Появление инженерных шедевров становится статистической погрешностью, а уродливые, в плане инженерной эстетики (и во всем остальном), гомункулы и кадавры - нормой. Инженеры боятся рисковать и брать на себя ответственность, потому, что наградой им может стать только всеобщее порицание и вращение пальцем у виска. Люди боятся Хаоса, там, где он просто математически неизбежен и тратят значительные ресурсы на иллюзию того, что все контролируют (гибкость и скорость реакции - гораздо важнее иллюзии контроля и стабильности). Вся индустрия стала заложником таких иллюзий, а также, конвейером по придумыванию оправданий, почему реальность (как неожиданно!) продолжает преподносить сюрпризы. Это ОЧЕНЬ хорошо видно по тому, что происходит в игровой индустрии. Большие деньги просто тратят сами себя, уже почти без нашего участия. И эти тенденции, увы, заметны не только в игродеве, а, практически, везде, включая мою любимую веб-разработку.
Кто виноват? Вкатуны? Маркетологи? Биг-техи с их ориентацией на биржевые показатели? Кто-то конкретно, или все вместе? Мой ответ - не стоит тут искать коварных злодеев, все это просто математика.
Романтик
Я - отказываюсь быть частью этого унылого болота. Я, все еще, хочу менять мир к лучшему. Я прекрасно осознаю, что у меня может это не получится, но я буду, как минимум, получать удовольствие от процесса. Я хочу создавать что-то красивое. Я хочу быть поэтом кода, ломать стереотипы, часто быть непонятым но стремиться к признанию. Хочу страдать, когда у меня что-то не получается, и испытывать эйфорию, когда становится очевидно, что я был прав и "оно работает!".
Я - в меньшинстве. Это я тоже прекрасно понимаю. Я очень люблю свою работу, представляете? Знаю, что многим бывает очень трудно такое представить. Мне сложно работать с людьми, которым плевать на результат. Также, мне трудно воспринимать коллег, которые отказываются увидеть более широкую картину и мыслят слишком приземленно и буквально. Поэтому, мне тяжело вписаться в команду, состоящую из случайных людей.
Во мне есть что-то от лидера секты: я замечаю, как некоторые тянутся ко мне, вопреки здравому смыслу, ведь я вряд-ли гожусь в примеры успешного успеха. Я - старый пират, который, все еще охотится за своим сундуком с сокровищами, хотя все вокруг уверовали, что такого сундука не существует. Плевать. Если не существует, я, в итоге, наполню и зарою его сам.
Циник
Я далеко не наивен, как вы могли подумать. Годы опыта, неизбежно, делают из нас циников. У нас, инженеров, есть универсальная схема для оценки всего вокруг: принцип "РАБОТАЕТ / НЕ РАБОТАЕТ". В отличие от адептов гуманитарных дисциплин, мы, почти всегда, можем оценить состояние систем в этой бинарной парадигме. Также, мы можем написать "бенчмарк" и сравнить "реальные цифры". Это и делает нас скептиками и циниками. Но быть циником, оставаясь, при этом, настоящим романтиком - вполне возможно. Я - тому доказательство.
Не дизайнер
Часть своего пути я посвятил дизайну. Точнее, "интерактивному дизайну", так мы это тогда называли. Когда-то, я активно тащил 3Д-графику в веб. Когда-то, я считал, что художественный замысел несет в себе свою собственную ценность. Я был обескуражен тем, как все это трудно продавать, чтобы такое реально окупалось по отношению к тому, сколько души ты вкладываешь. Позже, я пришел к тому, что полюбил создание минималистичных решений, предельно утилитарных, находя истинную красоту и изящество - в простоте.
Как ни странно, простые решения создавать очень сложно. Минимализм - это жанр настоящих профи. Выкидывать лишнее, для нашего мозга, гораздо менее естественно, чем добавлять какой-нибудь очередной мусор. То-же самое справедливо и в программировании. По моему мнению, хороший UX/UI дизайнер мало чем отличается от программиста. Да, они работают с разными категориями абстракций но, если вдуматься, хорошие практики и подходы - идентичны (все эти DRY, KISS и даже SOLID).
Подход "дизайн в коде" - это высший пилотаж, и я предпочитаю именно его. Опыт в дизайне очень полезен. Эстетическое чутье - это большой плюс для инженерной интуиции, в целом. Я считаю, что глубоко неправы те, кто считает, что такие вещи несовместимы.
Не программист
Иногда я сомневаюсь, что вообще могу назвать себя программистом. У меня есть моя личная, более комфортная, чем классическая, версия синдрома самозванца. Зачем впихивать себя в какие-то рамки, если это вызывает тягостные сомнения? Я называю себя "НЕ программистом" и больше не страдаю от кризиса самоопределения. Главное, что я могу полноценно решать довольно масштабные энтерпрайз-грейд задачи и у меня есть мощный инструмент для их решения. Но этот инструмент (программирование) - не единственный, хотя и базовый.
Я уже писал про то, что, по моему мнению, дизайнеры и программисты - схожи. Но я пойду дальше и заявлю, что общие принципы и архитектурные паттерны я вижу и в управлении людьми, в организации бизнес-процессов, в стратегическом планировании и так далее. Все те-же "бутылочные горлышки" и асимптотический анализ сложности (Big O), следствия теории хаоса, теории систем, теории графов - полностью применимы за пределами направлений, традиционно считающихся сугубо техническими. Для меня нет принципиальных барьеров не только между фронтендом, бекендом и UX-дизайном, но и между бухгалтерией, HR, DevRel, маркетингом и даже жизненной философией. Видеть картину в целом, насколько это возможно и разумно - это то, к чему я постоянно стремлюсь. Я - холистический айтишник.
Но "обладать видением" - вовсе не значит во всем разбираться лучше всех. Напротив, я с большим уважением отношусь к людям, которые познали дзен в своей специализации. И главный свой скилл, который я стараюсь развивать, в этом контексте, это умение взаимодействовать с такими людьми. Для этого нужна такая простая штука, как УВАЖЕНИЕ. К сожалению, взаимное уважение в современном айти - это явление, которое тоже становится редкостью. Как и доверие. Я часто сталкиваюсь с тем, что деликатность и уважительное отношение к коллегам воспринимается как неуверенность в себе или даже слабость. И это большая ошибка, которую я нередко наблюдаю у многих коллег. Пожалуйста, цените уважение к себе и сами уважайте профессионалов, если хотите быть настоящим профи. Это не менее важно, чем длинна списка акронимов в вашем резюме.
AI
В обсуждениях того, заменит ли искусственный интеллект живых разработчиков, люди склонны абсолютизировать. Мейнстримной кажется гипотеза о том, что нет, в ближайшей перспективе ИИ нас не заменит. Как-то однозначно и без полутонов. Нам нравится себя успокаивать. В подтверждение такой точки зрения, приводятся аргументы о том, что нейросети галлюцинируют, ошибаются, не способны "по настоящему" думать.
Вот только люди, также галлюцинируют и ошибаются. И очень немногие из нас способны "думать" так, чтобы это не было бессмысленной тратой калорий. Даже те, кто способен, делают это эпизодически, и целая масса важных процессов в нашем мозге протекает бессознательно или полубессознательное. Послушайте современных нейробиологов.
Да, в некоторых моментах, нейросетям пока ОЧЕНЬ далеко до опытных инженеров, но, значительную по объему часть, условно "ручного" руда они взять на себя уже способны. И это меняет многое. С одной стороны, это резко повышает ценность тех, кто может эффективно дерижировать ИИ-агентами, строго и со знанием дела, контролировать результат. Эти-же люди могут делать все сами. С другой стороны, заметная масса айтишников и около-айтишников уже попадает под оптимизации. Индустрии теперь нужно гораздо меньше людей. Но люди нужны более редкие. И капризные, в силу своей редкости.
Это не какие-то досужие рассуждения, я делаю выводы на основе того, что буквально наблюдаю в своей работе, каждый день. Речь идет не только о скорости, но и о широте спектра задач, которые мы решаем.
Вот только устоявшиеся традиции найма все это не учитывают НИКАК. Вы только вдумайтесь, происходят тектонические сдвиги, но что с этим делать - никто не знает.
Прагматичный взгляд на ИИ, как мне кажется, показывает, что мы имеем дело с новой, обязательной для современного разработчика, предметной областью и даже квази-платформой. Грамотные манипуляции с контекстами - это наше новое "перекладывание json-ов".
Меняет ли ИИ, в целом, этот мир к лучшему? Риторический вопрос.
Бизнес-эмпатия
Дамы и господа, разрешите представить, новый термин.
Принято считать, что бизнес является для эмпатии чем-то прямо противоположным. Ну вы знаете, джаст бизнес, насинг персонал. Дружба-дружбой, а служба-службой. Утром деньги - вечером стулья. Есть деньги и есть эмоции, и одно второму - волк. Прожженные капиталисты бравируют своим нарочито прагматичным отношением ко всему, возводя это отношение в ранг фундаментальных принципов "реального мира", где, как мы знаем, водятся самые серьезные дяди в галстуках и плавают самые зубастые акулы.
Вот только это хрень полная. В творческих задачах (а я настаиваю, что настоящая разработка - это задача творческая), действительно эффективным может быть только сотрудничество, основанное на эмпатии. Если я беру задачу в работу - это значит, что меня что-то в ней зацепило. Конечно, формальные вопросы и решаются формально, но для меня решить Задачу клиента/заказчика/работодателя - значит реально проникнуться его мыслями, чувствами, надеждами, страхами и переживаниями. Отнестись по человечески. В этом - основа моей мотивации. А деньги - должны течь как-то параллельно. Не люблю о них думать. Но течь они должны стабильно, чтобы мне не приходилось отвлекаться на вульгарную бытовуху.
Свобода
Я люблю именно веб-разработку потому, что это самая свободная область разработки. Да, настоящей свободы становится все меньше, но, на данный момент, тут ее несравнимо больше, чем где-либо еще. Бездушный алгоритм не может вышвырнуть вас из проприетарного стора, за нарушение чего-то там, о чем вы даже не подозревали, потому, что правила незаметно поменяли вчера. Вы не связаны географическими границами и имеете доступ к глобальной аудитории. Вы не скованы ограничениями вендоров и их платформ. Вы не обязаны платить жадным мудакам за право делать свою работу. Практически всегда находится какая-нибудь альтернатива и вы вольны делать свой выбор на свой собственный страх и риск, как взрослый человек. Веб - это про свободу. Пока. И, думаю, нам нужно бороться за то, чтобы так и оставалось, максимально долго.
Мечта
У меня есть мечта. Я хочу изменить мир таким образом, чтобы в нем снова было место таким как я: романтикам, мечтателям, пиратам, вооруженным ноутбуками в наклейках. Я сейчас ничего вам не продаю и ничего не покупаю. Я не призываю подписываться на мой тг-канал (у меня его нет). Я просто хочу узнать, если ли среди уважаемой аудитории кто-то, похожий на меня? Кто-то, с похожими мыслями и чувствами? Если есть... у меня к вам серьезный разговор.
В своем повествовании, я возвращаюсь к печальной ситуации на рынке труда. Каждый день, на разных площадках, выходят статьи о том, как все плохо. Мы уже поняли "кто виноват", но как-то маловато мнений на тему "что делать". Вот к этому я и веду.
Я привык выбирать для себя стратегию "Магомета, идущего к горе". Если видишь, что кто-то делает что-либо плохо или неэффективно (и тебя это напрямую касается) - перехвати инициативу. Если не можешь найти работу мечты - создай ее сам (я, например, создал свое маленькое R&D-агенство). Если тебе так не нравится процесс найма - придумай свою методологию и докажи ее жизнеспособность (давно хочу написать статью о том, как я провожу собеседования). Если тебя не устраивают сложившиеся отношения, между наемными сотрудниками и работодателями - роди свою схему.
Придумать решение, подходящее абсолютно всем - невозможно и в этом нет большого смысла. Но кое-что мы можем. У нас в руках уже есть необходимые компоненты для такого решения: блокчейн, нейросети, невиданные доселе, средства автоматизации рутины. У меня самого есть идеи и даже рабочие прототипы, но перед тем, как оформлять их в конкретное предложение, я хочу прощупать настроение аудитории.
Примерная схема
Рейтинг-квалификационная система для разработчиков на основе блокчейна. Мы можем подтверждать реальный вклад в проекты без раскрытия конфиденциальных деталей с помощью Commit-NFT. Это может значительно облегчить первичную и даже более глубокую фильтрацию при найме и поиске контракторов. Грубо говоря, опытным девелоперам не придется больше отвечать на одинаковые вопросы на дурацких собеседованиях.
Автоматизация вознаграждений контрибьюторам на основе смарт-контрактов (Payroll-система в блокчейне) с возможной привязкой к стейбл-коинам. Это применимо как к коммерческой разработке так и к Open Source. Упрощает процессы связанные с бухгалтерией и работой с людьми из разных точек планеты.
Управление правами на код в ту-же копилку.
DAO-подобная (Distributed Autonomous Organization) организация команд.
Концепция Микро-Продукта. Мы уже привыкли к микро-сервисам и микро-фронтендам как к средству борьбы с возрастанием сложности систем. Но такой микро-подход можно применить и к сопутствующим бизнес-процессам, при наличии соответствующих инструментов снижения накладных расходов и автоматизации. Независимые разработчики и команды могут создавать и продвигать свои микро-продукты, как встраиваемые решения, а так-же компоновать свои решения из других компонентов для самостоятельного вывода на рынок.
Платформа. Для всего вышеописанного важна совместимость и набор общих стандартов. При этом, наша гипотетическая платформа не должна ограничивать и быть излишне централизованной. Это, наверное, самый сложный элемент схемы, но мне кажется я понимаю, как его упростить.
В любом случае, все это пока самые поверхностные штрихи, а возможные детали я предлагаю обсудить в комментариях, и далее, при наличии заинтересованности.
Что думаешь, Хабр?
flancer
5 и 6 - тут мне может быть интересно.