Skip to content

Latest commit

 

History

History
29 lines (18 loc) · 5.72 KB

2017-01-08-bog-junior.markdown

File metadata and controls

29 lines (18 loc) · 5.72 KB
layout title date categories
post
Бог — junior
2017-01-08 19:00:16 +0300
talk

Если допустить, что все окружающие нас системы изначально создал Бог, а также допустить, что прототипами он свои творения не считает, получается беда. Нам достался неопытный Бог. А уж как он человека сделал… Взять вот младенца.


Во-первых, беда с сообщениями об ошибках. Только error. Даже если warning. Или info. Всегда только error. Разница лишь в децибелах. О том, что в системе происходит, инженеру приходится догадываться по тому, как звучит ошибка: 1) просто error, 2) errrooooorrr, 3) eroooooooooooooor!, 4) eeeeeeerrrrrrr…..!!!!, 5) errr! errrr! errrooo! errroooo!

Во-вторых, беда с логами. Чудесная система, в которой важны всего три факта: наличие логов, их частота и то, как встроенная IDE их раскрашивает. Чтобы определить что-либо детальнее, требуется специальное оборудование. Представляете лог, который закодирован и который без специального софта не прочитать? И этот лог выдаёт программа, которую вы «купили»!

В-третьих, беда с мануалами и комментированием кода. Этого нет. Потому во многом эксплуатация системы «младенец» зависит от религии и моды (кроме случаев, когда очевидно «не влезай, убьёт»). Даже обученные специалисты на один и тот же вопрос по одному и тому же инстансу системы нередко отвечают разное. Как принято в софте junior’ов, всё познаётся методом тыка, результат которого трактуется как угодно. И всё равно никто не знает, верно ли.

В-четвёртых, в системе полно фич, выглядящих как баги. У профессионалов баги выглядят фичами, но только не у junior’ов. Колики (система выдаёт error за error’ом, включает багровый мониторинг, работает без sleep mode)? Это фича 70% систем при эксплуатации до 3-х месяцев. Почему?! Похрюкивание? Вот как из логики нашего мира вывести то, что похрюкивание до полугодия — это нормально и называется физиологическим ринитом? Никак. А ещё зубки! И всё это фичи. Типа норм.

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

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

В-седьмых, система написана так монолитно, что как-либо пропатчить её без Оркестра Великого Бубна ну почти никак. Junior’ы так любят писать. Количественная сложность кода, своя диковатая логика, миллионы тонн строк на экзотическом языке. Инженеры сидят и тупо смотрят. Тронь одно — что будет с другим? А как накатить фикс ядра? Никак?! Блин.


Мне кажется, его уволили. Получил ТЗ. Сделал «по образу и подобию». Сделал фиговенько, даже пару раз пытался форматнуть винт (и то не получилось). Senior’ы понаблюдали, оценили, да и выпихнули творца. А нас оставили зачем-то. Со всеми нашими коликами, зубками и невнятными, но громкими error’ами.

Так и живём.