Віктор Турський про програмування / навігатор

концепції / deep-learning-of-fundamentals

Глибоке вивчення фундаментальних речей

Це найзвʼязніша теза каналу — майже кожне відео, від DNS до повнопривідних авто, є її застосуванням. Твердження: є два типи інженерів — ті, хто «просто викликає методи», і ті, хто копає, — і лише розуміння нутрощів технології дає тобі її властивості: що станеться з базою, якщо даних стане вдвічі більше, чому індекс прискорює одну форму запиту й не прискорює іншу (3 речі, що роблять програміста кращим, з Джоном Кармаком як авторитетом для «вивчай речі глибоко»). Маркетингові матеріали цих властивостей не дадуть ніколи; нутрощі — дадуть (вчитися глибоко і памʼятати). Фінальна притча з глибокого занурення в індекси дистилює це: три програмісти — один не знає про індекси, другий знає «індекси = швидше», третій розуміє нутрощі — і лише третій проєктує добре (індекси: MySQL проти Postgres). Зворотний бік — догматизм, одна з трьох речей, що псують програміста: читати і вірити замість розуміти, як-от «props у getInitialState — це антипатерн React», повторюване як абсолютна істина, хоча в доках було написано, що все залежить від причин (3 речі, що псують програміста).

Аргумент про запамʼятовування — його аналогія з деревом знань (вчитися глибоко і памʼятати): фундаментальні речі — це стовбур і гілки, на які чіпляється нове знання. Вивчи листок (деталь, API фреймворка) без гілки під ним — і він «падає на землю»: забувається за місяць, доля, на яку скаржаться глядачі. Коли гілка на місці, листя відростає швидко, і знання компаундиться рік за роком; віддавай перевагу знанням, що лишаються актуальними 5–10 років, — він навіть радить намалювати власне дерево технологій. Його особистий метод навчання будується на цьому: «корисна прокрастинація» — надивитися багато відео на тему з різних кутів до насичення, а потім практика; чіпляти все нове до всього, що вже знаєш; вчити стек через теорію плюс пет-проєкт, який ти справді хочеш запустити для «віртуального замовника»; і книжки бʼють статті, бо контент із середини розділу книжки не виживе як окрема стаття (Q&A і плани на 2024). Кожен інженер, каже він там, має знати основи ОС, процеси і мережі; новачкам додає: доведи пет-проєкт до кінця — фронтенд, бекенд, БД, Docker, хмара, домен, DNS, пошта — щоб володіти всім процесом доставки (друге Q&A). Стартові вправи з внутрішнього бейзлайну WebbyLab на 13–14 тем: інтервʼю-питання «від URL до відрендереної сторінки», вивчення security-експлойтів, написання JSON-парсера без жодної бібліотеки (3 речі, що роблять програміста кращим).

В епоху AI він стверджує, що фундамент важить більше, а не менше: без розуміння нутрощів ти можеш лише повторювати за маркетингом чи за AI, який «стільки всього робить неправильно», — його вибір Flutter замість React Native (нативна компіляція проти JS-моста, вирішально для realtime-математики телеметрії) — це той тип рішення, який жоден промпт за тебе не ухвалить (вайб-кодинг нового проєкту). Глибина — ще й передумова проєктування: потрібно знати властивості кожної підсистеми, щоб уся система відповідала вимогам (вчитися глибоко і памʼятати, див. проєктування ПЗ). І теза працює за межами софту: «AWD» — маркетингова наліпка, і поки не розумієш розподілу моменту, охолодження муфти і типів коробок, не передбачиш поведінку авто — Audi продає три дуже різні речі під однією назвою «quattro» (порівняння систем повного приводу).

Розібрано у відео

Повʼязане

Проєктування програмного забезпечення — нутрощі дають властивості, з яких складаються дизайни Знання предметної області — друга половина принципу «зрозумій, перш ніж будувати» Карʼєра і зростання — глибина — його пояснення того, як інженери насправді ростуть Індекси баз даних, DNS (Domain Name System), Затримка і швидкість світла — флагманські демонстрації тези Повний привід і трансмісії — оффтоп-доказ, що теза узагальнюється Вайб-кодинг — чому AI підвищує, а не знижує цінність фундаменту