Login

«Тепер на JS я моделюю бойові дії». Фулстек-розробник — про свій досвід служби в науковому інституті ЗСУ

Іван Козіков — Full Stack розробник, який вдруге став на захист країни 2022-го. Ми спілкувалися з Іваном, коли він був частиною Десантно-штурмових військ. А останні півтора року він служить науковим співробітником у Центральному науково-дослідному інституті Збройних сил України (ЦНДІ ЗС України).

В інтерв’ю DOU він розповів, як працює над математичним моделюванням військових операцій і розробляє застосунок, що розраховує результати операції за 10 хвилин. А ще про роль науково-дослідного інституту в ЗСУ та умови служби тут.

«Single source of truth для бойових розрахунків». Про науково-дослідну роботу в ЗСУ

Два роки тому я був заступником командира роти спеціального призначення і шукав, куди розвиватися з інженерного фаху. Хоч багато людей можуть вважати, що в армії людина затиснена на одній позиції все життя, розвиток тут — логічний шлях.

Коли я дізнався про Центральний науково-дослідний інститут Збройних сил України, тут якраз формували команду з програмістів. Я підійшов їм за навичками та потрапив до науково-дослідного управління математичного моделювання.

Тут є різні відділи: хтось прораховує математичні формули для війська, моя команда імплементує їх у застосунок. Інші тестують коректність — і формул, і роботи застосунку. З міркувань безпеки не можу назвати кількість людей у команді. Тільки зазначу, що у нас всі мультизадачні: кожен розробник добирає собі зону відповідальності, в якій має досвід. Наприклад, техлідство чи проєктний менеджмент.

Важливо, що ми — військова наукова установа зі своєю специфікою: військовою ієрархією, чергуваннями. Ми виконуємо не лише профільні задачі, бувають дні, коли я не програмую взагалі. Навіть колись був перекладачем, адже добре знаю англійську.

Основний фокус моєї команди — розроблення та удосконалення комплексу оперативних розрахунків (КОР). Він проводить розрахунки для планування військових операцій на різних рівнях: стратегічному, оперативному і оперативно-тактичному.

Ініціював створення застосунку мобілізований офіцер, який до повномасштабного вторгнення працював проджект-менеджером у SoftServe. Разом із командою волонтерів-розробників компанії вони створили прототип і першу версію системи.

Здебільшого ним користуються офіцери штабу, які розраховують операції. Вони вносять дані щодо бойового чисельного складу підрозділів своїх і військ противника в застосунок, а також умови операції (наступальна або оборонна), відсоток залучення техніки, роботу РЕБ тощо. І застосунок проводить розрахунки за математичними залежностями. Потім ці дані передаються командуванню для ухвалення рішень.

З початку 2024 року застосунок обовʼязковий до використання у війську

До його впровадження розрахунки зазвичай робились в іншій програмі (теж розробленій в ЦНДІ ЗС України) або в Excel, з чим було декілька проблем: дані було довго заводити та складно зберігати, захищати, не було стандартизації формул.

Ми врахували ці моменти в застосунку:

  • ✅ Дані зберігаються локально: достатньо один раз ввести. Система автоматично формує таблицю з усіма підрозділами — групами, ротами тощо. За потреби цю інформацію можна редагувати.
  • ✅ Швидкі обчислення. Коли дані введені, розрахувати результати операції займе хвилин десять.
  • ✅ Формули точні та стандартизовані, користувач їх не може змінювати. Перед кожним релізом ми оновлюємо математику.
  • ✅ Продумана безпека. Кожному підрозділу передається їхній екземпляр застосунку (ліцензовану копію) і ключ з унікальним номером. Застосунок не має виходу в інтернет.

Завдяки застосунку навіть ті, хто у війську недавно і не має технічного бекграунду, зможуть усе правильно обчислити на своєму рівні.

«Ми працюємо з усіма даними про людей і техніку до рівня взводу»

Комплекс оперативних розрахунків написаний на Angular і Electron-JS. Electron — як фреймворк для десктопних застосунків, адже наше рішення відрізане від інтернету, працює лише на окремому компʼютері. Angular — як UI-компонент. Ми працюємо з усіма даними про людей і техніку до рівня взводу. Це і танки, і артилерія, і безпілотні авіаційні комплекси. І продовжуємо розвивати рішення: наприклад, додали автоматичний імпорт даних з Excel.

