Ад сложного софта

Через раз, когда что-то ломается, чувствую себя тупым и бесполезным. Мне кажется, если современные производители вещей сознательно делают вещи со сроком жизни в 3 года, то современные производители софта сознательно делают софт с миллиардом настроек.
Вот начинает MongoDB тупить на запись. То проверили, сё проверили, пятое и десятое. Попинали шины. Погуглили и почитали десятка полтора статей. Покурили мануал. Не помогло. И ведь мы не самые тупые бойцы, правда-правда. Понимаю, что хорошо бы выкурить весь мануал, поставить и погонять сотню инстансов, прочитать толстый учебник, а в финале ещё и пару сертификаций сдать успешно, чтобы заставить что-то (в данном случае MongoDB) просто делать свою работу хорошо. А я не хочу.

В мире железа как-то ушли уже от ручного переключения джамперами на плате в эпоху “вставь и играй”. Допёрли, что человеку ну вот ни фига не в кайф возиться с тараканами стопицотой железки в его жизни. В мире софта как был ад, так и продолжается ад, так и будет ад.
Сначала ты тратишь заметное A дней жизни на то, чтобы хоть как толково поставить и настроить какое-нибудь поделие. Потом тратишь B дней жизни на то, чтобы понаступать на грабли эксплуатации поделия. Потом тратишь C дней жизни, чтобы втянуть в полушария все пути обхода этих и других граблей, становишься хотя бы middle по эксплуатации поделия. Вроде жизнь нормализуется…
Но нет! Потом эти боевые римляне выпускают новую версию своего поделия, обязательно major, обязательно с кучей изменений! И ты тратишь D дней своей жизни, чтобы мигрировать на новые грабли. Потом тратишь E дней своей жизни, чтобы ещё что-нибудь. И вроде как успокаиваешься…
Но нет! Мода не стоит на месте. Тех же баз данных до фига. Вот тут у нас MongoDB, тут MySQL, тут PostgreSQL, тут ещё какая-нибудь xxxDB и yyySQL. Потому надо для каждой подолбени проходить один и тот же цикл.
Также надо учитывать, что любая хоть сколько серьёзная система состоит из нескольких взаимноинтегрированных систем, ну и в любом процессе разработки продукта участвует ещё стопка систем (начиная от компилятора и системы сборки, заканчивая системой выкатки в production). У каждой свои грабли. На стыке каждой пары всегда возникают свои грабли. И вы снова тратите F, G, H и даже I дней жизни, чтобы обойти, настроить, поднять, удержать, не уронить, заставить работать хоть каплю быстрее.
Офигенно мотивирует то, что уже через год-два эти знания и умения устареют. Мало того, что в работе разработчика и так каждый год постоянная дань забвению отдаётся (ну вот не запомнишь навечно всё, что через себя пропускаешь), так ещё и то, что помнишь, никому нафиг не надо будет. А каждые пять лет стек обновляется ваще совсем так, что жизнь с нового листа. У толковых нанимающих, кстати, нередко негласное правило смотреть только на последние 3 года работы. Всё, что до этих 3 лет, смысла уже не имеет.

Так вот. К чему весь этот стон, что я песней считаю? Подзадалбывает. Хочу, чтобы софт ставился одной кнопкой, поднимался одной кнопкой и опускался одной кнопкой. Чтобы софт делал ровно свою работу, а не гадил мне в мозг “а ещё я кофе могу сварить”. В жопу иди со своим кофе, просто реализуй своё предназначение так, чтобы я мог забыть о твоём существовании. Чтобы не требовались специальные люди, у которых специальные знания и специальные бумажки вида “я год жизни убил на то, чтобы крутить колесо швейной машинки в нужном ритме”.
Но вектор такой, что в будущем мы ещё увидим дипломированных специалистов по “профессиональному созданию таблицы в базе данных путём применения всего лишь 146 команд и флажков”. Вот именно так и будет. Я уверен.

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