Упс! Не вдала спроба:(
Будь ласка, спробуйте ще раз.

Чому українському PHP потрібен свій професійний простір і що я вирішив із цим зробити

Підписатися на нас
0
12 хвилин читання
Чому українському PHP потрібен свій професійний простір і що я вирішив із цим зробити зображення 1 Український PHP-простір

Вся PHP-Україна на одній платформі

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

Вакансії шукаєш на одному сайті. Інформацію про компанії на іншому. До співбесіди готуєшся за статтями, GitHub-репозиторіями та випадковими списками питань. За новими версіями PHP, Laravel чи Symfony стежиш окремо. А якщо хочеш подивитися, що створюють інші українські розробники, єдиного місця для цього фактично немає.

У якийсь момент я подумав: а чому все це не може існувати поруч?

Так почався PHP Ukraine.

PHP живий. Просто його екосистема дуже розпорошена

Про «смерть PHP» говорять уже стільки років, що це давно стало окремим жанром жартів.

При цьому PHP продовжує розвиватися. Виходять нові версії мови, активно розвиваються Laravel і Symfony, WordPress нікуди не зник, а бізнеси продовжують підтримувати й створювати продукти на PHP.

Робота теж є.

Але якщо подивитися саме на український сегмент, він досить фрагментований.

Є окремі Telegram-канали. Є DOU, Djinni, LinkedIn та інші майданчики з вакансіями. Є особисті блоги, YouTube, GitHub. Є офіційна документація англійською.

Кожен із цих ресурсів вирішує свою задачу.

Мені ж захотілося перевірити іншу ідею: чи може існувати окремий професійний простір саме навколо PHP, де різні сценарії життя розробника будуть пов'язані між собою.

Вакансії були найочевиднішою точкою входу

Коли людина думає про професійний портал, один із перших сценаріїв очевидний: робота.

Тому вакансії стали важливою частиною PHP Ukraine.

Але я досить швидко зрозумів, що просто зробити ще одну сторінку зі списком вакансій недостатньо.

Розробник не шукає роботу щодня.

Сьогодні йому потрібна вакансія. Через місяць він готується до технічної співбесіди. Ще через кілька місяців хоче розібратися з новою версією PHP. Потім шукає інформацію про PostgreSQL, Laravel або архітектуру. А одного вечора вирішує показати світу власний pet project.

Тому платформа поступово почала рости ширше.

Зараз PHP Ukraine об'єднує вакансії, компанії, зарплати, проєкти, документацію, підготовку до співбесід, roadmap розробника, навчальні розділи з архітектури й тестування та інструменти для щоденної роботи.

І для мене це значно цікавіше, ніж просто job board.

Навіщо взагалі технічний контент українською

Тут виникає цілком логічне питання.

Навіщо перекладати або створювати щось українською, якщо програміст усе одно повинен знати англійську?

Я згоден з другою частиною.

Без англійської в сучасній розробці складно. Офіційна документація, GitHub, issues, RFC, більшість технічних дискусій та новин існують насамперед англійською.

І PHP Ukraine не має на меті замінити цей світ.

Але між «усе повинно бути тільки англійською» і «ми перекладемо весь інтернет українською» є велика нормальна зона.

Складну тему часто легше вперше зрозуміти рідною мовою.

Особливо це стосується людей, які тільки входять у професію.

Можна прочитати українською пояснення dependency injection, транзакцій або життєвого циклу HTTP-запиту, зрозуміти саму концепцію, а потім уже піти в офіційну документацію.

Одне не суперечить іншому.

Навпаки, хороший матеріал українською може бути містком до англомовної технічної екосистеми.

Є ще одна причина: ми дуже роз'їхалися

За останні роки величезна кількість українців опинилася в інших країнах.

Хтось живе в Польщі, Чехії чи Німеччині. Хтось у Канаді, Іспанії або Чорногорії. Хтось планує повернутися, а хтось уже будує життя в іншій країні.

IT у цьому сенсі взагалі дуже міжнародна професія.

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

Але це не означає, що він автоматично перестає бути частиною українського професійного середовища.

Для мене це теж одна з причин робити PHP Ukraine українською.

Не тому, що треба відгородитися від глобального світу.

Навпаки.

Можна бути частиною глобального IT і водночас мати власний професійний простір українською.

Найцікавішим для мене став розділ проєктів

В Україні багато сильних розробників.

Підписуйтеся на наші соцмережі

І багато з них щось створюють поза основною роботою.

Open-source пакети. Невеликі SaaS. Бібліотеки. Сервіси. Інструменти для інших програмістів. Експериментальні продукти.

Проблема в тому, що дуже часто про такий проєкт знає сам автор, кілька його знайомих і GitHub.

Тому в PHP Ukraine з'явився окремий розділ проєктів.

Ідея проста: дати українським розробникам місце, де можна показати те, що вони створюють.

Проєкт не обов'язково повинен бути великою компанією.

Це може бути невеликий open-source пакет. Інструмент, який автор зробив для себе. Pet project. Комерційний продукт. Або проєкт, якому потрібні люди чи допомога.

Мені подобається ця частина платформи ще й тому, що вона змінює саму логіку.

Розробник перестає бути тільки людиною, яка шукає вакансію.

Він може бути автором.

Навчання теж не хотілося перетворювати на каталог статей

З навчальними матеріалами я зіткнувся приблизно з тією самою проблемою.

Статей про PHP в інтернеті безліч. Ще один список із заголовками сам по собі мало що змінює.

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

Що вчити спочатку?

Навіщо мені Value Object?

Чим Hexagonal Architecture відрізняється від просто набору сервісів?

Коли потрібен CQRS, а коли він лише ускладнить проєкт?

Як усе це виглядає не на абстрактних Java-прикладах із книжки, а у звичайному PHP-застосунку?

Тому замість чергової категорії статей я почав робити окремі навчальні хаби.

Першим стала архітектура.

Там є каталог патернів, але є й послідовний маршрут: від питання «де взагалі має жити бізнес-логіка» через шари, Value Objects, агрегати та доменні події до bounded contexts, Hexagonal Architecture, модульного моноліту, CQRS та Outbox.

Мені хотілося, щоб людина могла не просто прочитати визначення патерну, а побачити, де вона вже зустрічала його в Laravel або Symfony і навіщо він взагалі потрібен.

Потім поруч з архітектурою з'явилося тестування.

І тут я зрозумів ще одну річ: ці теми взагалі дивно вчити окремо.

Як тільки говоримо про домен без залежності від фреймворку, природно виникає питання, як його протестувати.

Говоримо про порти й адаптери — з'являються фейки.

Говоримо про межі між шарами — з'являються архітектурні тести.

Тому зараз частину матеріалу з архітектури і тестування можна проходити як один маршрут.

Далі хочу так само розібрати бази даних і безпеку.

Не просто зробити ще дві категорії зі статтями, а побудувати зрозумілі карти тем: що потрібно знати PHP-розробнику, у якій послідовності й де це зустрічається в реальній роботі.

Виявилося, що різні частини платформи можна зв'язати між собою

І ось тут для мене PHP Ukraine став цікавішим уже як продукт.

Наприклад, є roadmap розробника.

Сам по собі roadmap — нічого нового. В інтернеті їх сотні, часто у вигляді величезної картинки з десятками технологій.

Але мені хотілося зробити його трохи інакше.

Якщо людина знаходиться на рівні Middle і думає, що вчити далі, їй мало сказати: «вивчи PostgreSQL, Docker, Redis і архітектуру».

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

Тому roadmap на PHP Ukraine пов'язаний з іншими частинами платформи.

Є вакансії — їхні вимоги потрапляють у картину ринку.

Є зарплатні дані — можна побачити різницю між рівнями.

Є питання зі співбесід — ними можна перевірити себе.

Є архітектура і тестування — з roadmap можна перейти вже до вивчення конкретної теми.

І мені подобається саме ця модель.

Не десять незалежних розділів у меню, а речі, які знають одна про одну.

Іноді розробнику взагалі не потрібна стаття

Є ще один сценарій, який я спочатку недооцінював.

Іноді ти приходиш на професійний сайт не для того, щоб щось читати.

Тобі просто треба швидко перетворити JSON, перевірити регулярний вираз, згенерувати UUID, подивитися HTTP-код, відформатувати SQL або запустити шматок PHP.

Тому на платформі поступово з'явився окремий набір маленьких developer tools і PHP-пісочниця прямо в браузері.

Це прості речі.

Але саме такими інструментами розробник може користуватися значно частіше, ніж великою статтею про архітектуру.

І це повертає мене до початкової ідеї: професійний простір не обов'язково повинен бути медіа.

В одному випадку ти читаєш.

В іншому — вчишся.

Потім перевіряєш код.

Потім дивишся зарплати.

Потім шукаєш роботу.

А через пів року сам додаєш свій проєкт.

PHP Ukraine для мене став ще й способом перевіряти власні знання

Тут є трохи особистої історії.

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

Ти знаєш, як зробити задачу.

Але питання «чому саме так?» іноді раптом виявляється значно складнішим.

Коли я почав робити матеріали про архітектуру, тестування, PostgreSQL та питання для співбесід, довелося самому повертатися до тем, які раніше здавалися очевидними.

Розбиратися глибше.

Перевіряти формулювання.

Дивитися на власний код і питати себе, чи дійсно я роблю так, як пояснюю іншим.

Через це на сторінках архітектури й тестування я почав показувати приклади із самого PHP Ukraine.

Наприклад, платформа побудована як модульний моноліт, а межі між частинами застосунку перевіряються архітектурними тестами.

Для читача це приклад.

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

Найважливіше питання: навіщо сюди повертатися?

Це питання я зараз ставлю собі майже перед кожною новою функцією.

Зробити ще одну сторінку нескладно.

Але якщо людина відкрила її один раз із Google і більше ніколи не повернулася, чи справді я побудував платформу?

Тому мені значно цікавіша інша модель.

Сьогодні розробник зайшов перевірити нову версію PHP.

Завтра скористався інструментом.

Через тиждень відкрив матеріал про архітектуру.

Перед співбесідою пройшов питання.

Коли вирішив змінити роботу — подивився вакансії та зарплати.

А коли зробив власний продукт — опублікував його серед інших українських проєктів.

Якщо це працюватиме саме так, PHP Ukraine матиме сенс не як ще один сайт про PHP, а як частина повсякденного життя PHP-розробника.

Поки це все ще експеримент

Я не хочу закінчувати цей текст словами про те, що «ми створили унікальну екосистему».

PHP Ukraine ще молодий.

Я постійно щось додаю, прибираю, переробляю і дивлюся, що з цього насправді потрібно людям.

Зараз уже є робота, компанії, зарплати, проєкти, документація, статті, співбесіди, roadmap, архітектура, тестування та набір інструментів.

Далі хочу розвивати навчальну частину: зокрема бази даних і безпеку.

Але для мене набагато важливіше інше.

Чи можна зробити місце, де український PHP-розробник не просто читає контент, а проходить через різні етапи професійного життя: навчається, перевіряє себе, працює, шукає наступну роботу і створює щось власне?

Саме цю ідею я зараз перевіряю на PHP Ukraine.

Подивитися, що вже працює, можна на phpukraine.com.

І якщо ви працюєте з PHP, мені справді цікаво:

чого вам самим не вистачає в такому професійному просторі?

Якщо ви хочете поділитися з читачами SPEKA власним досвідом, розповісти свою історію чи опублікувати колонку на важливу для вас тему, долучайтеся. Відтепер ви можете зареєструватися на сайті SPEKA і самостійно опублікувати свій пост.
0
Icon 0

Підписуйтеся на наші соцмережі