Окрім безпосередньо розрахунків, у застосунку є картографічний інтерфейс: він показує бойову обстановку з умовними позначеннями військових формувань. Наприклад, під час планування наступальної операції можна задати цільові точки просування підрозділів, а система візуалізує прогрес виконання: етап операції з кількістю особового складу, бойовим потенціалом техніки тощо.

На практиці навіть сьогодні операції здебільшого готуються офлайн, з використанням паперових карт

Це ж рішення поступово має модернізувати процеси планування. Ми маємо позитивні відгуки від вищого командування, які свідчать, що це прикладний інструмент.

Разом з тим розуміємо нюанси:

  • використання та вплив розрахунків залежить від відповідальності операторів, які їх проводять, і того, наскільки командування враховує отримані дані;
  • щоб рішення працювало коректно, потрібно вводити правдиві дані. Ми не можемо цього проконтролювати, та якщо людина вирішила набрехати в даних — результат буде відповідний;
  • все передбачити неможливо. Умовно, прорахунки можуть показати 90% виконання операції, задані дані відповідатимуть дійсності. Але по факту умовний командир взводу запанікує і не виконає поставлених завдань, або в останній момент вирішить щось переграти. І навіть при прорахунку успіху в 90% операція може зазнати невдачі.

Варто розуміти, що розрахунки — це цифри та ймовірності. Грубо кажучи, старше командування при плануванні чи аналізі спирається, як правило, лише на отримані документи, донесення та доповіді: вони не завжди можуть виїхати та вивчити реальну обстановку на позиціях. Крім цього, командувач повинен володіти не конкретною тактичною обстановкою відокремлено, а бачити всю «оперативну картину» смуги відповідальності.

«Я вважаю інститут недооціненим». Про наукову роботу та виїзди «в поля»

За півтора року в ЦНДІ я відчуваю, що виріс як програміст: є нові напрями, з якими раніше не працював, а ще я не розв’язував такої кількості математичних задач.

Окрім управління математичним моделюванням, де я працюю, в ЦНДІ є підрозділи, які створюють доктрини, нормативні документи та обґрунтовують потребу тих чи інших нововведень у Збройних силах України. Наприклад, Сили безпілотних систем з’явилися не випадково. Спочатку певні фахівці обґрунтовували їхню структуру, принципи застосування, визначали їхні завдання, склад та необхідні засоби. Тобто командири, науковці збиралися та обговорювали різні аспекти й так дійшли рішень.

Так само не випадково у війську з’являються роботизовані наземні комплекси. Фахівці, зокрема й на бойових виїздах, вивчають їхнє застосування, щоб обґрунтувати потребу. До цього процесу долучені мої колеги з ЦНДІ ЗС України.

Крім роботи над комплексом оперативних розрахунків, ми займаємось науковою роботою з комп’ютерних наук та математичного моделювання бойових дій, пишемо наукові статті, виступаємо з доповідями на наукових конференціях тощо.

Я вважаю, що інститут — недооцінена установа. У 2023 році змінилось керівництво, стала більш прогресивною робота: окрім згаданого раніше, вже двічі проводили міжнародний форум «Воєнні інновації в сучасних війнах», видаємо науковий журнал Military Science, де можна публікуватися із дослідженнями на військову тематику.

Військова складова. Ми періодично виїжджаємо в зону бойових дій. Під час таких відряджень до підрозділів вивчаємо досвід роботи з нашою програмою: що треба покращити чи змінити.

Тилова служба теж важлива, адже, як кажуть у Штатах, на одного бійця припадає два-три, які його забезпечують. З власного досвіду знаю, наскільки критично, коли ти втомлений і чекаєш ротації. І виявляється, що тобі ще потрібно нести міни товаришам, бо логістична група не захотіла виходити з бліндажа. І замість відпочинку ти знову виконуєш важку роботу, хоча мав би бути тил, який би тебе забезпечив. Це свідчить про нерозуміння суспільством важливості тилових підрозділів. Та і навіть серед військових існує подібне нерозуміння.

