← Python мануфактура

Після цього уроку ви зможете

Конспект і таймкоди

0:00

Базова планка: автоматизувати свою рутину

Перший критерій — уміти прибрати повторювану ручну роботу за прийнятну ціну. Це може бути Playwright, Cypress, Selenium, code generation або невеликий script будь-якою мовою. Важливіше отримати перевірюваний результат і feedback від сильнішого інженера, ніж одразу будувати «ідеальний framework».

Глибоке знання мови стає потрібним, коли дефекти виникають на стиках: type conversion, concurrent requests, race conditions, database/file persistence, memory management, asynchronous behavior або lifecycle components. UI steps самі по собі цих причин не пояснюють.

Термін

Programming baseline topics

Python Tutorial охоплює control flow, data structures, functions/modules, files, exceptions, classes та standard library як базові навчальні теми для practical programming tasks.

3:10

Чому досвід поганого коду теж корисний

Чистий код важко зрозуміти лише з правил. Спочатку інженер пише прямолінійне рішення, потім стикається з duplication, coupling і складним maintenance — і лише тоді бачить, яку конкретну проблему вирішує refactoring або design pattern.

Patterns і code smells не застосовуються механічно: різні правила можуть тягнути рішення в протилежні боки. Потрібен контекст, щоб вирішити, коли достатньо простого API call, а коли справді потрібні controller, DTO, serialization та додаткові abstraction layers.

6:20

Глибина знань зростає разом із seniority

Для middle і особливо senior рівня очікується розуміння типів даних, проходу collections, роботи з files та databases, object lifecycle, scope variables, initialization order і test runner lifecycle. Ці знання зазвичай закріплюються після реальної проблеми, а не після ізольованої лекції.

Тому відповідь не вимірюється списком syntax topics. Junior має безпечно змінювати прості scripts; middle — діагностувати non-obvious behavior; senior — пояснювати system-level root cause й обирати правильний test seam.

Термін

Erased types

TypeScript type annotations використовуються під час static checking, але стираються з emitted JavaScript і не змінюють runtime behavior.

Практика

Знайти найдешевший test seam

  1. Оберіть один production defect і назвіть observable risk.
  2. Порівняйте unit/component, API/integration та system E2E seams.
  3. Залиште найнижчий рівень, який справді відтворює failure, і поясніть відкинуті варіанти.

Результат: Коротке рішення з failure evidence, selected seam і trade-offs.

9:20

Яку мову вивчати і навіщо знати кілька

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

Друга мова корисна під час migration з одного stack на інший: generated translation code все одно треба перевірити на language-specific idioms, concurrency model і зайві конструкції. Для staff/principal/SDET ролей кілька мов дають змогу працювати не лише із зовнішніми tests, а й додавати coverage та testability у frontend і backend repositories.

Увага

Застереження

Твердження відео про популярність languages у вакансіях є snapshot березня 2026 року. Перед публікацією як market guidance потрібні окремі dated labor-market data.

12:25

Мова як спосіб знайти правильний test level

Ширше знання стеків допомагає не дублювати один сценарій на найдорожчому рівні. Mobile behavior іноді краще перевірити XCTest або Kotlin test; business rule — backend integration test; а лише критичний cross-service flow залишити системним E2E.

Вибір залежить від архітектури: частина failures виникає не в service, а в API gateway чи infrastructure. Тому «перенести все вниз» так само некоректно, як перевіряти все через UI. Потрібно розуміти, який рівень реально спостерігає ризик.

Термін

Practical test pyramid

Portfolio heuristic із tests різної granularity: більше малих швидких checks і менше high-level tests, без duplication та без видалення рівня, який дає унікальний confidence.

15:40

Спільні основи різних мов

Після першої мови наступна засвоюється швидше, бо основні задачі повторюються: прочитати або записати file, пройти collection, зберегти structured data, виконати network request, звернутися до database й запустити test runner. Змінюються syntax, libraries та окремі runtime semantics.

Практичний орієнтир: добре вивчити одну мову на реальних задачах, а другу брати тоді, коли вона відкриває дешевший або надійніший спосіб вирішити поточну проблему. AI допомагає швидше знайти syntax, але не замінює перевірку architecture і behavior.

Джерела та додаткові матеріали

  • The Python Tutorial ↗Python Software Foundation · перевірено 2026-07-31

    Дає компактний official baseline для practical Python programming tasks.

  • The Practical Test Pyramid ↗Martin Fowler · перевірено 2026-07-31

    Пояснює portfolio trade-offs між tests різної granularity без механічного правила перенести все вниз.