Software «Engineering» мёртв. Его убили не нейросети

от автора

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

Ответственные за то что сейчас происходит:

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

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

Меня зовут null, мне undefined лет (кажется тут так принято начинать статьи). 10 лет своей жизни я занимаюсь IT, которому я научил себя сам, 5 из которых в коммерческой Fullstack Web разработке aka Вебмакакинг. За всё время что я выжигал глаза перед экраном я успел попробовать множество разных языков, технологий, подходов и даже сфер. Работал я и с примитивными CRUD`ами и с хайлоад системами, работал с блокчейном, нейросетями, модулями ардуино, дронами, ботами, парсерами и живыми людьми. Но, как показывает опыт моих потуг по устройству на работу, которые длятся уже 5 месяцев — я недостаточно хорош чтобы стать частью «молодой и мотивированной команды делающей мир лучше». Эта статья планируется как аргументированное в моих глазах описание актуальных проблем в сфере, которой я живу и которую люблю, но в которой я в то же время разочаровался и теперь всерьёз думаю над тем, чтобы остаться с ней друзьями. Абсолютно всё написанное ниже является компиляцией субъективного опыта, никого ни к чему не призывает и вообще является ложью и провокацией очередного самозванца со …

Книга 1: Воздух

В начале был npm init

О многообразии технологий

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

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

Об отсутствии стандартов

Дисклеймер: автор обычный проходимец, работавший в простых компаниях не относящихся к бигтекам и/или FAANG`ам, и выражает своё мнение по поводу процессов, с которыми он имел дело. Автор принимает тот факт, что в крупных компаниях могут быть чётко отлаженные процессы с чёткими требованиями к коду, тестами и многоуровневыми ревью.

А теперь к делу. Можно сколько угодно разговаривать о SOLID, DRY, KISS, DDD и других но всё равно все пишут код так, как хотят. Кто-то, придя на существующий проект, подстраивается и следует стилю написания кода, который уже был заложен его предшественниками, кто-то делает по-своему и переписывает существующее. Кто прав, а кто нет? История рассудит. Может быть, на проекте есть дизайн документ, в котором обоснованно использование функциональных компонентов вместо классовых? Может быть, там описано почему для бекэнда было решено делать микросервисы на Расте с коммуникацией через Кафку? Может быть, может нет. Факт в том, что технологии зачастую выбирают не потому, что она решает поставленную задачу за адекватное соотношение время/стоимость специалиста а потому что это круто/модно/хайпово/привлечёт инвесторов/нравится *-лиду/username сказал что технология T — говно, поэтому берём технологию U.

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

Об отсутствии ответственности

К уважаемым специалистам, которые с вниманием и хотя бы минимальными рассуждениями о качестве каждый день по 8 часов закрывают таски претензий нет. К товарищам пришедшим в айти только за бабками/делающим работу на отвали/работающим параллельно на N работах/тех, кто думает что за них всю работу делает LLM — возможно какое-то время вы поболтаетесь, накопите на ипотеку или что там у вас в жизни за главный интерес. И даже быть может что ошибка в коде, которую допустило ваше незаинтересованое внимание не приведёт к облучению пациента смертельной долей радиации, массовой аварии беспилотных авто или что ревнивый муж не увидит профиль своей жены на дейтинг сайте. Но «быть может» — это вероятность с ненулевым исходом. И речь даже не о финансовой ответственности или юридической. Кто же вас найдёт за 2-умя слоями VPN`a, Whonix`ом в качестве ОС и приватными вкладками браузера. Речь о морали/карме что, конечно же, бред в наш то просвещённый век пока в жизни не начинается чёрная полоса ни с того ни с сего.

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

О безразличии к результату

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

Вот вам мораль: мне всё равно, что ты можешь пересказать мне принципы SOLID во сне равно как мне всё равно на то, что ты знаешь как оптимизировать код до O(logN) пока эти 2 части не станут целым. И нет, никому не нужно уметь написать алгоритм Дейкстры по памяти. Лично мне в практике никогда ни с чем сложнее связанного списка, деревьев и бинарного поиска не приходилось встречаться. Но базовые вещи знать надо.

