AI-інструменти розробників Netflix: ексклюзив від Богдана Коваля
На конференції AI Conf 2025 від IT-університету Neoversity, що була присвячена застосуванню штучного інтелекту в бізнесі й держсекторі, ми отримали унікальну можливість підглянути за лаштунки робочого процесу розробників Netflix. Богдан Коваль, Senior Software Engineer в Netflix поділився корисними ШІ-інструментами, які використовує щодня. Вони допомагають оптимізувати роботу й економити час, а відтак бути ефективнішим, працюючи в команді лідера на ринку відеовиробництва та стримінгу.
SPEKA поцікавилася в Богдана Коваля щодо специфічних AI-інструментів для розробників, як опанувати нові рішення та якими скілами має володіти кандидат аби отримати омріяний офер в ІТ.Netflix
Під час виступу на конференції Ви говорили, що ChatGPT може бути хорошим порадником для програміста, водночас є інструменти, які краще підходять для розробки ІТ-продуктів. Які АІ-рішення та інструменти варто використовувати сучасному розробнику, щоб значно оптимізувати свою роботу?
Можна почати з того, що ми згадували на конференції: АІ-агенти, MCP сервера тощо. Сетап може виглядати так: Claude Sonnet / Gemini / GPT + Roo Code / Cline / Cursor + інтеграції з внутрішніми сервісами (для чого і є MCP сервер).
Якщо говорити про ChatGPT, то він класний для вирішення загальних завдань, але не специфікований для програмування або інженерії.
Основна відмінність загальних моделей та спеціалізованих у двох речах:
-
1
архітектура та внутрішня реалізація;
-
2
дані, на яких навчається модель.
Архітектура — те як реалізована нейронна мережа, як відбуваються імпульси між вузлами тощо.
Підписуйтеся на наші соцмережі
Це технічні нюанси, які не важливі фінальному користувачеві. Наприклад, мені як інженеру, який використовує ту чи іншу модель, важливо не те як вона реалізована, мені важливий результат.
Я намагаюсь вирішити одну й ту саму задачу різними моделями. Це може бути ChatGPT — він generalist, його особливість в тому, що він навчається на загальних даних і не має спеціалізованих знань для написання коду.
Для інженерних задач є окремі спеціалізовані моделі. Їх особливість в тому, що вони навчаються на прикладних даних, важливих для конкретної галузі.
Наприклад, Claude Sonnet. Він вже не є generalist'ом, а заточений під написання коду. Саме тому в інженерії він буде краще. Тут є інші альтернативи: Claude Sonnet, Gemini від Google, є різні варіації самого ChatGPT.
Як обрати модель, яка підійде? Взяти задачу середньої складності й намагатися розв’язати її кожною з моделей, подивитися, яка буде виконувати задачу краще. Звісно, ніщо не забороняє змінювати моделі в процесі: можна попрацювати тиждень з однією, потім перемкнутися на іншу.
Але тут є фінансовий нюанс: pro-версії коштують грошей. Звичайно, якщо є бюджет можна купити підписку на декілька LLM, але я використовую AWS Bedrock, який дозволяє розміщувати моделі на власній інфраструктурі, і тим самим економити кошти.
Витрати — це найболючіша та найцікавіша тема в контексті AI, тому що навантаження на інфраструктуру велике і зробити AI дешевим, щоб писати код, умовно, по долару в день не вийде. Це може цілком доходити до $100-300 на місяць для робочого використання.
Після того як ми обрати та протестували LLM, наступний етап — AI-агенти та AI-помічники. Наприклад, Cursor, Roo Code, Cline.
Вони не є самостійними великими мовними моделями, а працюють поверх LLM — Gemini, Claude та інших. Такі AI-агенти позбавляють розробника рутинного копіювання: не потрібно вручну переносити код у чат і назад. Фактично це utility wrapper, який обгортає модель і виконує цикл «скопіювати → запитати → вставити результат».
Roo Code працює з будь-якою LLM й бере на себе цей копіпаст. Ми йому надаємо повністю контекст нашого проєкту, він може сканувати, читати файли, робити правки та демонструвати нам результат, а ми його перевіряємо та приймаємо рішення.
Наступний рівень автоматизації — MCP-сервери (Model Context Protocol). Вони дозволяють LLM напряму взаємодіяти з нашим середовищем проєкту, наприклад, з Jira, Trello, Slack, Git-репозиторій тощо. MCP-сервери можуть самостійно отримувати контекст і взаємодіяти не тільки з кодовою базою, а й з усією інфраструктурою навколо.
Таким чином LLM виступає командним центром, а MCP-сервер разом із оркестратором, таким як Roo Code, бере на себе всю рутину.
Чому не можна повністю віддати все AI? Тому що він не завжди прийматиме правильні рішення, навіть не скільки технічно, скільки продуктово. В коді або в Jira-ticket буде не весь контекст, ШІ може додумати щось, тому інженер потрібен як валідатор: він тепер менше пише код самостійно, а більше перевіряє код згенерований AI. І хоча штучний інтелект генерує 95% коду, але щоб добити фінальні 5% потрібне втручання інженера.
Всі ці інструменти значно прискорюють роботу й тепер інженер може концентруватися не на низькорівневій технічній імплементації, а на вирішені продуктових та бізнесових завдань. Тепер розробник повинен мати більше унікальних знань для проєкту, адже технічні можна реалізувати за допомогою АІ-інструментів. В площині технічних знань програміста легше замінити, ніж в продуктовій, прикладній сфері, бо саме тут інженер матиме додатковий контекст, який AI не зможе осягнути.
Що порадите розробникам, які зараз використовують StackOverFlow та ChatGPT, як основні інструменти в роботі й хочуть опанувати сучасні АІ-рішення? Можливо курси, навчання, матеріали, щоб швидко увійти в курс справ.
Не думаю, що потрібні курси чи спеціальне навчання. Можливо, декілька оглядових відео на YouTube, наприклад, Fireship чи блог Anthropic). Одного дня вистачить, щоб заглибитись в тему й подивитись популярні матеріали на YouTube чи перші результати в Google — це буде гарний старт.
Для фахівців, які прагнуть поглибити експертизу в напрямках AI/ML, Software Engineering & AI з отримання міжнародного диплома для подальшого росту у професії, рекомендую звернути увагу на магістерські онлайн-програми Neoversity — нагода попрацювати тісніше в межах мого курсу System Design:)
Ви говорили, що багато технічних задач закриваються за допомогою АІ, тому при наймі на посаду розробника звертають увагу на вміння робити інновації та мислити продуктово. Якими основними скілами має володіти сучасний розробник, щоб мати конкурентну перевагу на ринку?
Системне мислення, розв'язання комплексних (багатофакторних) задач.
Класно розвиває такі навички математика. Безпосередньо математика рідко потрібна інженеру (загалом, залежить від спеціалізації), але вона дозволяє сформувати необхідний майндсет.
Іншим прикладом можуть бути класичні алгоритмічні задачі з Leetcode/HackerRank тощо. Ситуація аналогічна — в роботі майже ніколи не доводиться знаходити найкоротший шлях між вершинами графа, але такі задачі дозволяють оцінити мислення в абстрактних умовах. Думаю, саме тому ці ненависні задачки все досі популярні для співбесід у FAANG [абревіатура на позначення п'яти найбільших технологічних компаній США: Facebook (зараз Meta), Amazon, Apple, Netflix і Google (зараз Alphabet)]. Також, важливо бути бізнесово-орієнтовним і розуміти, які задачі бізнес намагається вирішити та як технології можуть у цьому допомогти.