IT vs армія #2 . Code review армійських законів
Добрий день!
Я анонімний програміст, і в ефірі друга публікація з циклу IT vs армія.
В попередній, вступній частині, я розказав базові, контекстуальні, вбудовані відмінності армії від ІТ.
В наступній розкажу несмішний анекдот і наведу деякі з прикладів довбоїбізму, з якими стикався безпосередньо.
А зараз буде про його передумови: про військове законодавство.
Почнемо!
Рівень ієрархії, на якому визначають правила гри
Що ми маємо в ІТ?
В ІТ топ-менеджемнт компанії, на всекомпанійному рівні встановлює лише дуже загальні регуляції. СТО визначає лише загальні стандарти коду. Конкретний набір бібліотек, робочий графік, ремонт/офлайн і т д визначає кожна команда між собою. Ніхто зверху тобі не диктує яким саме способом центрувати div. В ІТ СЕО довіряє своїм СОО, СТО, СМО та іншим. Ті в свою чергу довіряють своїм менеджерам департаментів. Ті в свою чергу довіряють менеджерам проектів, а ті своїм підлеглим. В ІТ кожен начальник на кожному рівні намагається залишити максимум свободи для начальника рівнем нижче
.
А в армії не так.
Тут більшу частину деталей існування найдрібнішого виконавця регулює своїми законами найвищий законодавчий орган країни — Верховна Рада.
Ті ж таки статути — їх приймає не командир роти, не комбат, не комбриг, не командуючий ОТУ, не командувач роду військ, не головнокомандувач, не міністр оборони, не президент. Небойові статути і ще дуже багато законів які стосуються армії (про оборону, про соцзахист військових, про військову службу та інші) голосує саме Верховна Рада. Більшу частину правил які регулюють службу всіх військових встановлює Верховна Рада.
Ту частину простору для регулювання рішень які не заповнила ВР — заповнило своїми наказами, указами, постановами і так далі, Міністерство оборони.
На рівні генерального штабу, найвищого саме військового органу, простір лишився лише в тому, де верховна рада чи МО випадково пропустили. І авжеш всі ці «прогалини» генштаб заповнив на своєму рівні.
Вийшла така ситуація, коли усі начальники, хто в ієрархії нижче Генштабу, в теорії то мають право дописувати і свої правила. Але по факту навіть написаних на найвищому рівні правил настільки доху забагато, що комбригу (менеджеру якому підпорядковані кілька тисяч людей) чи тим паче командиру взводу щось там дописувати просто нема куди, дуже малий простір.
В армії більшу частину регуляції прописали на самому верху і не лишили жодного простору для високої, середньої і нижньої ланки управління.В армії всі деталі що стосуються найрядовішого виконавця прописані найвищим рівнем начальства.
Рівень зарегульованості
В ІТ в тебе вірять. В ІТ довіряють твоєму професіоналізму. В ІТ вірять в твою здатність думати і придумувати рішення. В ІТ тебе для того й наймають щоб ти думав і знаходив найоптимальніші рішення. В ІТ дуже цінують креатив, спеціально спонукають креативити. Через це в ІТ дуже багато свободи
. В ІТ навіть якщо взяти якусь конкретну команду і записати всі всі правила що стосуються тієї команди — це буде пару сторінок на конфлаєнсі.
В армії ж кажу, в армії навіть найменші дрібниці прям документально зацементовані
на найвищому рівні. Навіть найменші дрібниці. Н А В І Т Ь Н А Й М Е Н Ш І Д Р І Б Н И Ц І .
Для розуміння масштабів — самі лише 4 базових статути — це добротна груба книжка. А крім базових статутів є ще бойові статути. Якщо зібрати всі статути в одну стопку, обмотати скотчем і кинути комусь в голову — можна убити.
А крім них є ще ряд інших законів (про оборону, про соціальний і правовий захист військовослужбовців, про військовий обов’язок і військову службу і т д). А крім законів є ще десятки указів президента, сотні указів міністерства оборони і генштабу.
В армії регулювання настільки детальне, настільки дріб’язкове, настільки сильно мікроменеджерське, що навіть якщо ти полковник — в тебе дуже сильно зв’язані руки. (Полковник в армії це щось типу CEO компанії розміром з softserve). Навіть якщо ти командуєш кількома тисячами людей — ти надто дрібна пуцька в цій системі щоб мати хоч якусь свободу в прийнятті рішень.
Більша частина військового законодавства України написана з принципу: «нах-й тєбє думать? Проста дєлай как напісана. Ти мєлкая вош, тєбє нє нада думать, нє нада ізобрєтать, нє нада самадєятєльнячать, нє нада всєй етай вашей дємакратії! Тєбє нада молчя ісполнять всьо что прідумалі за тєбя».
Розмитість
От що таке наказ?
Чим він відрізняється від вимоги, від розпорядження, від вказівки, від побажання. Як відрізнити?
А чим небойовий наказ відрізняється від бойового наказу?
А що таке явно злочинний наказ? Як його відрізнити від неявно злочинного. А як від законного наказу?
Це базові поняття, від яких залежить багато всього. Зокрема чи сядеш ти в тюрму на 10 років за відмову то виконувати чи ні. Але на ці питання нема чітких однозначних відповідей.
Парадоксально. Але попри таку величезну кількість тексту законів, чіткості і зрозумілості в цих законах всеодно нема
.
От як людина обирає правильне рішення в тій чи іншій ситуації?
Якщо людина працює в ІТ, то людина включає голову і сама придумує правильне рішення, бо в ІТ найоптимальніше рішення і є правильним.
Якщо людина працює в грамотно бюрократизованій структурі — людина просто відкриває книжку і знаходить там готове правильне рішення.
Якщо ж людина служить в армії, то людина іде шукає військовослужбовця хто вже стикався з подібною проблемою. Розпитує, узнає за що піздюліна була (тобто як робити нізя), за що не було (тобто як робити можна). Вкотре ахуєває з цього довбоїбізму, проклинає Верховну Раду, президента, кабмін, суди, прокурорів і всю владу яка тільки, проклинає всю цю систему, цю армію і службу. Потім заспокоюється, починає робити і паралельно молиться хоч би пронесло. Молиться, бо в армії правильність рішення визначає не здоровий глузд як в ІТ, не книжка як в грамотно бюрократизованих компаніях. В армії правильність рішення визначає аудитор, прокурор, співробітник ВСП, ДБР, суддя. Причому визначає чисто виходячи з власного нерелевантного суб’єктивного світогляду. І так як аудитори, судді і прокурори є різні: в кожного своя думка, свій погляд на закон, своє тлумачення, і ти ніколи не знаєш точно на якого з них ти попадеш. То ніхто, навіть досвідчені військовослужбовці, ніколи на 100% не знають як ту чи іншу дію розцінить конкретний рандомний аудитор який приїде нас задрачувати.
В армії закони не лише забюрократизовані. Тут вони ще й страшенно розмиті. А як наслідок в армії нема не лише верховенства здорового глузду. В армії нема й верховенства бюрократії. В армії є верховенство аудиторів
, прокурорів, весперів, совкових їбаньків з високими погонами, дброїдів, суддів і подібних людей. Але про це ще буде в наступних публікаціях.
Заплутаність
Уяви собі якийсь здоровенний ентерпрайс проект, в якому от просто кілька тисяч файлів скиданих одним насипом в одній папці. Не розбито по багатьох папочках акуратно як має бути. Ні. Просто скидані насипом в корінній папці.
І більше того. Сам зміст в тих файлах перемішаний. От на прикладі зрозумілого для всіх HTMLя. Просто уяви: в файлі footer.html зверстано половину футера, і стилі до хедера. А в файлі header.html зверстано половину хедера і половину модального вікна. А в файлі модального вікна написаний скрипт який запускає анімацію на головному екрані домашньої сторінки. От. От. От блять от якось отак от через сраку. Все між собою перемішано.
От саме так організовані закони у нас.
Всі вони одним скопом скидані на порталі zakon rada, без всякої там адекватної категоризації. А в самому законі в свою чергу написано купа всього що стосується його назви і купа всього що логічніше було б прописати в законах з іншими назвами. І це тільки закони. А є накази міноборони і генштабу, які ще спробуй знайти десь в інтернеті. Часто вони є лише на комп’ютері в штабі, і то застарілі версії. Перемішані з купою телеграм (коментарів до коду) з роз’ясненнями.
Практичне завдання для бажаючих відчути всю глибину дна
Візьми погугли порахуй скільки грошей в місяць передбачено звичайному командиру відділення в механізованому батальйоні якоїсь з бригад сухопутних військ з 4 роками вислуги на посаді командира відділення. Всі оті оклади, за посадою, за тяжке життя, за красиві очі, за вислугу, премії, додаткова винагорода, от те все. Погугли почитай закони спробуй розберись.
Шизоїдне (один пункт одного закону перечить іншому пункту іншого закону)
Законопослушний військовослужбовець очима законодавства — це як ідеальний чоловік:
Він має бути і низьким, і високим одночасно. І лагідним, і брутальним, одночасно. І вольовим, і податливим. І добрим і злим. І смішним, і серйозним. І мертвим, і живим. Одночасно. І запальним, і спокійним. І справедливим, і милосердним. І з принципами, і без.
І все одночасно. Що просто нереально!
І тим не менш обов’язкове до виконання 🕺
Попри розмитість набору отих правил. Попри їх суперечливість. І відірваність від реальності. Всі ті правила є обов’язковими до виконання.
Або виконуєш, або тими ж правилами передбачено тюрму.
В ІТ теж є застарілі, а є й з самого початку гівняні фреймворки. Ба більше, навіть в добре обкатаних фреймворків є баги.
Але в ІТ ти можеш сам обирати фреймворк під свій проект. Ба більше, якщо в чомусь фреймворк пропонує неоптимальне рішення — ти маєш право зробити костиль. Є коли в документації прямим текстом прописано про обмеження фреймворка і рекомендовані костилі для обходу цих обмежень.
В армії ж.. крок вліво — крок вправо — розстріл. Принаймні з формальної сторони. (На практиці ти є один здоровенний костиль, але про це буде в розділі про інші цікаві особливості).
Та ще й неповоротке
Ти ж уявив собі проект ентерпрайз рівня, де всі файли скидані в корені? А зміст в тих файлах перемішаний.
Уявив? Так от уяви як «легко» той код фіксити.
Уявив?
А тепер згадай, що цей проект уже в продакшені, в дуже важливій сфері. Ти маєш 300 раз подумати і лиш тоді внести правку. Бо якщо ти допустиш баг, від якого продакшен впаде — збитки сягнуть мільйони життів.
А ще згадай, що в армії той «код», всі ті правки перед пушом в продакшн перевіряє і колективно апрувить верховна рада. Верховна рада — тобто кілька сотень дуже різних за своїм світоглядом і своєю освіченістю людей. Хтось один сам по собі може лише робити пул реквест. Та й то лише хтось з числа депутатів або уряду.
Уявив?
Так от як думаєш, яка швидкість внесення змін в такий код?
От саме така, яку ми маємо в армії. Повільна.. Дуууже..
Коротко підсумок
В ІТ твердих законів дуже мало і багато свободи. Більшість правил взаємодії передаються якраз в процесі взаємодії, заточені під реалії і легко адаптуються коли реалії змінюються.
В армії ж законів, прям твердих записаних на папері, законів. Дуже і дуже багато. Які всеодно розмиті, перемішані і шизоїдні, але обов’язкові до виконання. І дуже дуже неповороткі.
Повний зміст циклу:
— IT vs армія #1 . БАЗОВІ відмінності
— IT vs армія #2 . Відмінності правил і законодавства
— IT vs армія #3 . Приклади ДОВБОЇБІЗМУ з поясненням причин
— IT vs армія #4 . КРІПОСНЕ ПРАВО
— ІT vs армія #5 . Як це все досі працює? В чому секрет успіху?
— IT vs армія #6 . ЦИФРОВІЗАЦІЯ і папери
— IT vs армія #7 . Можливості для розвитку
— IT vs армія #8 . МОТИВАЦІЯ. Чому люди тут служать?
— ІТ vs Армія #9 . МОТИВАЦІЯ. Чим людей мотивує сама армія?
— IT vs армія #10 . Чим відрізняється культура й атмосфера
— IT vs армія #11 . Неупереджено про БРАТЕРСТВО, дружбу і соціалізацію
— IT vs армія #12 . Чим відрізняються ЛЮДИ в армії і ІТ?
* Ніхто не може змінити світ одним рухом пальця.
Але всі можуть відправити лінк на цей топік в флуділку компанії, в чат з одногрупниками чи й навіть просто другу в особисті.
* Примітка
Тема складна, обширна.
Я то старався максимально зрозуміло. Але не знаю чи вийшло.
Тому якщо є питання — задавай 👇
22 коментарі
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.