Архітектор програмних систем

Інженерія, що витримує перевірку

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

За кожним рішенням — чинний стандарт із редакцією й датою звірки.

Що саме я будую

Рутину має виконувати програма, а не людина

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

  • Реєстри та сервіси установОблік звернень, заявок і майна в одному місці, з історією змін. Єдина база замість розрізнених файлів у різних людей.
  • Бек-офіс і фронт-офісВнутрішні системи для фінтеху, банків і платіжних сервісів: розмежування ролей і прав доступу, повна історія кожної зміни.
  • Інтеграції між сервісамиОбмін даними між бухгалтерією, CRM і держреєстрами. Кожна передача фіксується в журналі, дублі відсіюються автоматично.
  • Інформаційні порталиНовини, документи та публічна інформація зі зручним пошуком. Розділи впорядковані так, що прогалини в наповненні видно одразу.
  • Освітні платформи та LMSОнлайн-платформи закладів освіти, розклади занять і навчальні матеріали. Оновлення публікує ваш працівник самостійно, без звернень до підрядника.
  • Автоматизація рутиниДовідки й звіти формуються автоматично за розкладом. Якщо щось піде не так — система сама повідомить про збій.
Звідки починаємо

Дві точки входу — залежно від того, що у вас уже є

А

Система вже є

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

Б

Системи ще немає

Починаємо з аналізу вимог і правових меж, у яких працюватиме система. Далі — архітектура й побудова з нуля. Постановку задачі й технічне завдання складаю я — від вас потрібне знання власного процесу, а не технічна мова.

Первинний огляд наявної системи входить у перший етап роботи за договором і окремою послугою не надається. Заявку подає власник системи або уповноважена ним особа. Далі — п’ять етапів від постановки задачі до переданої системи.Як влаштована робота покроково ·окремо для бізнесу й приватних установ.

Своє ім’яЯ не здаю роботу, під якою було б соромно підписатись. На кожному проєкті стоїть моє прізвище, а не назва агенції.

Головне, чим це відрізняється

На виході — не разовий продукт, а система, розрахована на роки роботи

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

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

  • Нестандартні ситуації прораховані заздалегідьПорожні дані, обірваний запит, дубль платежу, два одночасні редагування різними працівниками, зникле з’єднання з базою. Це не «колись потім» — це частина проєктування, бо саме на цих сценаріях системи й падають.
  • Реліз проходить контрольні перевіркиПеред передачею збірка проходить прогін у середовищі, наближеному до продуктового, і набір автоматичних перевірок — швидкість, доступність, заголовки безпеки, типізація, вразливості залежностей.
  • Стандарти фінтеху за замовчуваннямЦілісність даних, журнал дій, доступ за ролями, передбачувана поведінка при збої. Там, де я працював, «якось працює» не буває, і ця планка не залежить від масштабу замовлення.
  • Система переживе розробникаТести, документація, читабельний код, ваші доступи й ваші дані. У замовній системі вихідний код переходить до вас; у готовій платформі ви отримуєте безстрокову ліцензію та вивантаження даних на вимогу.

Шість контурів я закладаю завжди, решту — там, де це справді потрібно вашій системі. Тести, релізні гейти, моніторинг вразливостей, заголовки безпеки, доступність і резервні копії з перевіреним відновленням не додають рядка в кошторис — це усталені інженерні практики, застосовані за замовчуванням. Журнал дій, повідомлення про стан, інтеграції та кабінети закладаються за потребою вашої системи.Що змінює кожен і чим підтверджується.

ШістьНезалежних інструментів, кожен з яких відкритий і вам. Жоден із цих показників не доводиться приймати з моїх слів.

Планка релізу

Шість умов, без яких я не передаю систему

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

  • 97–100

    Google LighthouseШвидкість 97–99, доступність, найкращі практики та пошукова оптимізація — 100. Медіана трьох прогонів на мобільному профілі.
  • A+

    Заголовки безпекиПолітика вмісту, HSTS і решта заголовків налаштовані так, щоб сторінку не можна було вбудувати в чужу сторінку чи доповнити стороннім кодом.
  • A+

    Шифрування TLSСучасна конфігурація захищеного з’єднання без застарілих протоколів і слабких наборів шифрів.
  • AA

    ДСТУ EN 301 549Ціль — рівень AA за ДСТУ EN 301 549:2022, розд. 9. Машинна перевірка має давати нуль порушень, плюс ручний прохід усіх сторінок з клавіатури. Невиявлення порушення не означає повної відповідності — сканер бачить приблизно третину критеріїв.
  • 0

    Вразливостей на дату передачіСклад бібліотек звіряється з відкритими базами перед кожною передачею, і в акті стоїть дата звірки. Це стан на дату, а не назавжди: нова вразливість може з’явитися наступного дня — саме тому звірка повторюється, поки триває підтримка.
  • 0

    Помилок розміткиВалідний код за стандартом W3C — основа передбачуваної роботи в будь-якому браузері, зокрема в старих, з яких заходить частина відвідувачів.

Це планка релізу, а не рекламний бейдж. Кожен показник — умова, без якої збірка не передається замовнику. Те, що ззовні не вимірюється — журнал дій, копії, тести — при передачі роботи отримує звіт, протокол або екран.

Зобов’язання

Технічну частину відповідності забезпечую я

Поки діє договір підтримки, я відповідаю за платформу, структуру обов’язкового оприлюднення там, де воно застосовне, безпеку й доступність. Оновлення безпеки, звірка залежностей і перевірене відновлення входять у підтримку повністю.

Обсяг, строки й межі відповідальності зафіксовані договором

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

Окремий напрям

Рішення для установ — там, де до інженерії додається закон

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

Що показують аудити

Три знахідки, які повторюються майже на кожному ресурсі

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

  • Платформа без оновленьНайчастіше це збірка PHP і система керування вмістом, зняті з підтримки кілька років тому. Вразливості таких версій давно описані у відкритих базах, і сканеру потрібні секунди, щоб зіставити одне з одним.
  • Відкрита сторінка входуПанель керування доступна за типовою адресою кожному, хто її вгадає. Обмеження кількості спроб немає, тому перебір паролів іде цілодобово й нікого не турбує.
  • Резервні копії у відкритому доступіАрхів ресурсу або вивантаження бази лежить у публічній папці й віддається будь-кому, хто вгадає ім’я файлу. Разом з ним віддаються й персональні дані.

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

Без жаргону
Розібратися самостійно

Свіже з блогу

Перший крок

Опишіть задачу — поверну розбір і оцінку

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

або напишіть туди, де зручно