phoresl.com

This personal website belongs to Orest Smertnyi, also known online as foresle or phoresl.

Photo of Orest Smertnyi

Неформальні вайб-кодери

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

Коли я приїздив в село з навчання я був відрізаний від всього світу. Єдине з’єднання з мережею Інтернет яке я мав, здійснювалося через CDMA модем. Якість такого з’єднання далеко відставала від міського, де мої однолітки без проблем могли дивитися умовний YouTube скільки їм влізе і значно раніше. Це змушувало цінувати кожен пакет отриманий з мережі, а також обмежувало можливість отримати швидкий дофамін від розважальниї відео. Навіть гра в комп’ютерні ігри була обмежена, адже комп’ютер в мене відставав від сучасності, хоча зараз нічого сильно не змінилося.

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

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

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

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

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

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

Та до чого тут вайб-кодинг? Все почалося з того, що мій друг @tress розповів мені про першу зустріч з цим терміном і наступним розчаруванням у світі. Вперше почувши це новстворенне слово він логічно розклав його на дві складові та був впевнений в тому що це значить саме цей приємний вайб проведений за програмуванням, вивченням нового та водночас розважанням власного мозку.

В нього теж була приємна історія про те як він опинився в селі і оскільки там було нічим зайнятися, дістав свій старий 32-бітний комп’ютер з одним процесорним ядром, відкрив там Code::Blocks та почав писати курсову роботу. Вловлюєте цей схожий настрій? Коли тебе нічого не відволікає, а потужність заліза сприяє йти складнішим шляхом для отримання дофіаміну і замість ігор ти починаєш розробляти.

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

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

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

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

Повертаючися до терміну, я вважаю його невиправданим, таким що ламає сенс. Я хочу знайти краще значення цьому слову, я хочу щоб це позорисько зникло з нашого життя як і термін ІТ, коли їм обзивають програмістів. Я переусвідомив вайб-кодера як людину, що наполегливо вчиться та пише власний код будучи відданою цій справі і при цьому їй це подобається. В епоху кортких відео вже ніхто не розбиратиметься в тому чи відповідає змісту це слово, але хоча б для себе і кількох людей, що це читають я пропоную замінити сенс цього терміна. Можливо щоб уникнути колізії додаючи «неформальний». Тож я визначаю себе справжнів хоч і неформальним вайб-кодером. Хто іще зі мною? Публікуйте атмосферні відео чи тексти з міткою «#nonformalvibecoding».

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

Я

The end

This is the end! Thank you for reading. You can support me or buy me a coffee. Your support means a lot and will help me keep creating new projects and posts on this blog.