Книга 2: Земля

Потом был npm install

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

Хороший, плохой, злой

На какой уровень из следующих 3-ёх вы себя оцениваете: Junior, Middle, Senior?

Почему только из этих 3-ёх? Может быть я хочу оценивать себя Анджелиной Джоли перед Lenovo ThinkPad на борту вертолёта Апач. Это что, ущемление? Отмена!

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

И сейчас, когда уважаемые HR`ы, следуя своим алгоритмам, задают мне этот вопрос у меня нет для них ответа, который они ожидают. Им не нравится ответ формата «Я могу делать всё что требуется вашему бизнесу и с большой долей вероятности я смогу сделать это самостоятельно если задачи не абсолютно domain specific». И как результат

18 есть?

Сколько лет вы работаете с технологией N?

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

Нет, серьёзно. Если я проработал с 2-3 последними версиями какого-то фреймворка, в процессе работы с ним десяток раз перечитывал документацию по нему и, бывало патчил какие-то внутренние функции под свои нужды но работал с ним 2 года и 11 месяцев вместо требуемых 3-ёх лет то я недостаточно хорош? Это ведь звучит как бред.

Звучит как бред, да?

Звучит как бред, да?

Тестовые задания

Тут были разные истории. Были и базовые страницы авторизации, которых у меня пол гитхаба, были и реально интересные задачи, над которыми мне самому интересно было посидеть подумать. А были и задачи на 5 листов ворда, на которые сами авторы давали целый месяц чтобы её завершить. И ладно, я мог просто заигнорить такую откровенную наглость, жаль только тех наивных дураков с горящими глазами, которые будут это делать. Но последней каплей для меня было сообщение от рекрутёра о том, чтобы я не делал тестовое потому что они уже взяли другого человека. Это было спустя 3-ое суток потраченных на это тестовое, которое я в этот самый момент заливал на гит. Конечно же о том, что у них есть кандидаты на последнем этапе собеседования мне не было сообщено. Про то, сколько моих отправленных тестовых осталось без единого ответа я даже не заикаюсь. Отсюда следующий абзац.

Игнор

Происходит на абсолютно каждом этапе. Благо, большинство после отправки резюме. Очень сдержано говоря бесит — когда на более поздних этапах. Ладно, может быть я оказался не так хорош после разговора с HR, что стоят 20-30 минут моей жизни. Но игнор после тестового/технического собеса или последующих этапов я простить не могу. Я потратил несколько часов своей жизни, а мне даже убогое шаблонное сообщение не могут в ответ отправить. Отсюда следующий абзац.

Убогие шаблонные сообщения

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

Fullstack DevOps QA Product manager

Я ещё и пироги печь умею

Я ещё и пироги печь умею

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

Технари

Я человек более-менее добрый, дружелюбный и понимающий людскую психологию, поэтому понимаю потуги собеседующего меня покрасоваться перед CTO/CEO/девочкой-мидлом/всеми вместе своими знаниями внутреннего устройства технологии T или знанием как решить дейлик с литкода поэтому не буду здесь многословным.

Разработка дорожает

Мы маленькая, но гордая инди-компания

Мы маленькая, но гордая инди-компания

Выкиньте макбуки и геймерские кресла и перестаньте искать «сеньоров» за крохи со стола

Я твоего отца в кино водила

Готовы ли пройти полиграф?

У меня лапки

Дайте контакты родителей

К директору вызовете?

Дайте контакты предыдущих коллег

У них фейсбук

Дайте код с предыдущих проектов

git clone https://closed-repository.com

Имя — Шерлок Холмс. Адрес — 127.0.0.1

Умиляет, когда господа нанимающие хотят попрактиковаться со мной в психологии.

Умиляет, когда господа нанимающие хотят попрактиковаться со мной в психологии.

Расскажите о своём самом большом достижении в жизни

Живя в современных реалиях, я не сторчался до 25 лет. Нет, серьёзно, я только вылез из нищеты благодаря IT, какого ответа вы от меня ждёте?

Расскажите о трудной проблеме, которую вам приходилось решать

Потрясающе, вы читали биографию Илона Маска. У меня не было проблем. Всё, с чем я сталкивался это обычный рабочий процесс.

Как вы решали конфликты в команде?

У вас есть семья, дети?

Я прохожу собеседование на работу в 9 часов вечера, как вы думаете?

Чем вы любите заниматься в свободное время?

Гоняюсь по улице за котами чтобы их потискать

Гоняюсь по улице за котами, чтобы их потискать

Фильтр по софт-скиллам, скажете вы. На собесе я могу быть на таблетках, отвечу я.

Bottom line

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

Человек с любой другой инженерной профессией — уважаемый представитель общества. Софтварный «инженер» — это шут прыгающий под дудку

Книга 3: Огонь

В конце был npm run build

Невошедшее, но не бесполезное.

NFT, ИИ, Микросервисы

Я понимаю, как работают стартапы, процесс поиска финансирования и что у проекта с упоминанием AI в названии есть больше шансов получить его но хватит тащить ИИ в свои проекты. Нет, вашему проекту не нужен никакой агент, хватит пытаться заменить саппорт безмозглой LLM. Моё первое и единственное сообщение для такого бота — «Позови мне человека». Что? Ваш бот меня не понял и просит повторить? Я больше не пользуюсь вашим продуктом.

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

Я не технарь, не знаю как это работает

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

Речь по большей части про QA и менеджеров, хотя у меня был и СЕО, который в жизни код не писал. И нет, я не жду от них понимания архитектуры Фон Неймана или чтения блок-схем о том, как у нас работают сервисы. И я не ЧСВ мудак, я могу объяснить как работает та или иная фича на пальцах. Один раз, на созвоне, показать и ответить на все вопросы. Сделайте чёртов конспект, запишите видео созвона, да хоть на тиктоки порежьте. Только перестаньте меня донимать каждое утро одними и теми же вопросами, перестаньте вешать на меня багфиксы, на которые я потрачу время чтобы потом в очередной раз объяснить, что это не баг, а ожидаемое поведение.

Мне это ваше новое не нужно, мне и хорошо с технологией T

Земля без легаси кода

Земля без легаси кода

Можешь хоть перфокарты использовать. Только плащ надень и людям не показывай.

Спору нет, какой‑нибудь С — это достойный инструмент. Для своего времени. Но мне в голову не придёт даже для сайта с доставкой еды его использовать, где какой‑то неучтённый UB всего‑лишь лишний бургер клиенту подарит, не говоря уже о чём‑нибудь критическом вроде мед. оборудования, ядерных станций и космических кораблей. Жизнь — это движение, если ты не идёшь вперёд — ты идёшь назад. И иногда ты тянешь других за собой.

Красная таблетка

Ничего особенного в том что мы делаем нет. Обычная профессия обычных офисных клерков.

О, ты оптимизировал запрос к БД и теперь вместо 1.5 с запрос идёт 0.9 с? Как жаль, что об этом никто не вспомнит примерно завтра.

О, ты зарабатываешь $10к в месяц? Неплохо, пока ты не понимаешь, что всё это — простая запись в хешмапе.

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

Эпилог

Добавить тут особо нечего. Это был опус самозванца со skill issue разочаровавшегося в профессии, который ничего кроме этой профессии делать не умеет. Жду опровержений от тех успешных из вас, кому HR`ы пишут сами и у которых по 10 офферов в разные компании. А ещё тонну дизлайков и волны хейта. Всем мир.


ссылка на оригинал статьи https://habr.com/ru/articles/855566/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *