Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni

🤖🚫 Контент вільний від AI. Цей пост на 100% написаний людиною, як і все на моєму блозі. Насолоджуйтесь!

29.09.2024

Чому робота складніша за олімпіади?

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

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

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

Звісно, фразу “бізнес-правила” я придумав для цього пояснення, а в житті задача виглядає як набір прикладів: “ось ці штуки повинні працювати отак”. З прикладів важко зрозуміти, що конкретно є параметром, а також яка поведінка буде при сукупності обставин, а не в ізоляції. Зворотний зв’язок теж надається новими прикладами, тільки тепер з живої системи, де спочатку потрібно зрозуміти, що відбувається.

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

PS. А ще про олімпіади згадували дружні канали тут та тут, доєднуйтесь й ви.