Можна сказати, що й наш застосунок робить небагато: він не є зброєю і безпосередньо не знищує ворога. Проте на стратегічному та оперативному рівнях, на мою думку, він не менш важливий і сприяє нормальному функціонуванню армії. Адже що краще налагоджені процеси в тилу, то ефективнішими будуть дії на передовій. Кожен військовослужбовець, незалежно від місця служби, вносить свій внесок у спільну справу.

Як влаштований ЦНДІ і скільки тут платять розробникам

Здебільшого, у нас немає вакансій на зовнішніх платформах, на відміну від інших підрозділів (перші позиції зʼявилися влітку цього року). Тому кожен командир відділу самостійно підбирає військовослужбовців під свої потреби. А ще більшість посад у нас офіцерські.

Існують посади і для цивільних працівників Збройних сил України. Цивільним працівником може стати людина без бойового досвіду або науковець з відповідним науковим ступенем за конкурсом (якщо є цивільна посада).

В інституті є чітка ієрархія наукових посад: молодший науковий співробітник, науковий співробітник і старший науковий співробітник, а далі — начальники відділів. Наразі я — науковий співробітник, а за званням — майор.

Щодо отримання чергових військових звань, то в армії це залежить від двох основних факторів: вислуги років у попередньому званні та посади, яку ти обіймаєш.

«У ЦНДІ посада наукового співробітника відповідає званню майора»

Я прийшов на посаду капітаном, і в травні 2024 року у мене був рік вислуги у цьому званні, після чого мені присвоїли майора. Подальші підвищення відбуваються вже за два роки. На полковника потрібно навчатися в Національному університеті оборони України, адже це вже оперативний або оперативно-тактичний рівень управління військами.

Щодо зарплати, то порівнювати нас із військовослужбовцями тилових частин не зовсім коректно, адже в наукових підрозділах передбачені трохи вищі посадові оклади. Водночас навіть попри це, рівень оплати праці залишається в рази нижчим, ніж у сфері комерційної розробки.

Після демобілізації багато хто повернеться до цивільного життя. Проте я пообіцяв своїм, що підтримуватиму проєкт вечорами, адже він цікавий з інженерного погляду. Оскільки більшість нашої команди — мобілізовані військові, їхнє одночасне звільнення стане проблемою для інституту: складно буде знайти програмістів на зарплату та умови, що відрізняються від ІТ.

«Це інженерія, за якою йдуть в програмування». Про плани

Наразі планую зростати в інституті та розвивати наш комплекс оперативних розрахунків. Хочемо додати функції імпорту та експорту запланованих операцій, щоб можна було аналізувати різні варіанти.

Плануємо впроваджувати Монте-Карло симуляцію. Це метод, який використовує випадкові числа та багаторазове повторення обрахунків, щоб передбачити результат певної події або моделі, яка має невизначеність чи випадковість.

Я підгледів цей підхід у колег з НАТО. Під час спільної роботи нам показали 3D-симуляцію з окремими солдатами та технікою. Для цього рішення вони використали якісну 3D-гру: придбали її та адаптували під свої потреби. У грі була використана Монте-Карло симуляція, де залежно від різних даних розігрується сценарій. Машина може автоматично провести тисячі розіграшів за секунди. На підставі цих симуляцій ми отримуємо середню дельту, яка допомагає оцінити реалістичність операції.

Хочемо додати й собі цю функціональність.

Бачу великий імпакт від своєї роботи. Коли я переходив в ІТ, на курсах нам «рекламували» JS як мову, за допомогою якої можна керувати шатлами. І так склалось життя, що нею моделюю бойові дії певною мірою.

Похожие статьи:
Компания Transcend представила новую карту памяти microSD промышленного класса емкостью 64 ГБ с расширенным диапазоном рабочих температур....
Минулого місяця ми питали українських розробників, чого вони прагнуть досягти. А цього разу запропонували поділитися своїми...
В выпуске: нужны ли алгоритмы разработчику, когда SPM будет доступен на iOS, советы по Swift на каждый день, разбираем UIImage...
У новому випуску поговоримо про ринок праці: скільки часу займає пошук роботи в ІТ, які фахівці змушені зменшувати...
18 жовтня стало відомо, що при виконанні бойового завдання загинув Юрій «Тай» Осадчук — співробітник компанії...
Switch to Desktop Version