/home/ram1337/

Единая точка отказа по имени человек

#проекты #думы #работа #карьера #разработка

О том, почему соло-инженер - это не цифровой супергерой, а человек, который одновременно строит систему, чинит её, отвечает за неё и однажды рискует стать её главным заложником

Судьба так сложилась, что я стал соло-инженером. Это когда ты мастер на все руки - делаешь всё подряд, от проектирования, построения архитектуры и кодинга до деплоя..

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

Соло-инжиниринг и цена незаменимости

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

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

Черновая работа. Где зарыты трупы проектов

Все, как один, любят “красивые фичи”. Это творчество и даже, мать его, искусство! Да вот никто не любит наводить порядок в документации и заниматься нудным обслуживанием того, что уже построено. И меж тем именно здесь проходит водораздел между игрушкой, которая сдохнет через месяц, и делом, которое будет стоять века. Казалось бы, наклепал функционал на коленке и дело в шляпе, ан нет! Технический долг нарастает как снежный ком, и очень скоро ты обнаруживаешь себя не творцом, а ассенизатором собственного кода. Собственно говоря, на коленке можно построить разве что шалаш, да и тот развалится от первого же ветра. А если хочешь чтобы каждый пользователь не проклинал тебя на чем свет стоит, изволь систему обслуживать, полировать и пестовать

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

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

О магии нейросетей, или почему теперь каждый стал “инженером”

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

Однако ж, тут кроется опасный соблазн. ИИ - мастер быстрого исполнения, но он не несет ответственности за архитектурный долг, который радостно наваливает в твой проект по мере его развития. Проблема возникает тогда, когда магию принимают за готовую систему. Работающий код и надежная система - это всё же разные весовые категории

В итоге мы имеем армию энтузиастов, которые искренне удивляются “Слушай, а чего это ты возишься с задачей два дня? ИИ мне выдал решение за десять минут!”. И в такие моменты хочется напомнить: инженер не нужен для того, чтобы просто написать код. Он нужен для того, чтобы понимать, как этот код будет вести себя через полгода, не рухнет ли база под наплывом юзеров и как потом не превратить поддержку продукта в ежедневный подвиг

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

Так что пускай себе кодят, но важно помнить: инженерия - это про способность предвидеть катастрофу до того, как она случилась. А нейросеть - это лишь кисть, пусть и невероятно быстрая

Единая точка отказа

Ситуация, прямо скажем, незавидная: если ты, не дай боже, занемог или решил податься в отпуск, всё встает колом, без твоих знаний система превращается в “черный ящик”, ключи от которого канули в Лету вместе с твоим спокойствием. Когда работаешь один, ты не просто инженер. Ты - единственная точка отказа, в которую упирается всё. Станет плохо тебе - станет плохо проекту. И эта мысль, доложу я вам, лучший транквилизатор для желания отдохнуть

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

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

Однако ж, есть и обратная сторона медали. Собственно говоря, если ты не поленился на берегу выстроить систему так, чтобы она работала “на автомате”, то всё будет не так уж печально. Если твой проект способен пережить твое отсутствие хотя бы пару недель, значит, ты не просто заложник, ты - настоящий инженер. И тогда отпуск в то, чем он должен быть - в отдых. В конце концов, высший пилотаж соло-инжиниринга - это построить такую систему, которая не развалится, даже если её создатель на недельку-другую отправится в горы, где не ловит мобильная связь

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

Школа жизни. Кузница характера или билет в один конец

Собственно говоря, соло-путь - это лучшая школа, какую только можно пожелать. Ты проходишь полный цикл: от шальной искры в глазах до унылой, повседневной эксплуатации того, что сам же и нагородил. Ты воочию видишь, как твой выбор, сделанный полгода назад, сегодня превращается либо в твой комфорт, либо в твою личную пыточную камеру. Это идеальный полигон когда сам себе ставишь задачи, и сам же пожинаешь горькие плоды своих архитектурных промахов. Растешь ты при таком раскладе быстрее, чем в любом инкубаторе, где за тебя всё давно придумали, разжевали и положили в рот

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

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

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