Коли саме у тебе з'явився інтерес до інформатики та програмування? Чому саме ці предмети?
Це, насправді, доволі весела історія. Спочатку я був переконаний, що моя карма — це математика, адже з дитинства мав хист до чисел і досить вдало кілька років поспіль брав участь в олімпіадах з математичної логіки.
Моя перша академічна олімпіада була з математики, в третьому класі став призером районки за 4 клас, і затвердився в думці, що знайшов своє призначення на все подальше життя.
На той час у мене була одна книжка з програмування, і я заради цікавості намагався якось вчитися за нею самостійно, але в результаті мені стало цікавіше просто посидіти й покрутити числа в Python.
Справжній розворот стався в 5-му класі, я приєднався до «Кванти» (ред. — гурток з математики, програмування та астрономії для учнів 5-9 класів).
Через пів року математики я доєднався до програмування, спочатку як “бек-математик”: саме математика стала лінзою через яку я бачив алгоритми, але там було відкрите програмування та чудові наставники, і мені це стало неймовірно цікаво. Я відчув, що в програмуванні теж щось можу. Так усе і закрутилось.
Як ти дізнався про олімпіади з інформатики? Чи памʼятаєш свою першу олімпіаду?
Про олімпіади я дізнався на «Кванті», адже цей гурток — справжній вулик олімпіадників. Перший рік у нас була підготовка до розуміння бази, щоб просто знати основи програмування. Ми розв’язували легенькі олімпіадні задачі, але ще не готувалися до конкретних змагань. У 6-му класі я написав свою першу районну олімпіаду з інформатики й отримав доволі непоганий результат. А от на міському етапі того року справи були вже геть кепські, але я твердо вирішив, що наступного разу підготуюсь краще.
До речі, добре запам’ятав саме ту міську олімпіаду: я сидів майже весь час, просто дивився в екран і не знав, з чого почати. Мене це тоді сильно злякало, я не розумів, що взагалі тут роблю. Проте я досидів до самого кінця, не полишаючи спроб хоч якось підступитися до задач. Думаю, цей болючий провал був дуже корисним, адже в подальшому теж не завжди все було гладко і переможно, але той досвід навчив мене боротися після падінь.
Як ти готувався до олімпіад? Скільки часу це займало? Якою була твоя підготовка та мета?
Насправді моя підготовка була доволі неструктурованою. У деякі дні я міг займатись по 7–8 і більше годин, а в інші — максимум годину-дві.
Щодо самої підготовки: по-перше, я працював зі своїм тренером — Валентином Івановичем (ред. — Валентин Мельник, тренер із Кременчука), по-друге — розв’язував задачі, зосереджуючись на тих темах, де відчував прогалини. Також намагався читати багато теорії, бо розумів, що це мій слабкий бік: не завжди добре знав теоретичну базу й не до кінця розумів, як її застосовувати на практиці.
Найкраще мені давалися конструктивні задачі — вони супроводжували мене до самого кінця участі в українських збірних, зокрема й на ІОІ 2024.
А щодо мети, то я поставив її собі одразу: якщо вже брати участь в олімпіадах, то тільки з максимально високими амбіціями — ІОІ або щось максимально близьке за рівнем. Можливо, у 7-му класі це здавалося комусь зухвалою або наївною мрією, але я просто любив прогу і відчував, що така планка для мене досяжна. А ще мене надихали історії інших олімпіадників, хотілося бути схожим на них, стати частиною цієї спільноти.
Що для тебе важливіше — участь чи перемога? Як сприймаєш поразки?
Складно сказати. В олімпіадах є така залежність: кожна перемога відкриває можливість для більшої кількості участей. Пройшовши районний етап, потрапляєш на міський/обласний рівень, якщо вдало проходиш Всеукраїнський етап — потрапляєш на відбори до ІОІ, і зрештою — сама ІОІ. Чим далі ти проходиш, тим унікальніший досвід отримуєш.
Але перемога для мене теж дуже важлива. Особливо коли я потрапив на омріяну ІОІ — там мені було справді принципово показати максимум. Я хотів знати, що зробив усе можливе, результат мав значення не лише для рейтингу, а й для мене особисто.
Щодо поразок — у мене є такий концепт: «спортивна злість». Коли я програю, намагаюся не зациклюватися на думці, що зробив не так. Я не дозволяю собі надовго застрягати в емоціях, натомість зосереджуюсь на тому, що можу зробити краще наступного разу.
Чи є в тебе власна формула досягнення успіху або девіз?
Не знаю, чи можна це назвати формулою успіху, але для мене головне — насолоджуватись процесом. Це доволі клішована річ: «просто отримуй задоволення — і все вийде», але без цього справді дуже важко. Якщо тобі не подобається те, що ти робиш, великий ризик швидко перегоріти чи вигоріти.
Мабуть, саме тому я й залишився в програмуванні: коли розв’язував задачі — мені це справді подобалося. Просто сидіти й крутити в голові якусь задачу на графи — я отримую задоволення від процесу і результату, коли задача таки вирішується.
Звісно, по трібно ще й багато працювати — але робити це розумно. Наприклад, я знав, що не з тих людей, які можуть стабільно працювати по 10 годин щодня, тому будував підготовку так, щоб мати змінне навантаження: десь більше, десь менше, з урахуванням свого ритму. Тобто працювати активно необхідно, але треба знати себе й розуміти, на що ти справді готовий.
А ще в мене був свого роду талісман — коротка фраза, яку якось написав мені в особисті після EJOI один із найкрутіших олімпіадників України: «Базонув так базонув». Вона прийшла на емоційному підйомі, і якось так закріпилась, що згодом згадувалась при кожному «успішному успіху». Іноді саме вона задавала настрій перед черговою задачею чи змаганням.
Яке із змагань було найбільш важливим та повчальним для тебе? Чому?
Одним із найважливіших для мене змагань були відбори на Всеукраїнську олімпіаду у 8-му класі. Тоді я втратив доволі багато балів на дуже простих задачах, і це стало для мене важливим уроком: на змаганнях не можна втрачати навіть найменші бали, адже кожна задача має однакову вагу. Якщо я, наприклад, не написав простий бінарний пошук і втратив 80 балів, то скільки б я не думав над складнішими задачами — навіть якщо отримаю часткові бали — загальний результат буде значно нижчим. Тож довелось вчитися зберігати фокус і на базових речах, бо мені якраз завжди цікавіше копатися в чомусь складному.
Ще одним дуже повчальним досвідом була підготовка до ІОІ 2024. Тут важливо було враховувати не лише самі задачі, а й багато інших факторів, які могли вплинути на результат — аж до таких деталей, як кліматичні умови в Єгипті чи навіть наявність беруш. Тобто не завжди достатньо вміти розв’язувати задачі — потрібно мати стратегію, що враховує широке коло нюансів і передбачає планування на кілька кроків уперед.
Чи є в тебе улюблений тип задач, який ти одразу впізнаєш і точно знаєш рішення?
Таких, де з першого погляду точно знаєш рішення, напевно, немає. Але дуже подобаються інтерактивні задачі та ті, де потрібно знайти щось за певну кількість операцій. Здається, подібною була задача B першого дня на ІОІ 2024 — Message — вона справді запам’яталася. Там якраз треба було сидіти й оптимізувати, думати, як реалізувати все якнайкраще. Бо в більшості задач ти або проходиш, або ні, а от у таких — можна поступово покращувати рішення знову й знову, це захоплює та додає азарту.
Які задачі були найцікавіші та на якій з олімпіад?
Мені здається, це доволі контроверсійна думка, але мені сподобалась задача про футбол на Всеукраїнському етапі 2024 року. Вона була не надто складною порівняно з іншими, але дозволяла розігратися і трохи подумати. Наприклад, коли я сам пробую писати задачі, часто стикаюся з тим, що задача або дуже проста, або неможлива. Тому я дуже поважаю, коли на олімпіадах з’являються такі задачі — де є простір для думання, де є неочевидні моменти. Це справді класно.
Якби тобі запропонували додати одне правило при проведенні олімпіади, яке б воно було?
У мене з цього приводу чимало суб’єктивних думок. Мені подобається, коли задачі різноманітні — не тільки про підблоки і DP. Тобто я за те, щоб у контесті було якомога більше нестандартних задач. Хоча, звісно, розумію, що стандартні теж важливі, і всі задачі не можуть бути нестандартними, це справді складно.
Не можу сказати, що є якісь проблеми з правилами чи з оцінюванням — загалом система доволі продумана. Єдине, що я додав би — це щодо перевіряльних систем. Деякі з них досі не мерджать блоки, і доводиться виписувати все підряд. У нас якраз такої проблеми немає, але на деяких олімпіадах вона траплялася, і це трохи ускладнює роботу.
Чим ти зараз займаєшся: навчаєшся, працюєш?
Я навчаюся в Phillips Academy в місті Андовер, штат Массачусетс, США. Це приватний навчальни й заклад, ми тут і живемо, і навчаємося. Працювати тут особливо не дозволяють, тож основна увага — навчанню.
Чи допомагає олімпіадний досвід у твоєму навчанні, роботі? Як саме?
На 100 %. У нас багато людей із кращими навичками тайм-менеджменту, але саме олімпіадний досвід дуже мені допомагає: я можу швидко зосередитися, увійти в робочий ритм і продуктивно працювати до самого кінця. Наприклад, у нас була дисертація з історії — більшість писали її протягом усього триместру, як і передбачалося. Я ж, хоч і мав зібрані матеріали, довго не брався за текст — був зайнятий іншими речами. У підсумку сів за два дні до дедлайну — і встиг, причому вийшло цілком непогано.
Ще один важливий аспект — уміння абстрактно мислити. Т и вже не сприймаєш задачу як набір дій «підстав це — зроби те», а намагаєшся зрозуміти загальні концепти. Це дуже допомагає в навчанні. Наприклад, мені раніше здавалося, що фізика — зовсім не моє: у школі з нею були радше формальні стосунки, на відміну від тієї ж математики. Але після олімпіадного досвіду в програмуванні стало набагато простіше, підготовка вже не виглядає такою складною.
Ким ти себе бачиш у майбутньому, яку посаду та де саме ти б хотів отримати?
Насправді, мені складно відповісти на це питання однозначно. У мене завжди була думка, що я хотів би робити щось своє — чи то стартап, чи якась НДОшка. Мені ближча ідея працювати на себе або в невеличкій команді, яка займається чимось справді цікавим і не обов’язково стандартним.
Тобто я розумію, що, скажімо, працювати в Google — це круто, і це дає багато можливостей, але мені здається, що для мене існують інші, більш відповідні шляхи. Мені важливо мати вплив на те, що я роблю, як я це роблю і яку користь це може принести. І для мене це ще й про те, як я можу бути корисним для світу.
Чи було колись бажання перестати займатись програмуванням? Якщо так — то що мотивувало продовжити?
А було, було. Насправді, у мене були періоди доволі непростих стосунків із програмуванням. Особливо через олімпіади: вау, клас, але разом з тим — і план, що треба постійно працювати і працювати, а працювати хотілося не завжди. Але я знав, що це того варте.
Бувало, що після невдалих змагань мені здавалося, що програмування — це не моє. Здавалося, що я сильно здувся, що вже не здатен буду рухатися далі. Але потім з’являлися нові можливості: відбори, олімпіади. Наприклад, після такого падіння і внутрішнього самопідгризання я потрапив на Балканську олімпіаду і подумав: стоп, ще ж не все втрачено. Я справді можу, і я хочу продовжувати.
Правду кажучи, в мене не завжди було бажання брати участь у тих змаганнях, де я відчував, що точно не буду найкращим, найсильнішим, що це не мій формат змагань. Але інша частина мене казала: продовжуй працювати, усе тільки в твоїх руках.
Розкажи про свого тренера, як саме він тобі допомагав: лише навчанням чи й життєвими порадами?
Валентин Іванович (ред. — Валентин Мельник, тр енер з Кременчука) має дуже цікаву традицію — перед кожною олімпіадою він розмовляв з кожним із нас особисто. Звісно, ці розмови стосувалися переважно олімпіадних речей, але, як мені здається, багато з них дали мені й важливі життєві уроки.
Наприклад, його порада починати з простих підблоків, дати собі трохи впевненості й зрозуміти суть задачі — вона досі мені допомагає. Навіть зараз, коли я працюю над якимись невеликими проєктами, я згадую цю думку. Бо хоч дуже хочеться зробити все ідеально й одразу, я розумію, що ідеального не буває, а краще напочатку дати собі простішу задачу, щоб отримати конкретний результат і рухатися далі.
Щодо навчання — він був для мене дуже важливим наставником. Ми працюємо з ним уже давно. Я добре пам’ятаю, як на самому початку він дав мені тест на логіку — тобто жодного програмування, жодного коду. Це було для того, щоб зрозуміти, як я думаю. І, як мені здається, це доволі показов о: що я не просто готуюсь писати код, я готуюсь справді вирішувати складні задачі.
Коли результати на олімпіадах були не найкращими, Валентин Іванович завжди казав: працюємо далі, дивимось, які далі є можливості, що ми ще можемо зробити. Уже на ІОІ 2024, коли багаторічна марафонська дистанція була пройдена, ми з ним розмовляли, і я був щиро вдячний Валентину Івановичу, що він допоміг мені дійти до того моменту, коли я міг із гордістю називати себе його учнем.
Як ти відпочиваєш, чи маєш якісь захоплення окрім програмування?
Так, у мене зараз є доволі багато різних захоплень. У нас всі мають займатись якимось спортом, і з грудня я займаюсь лазінням — ми маємо власну стінку, до її покращення, до речі, я мав безпосередній стосунок. Іноді ми ще виїжджаємо лазити по справжніх каміннях — це дуже класно. Мені здається, це один із ідеальних видів спорту для програмістів. Адже під час лазіння одночасно треба вирішувати такі собі задачі — ми навіть між собою називаємо це «розв’язуванням задач», коли думаємо, як правильно залізти. При цьому це спорт, але досить спокійний.
На складних ділянках я рухаюсь майже як лінивець: повільно, обережно — бо якщо зробити щось різко, може стати набагато складніше. Після олімпіад це було дуже корисно: на змаганнях чим швидше — тим краще, а тут я маю можливість знайти баланс.
Ще один спосіб перемикатися після навчання — клуби за інтересами. У нас їх багато. Крім клубу програмування я ще займаюсь лінгвістикою, іноді відвідую дискусійний клуб. До речі, не можу не похвалитися — хоч і питання було про щось окрім програмування — але наступного навчального року я очолюю клуб програмування. А ще ми з друзями розробляємо проєкт нового клубу, пов’язаного з технологіями і фінансами.
Також я знову граю на гітарі. Був період великої перерви, але зараз знаходжу час і навіть намагаюсь писати власну музику. З учителем працюємо над аранжуваннями в стилі американського джазу — мені це дуже цікаво.
І, мабуть, мене легко впізнати в школі не лише за нетиповим кольором волосся — як тільки з’являється можливість, я в своїх великих навушниках і слухаю музику. Це ще один спосіб відпочити, перемкнутись, або просто налаштувати на потрібну хвилю.
Що б ти порадив учням, які лише починають займатись програмуванням?
Дуже багато хто, щойно почавши, одразу думає, як зробити щось велике — програму на мільйон доларів, наприклад. Але значно важливіше подумати: що мені потрібно змінити в собі, які навички додати, щоб не просто створити щось випадково успішне, а щоб моя робота справді була вартісною. І в цьому, як на мене, найбільша цінність олімпіадного програмування — ми привчаємось думати, працювати з базовими речами, алгоритмами, розбиратись у суті.
Ще одна дуже важлива річ — баланс. Зберегти цікавість, не вигоріти, щоб програмування залишалося радістю, а не стало просто черговою “роботою”. Мені завжди цим подобались табори: у нас був час і для розв’язування задач, і для спільних обговорень, і просто для волейболу або якихось розмов “про життя”. Саме в таких моментах я найбільше ріс. Там була справжня спільнота: ми надихали одне одного, допомагали, підтримували — і давали можливість відпочити, не тиснули.
Це справді важли во — знайти свою спільноту. Людей, з якими можна рости, надихатись, вчитись, і просто бути собою. Саме це свого часу найбільше допомогло мені. І досі допомагає.


