Як стати PHP-розробником. План дій для початківців
PHP — це мова програмування, яку використовують у веброзробці. Сьогодні близько 80% усіх сайтів застосовують PHP як серверну мову. Вона входить у пʼятірку найбільш поширених мов програмування серед українських розробників.
У межах рубрики для початківців «Код професії» розповідаємо про те, як вивчити PHP та знайти першу роботу. Для цього ми поспілкувалися з досвідченими розробниками Артемом Висоцьким, Володимиром Кочетковим і Олегом Висоцьким і зібрали їхні поради в один матеріал.
Що таке PHP
PHP — це скриптова мова програмування, створена для генерації HTML-сторінок на стороні вебсервера. Спочатку PHP розшифровувалася як Personal Home Page, але нині її офіційна назва PHP: Hypertext Preprocessor.
PHP є однією з найпоширеніших мов, яку використовують у сфері веброзробки, її підтримує більшість хостинг-провайдерів. PHP інтерпретує вебсервер у HTML-код, який передається на сторону клієнта. На відміну від JavaScript, користувач не бачить PHP-коду, тому що браузер отримує готовий HTML-код. Це є перевагою з погляду безпеки, але погіршує інтерактивність сторінок.
Згідно із зимовим опитуванням DOU, PHP для роботи використовують 10,6% українських розробників. PHP — на п’ятому місці в рейтингу мов програмування серед українців, її популярність на початку 2022 року зросла на 4,2% порівняно з
Якщо говорити про розподіл мов за сферами використання, то PHP послуговуються в роботі близько 18% Back-end розробників та близько 15% Full Stack розробників. Частка PHP як першої мови початківців щороку зростає, у 2022 році вона становить 5,6%.
Згідно з останнім опитуванням, медіанна зарплата Middle PHP-розробника становить $2200; Junior — $900; Senior — $4000. Зарплати у Senior не змінилися, порівняно з торішнім опитуванням, а у менш досвідчених дещо впали: -$25 у джунів та -$100 у мідлів.
Переглянути вакансії в категорії PHP можна тут. На момент публікації цієї статті їх 188.
Чи підходить PHP для початківців
Попри те, що у світовій ІТ-спільноті PHP давно пророкують спад, сьогодні близько 80% усіх сайтів використовують її як серверну мову. З 10 тисяч найнавантаженіших сайтів у світі PHP обирають 56%.
Завдяки такій популярності на PHP початківцю навіть не завжди потрібно писати код, адже його приклади завжди можна знайти в інтернеті. Таким чином новачок під час роботи навряд чи стикнеться з проблемою, яку неможливо розвʼязати.
До того ж PHP має великий некорпоративний сектор застосування, куди легко можна увійти новачкові навіть з мінімальними знаннями, а також значний ринок фрилансу. PHP є однією з найпростіших мов програмування для вивчення та добре підходить для початківців, які мають елементарні знання про комп’ютерні мережі та програмування.
PHP сьогодні використовують у багатьох сферах розробки.
Веброзробка. Спершу мову розробляли для створення вебсторінок, завдяки цьому PHP дає змогу робити сайти з інтуїтивним та адаптивним дизайном швидко та легко. Зручності у веброзробці сприяє функціонал PHP, а саме інтеграція з HTML, хороша сумісність з різними базами даних, безпека та зручний інтерфейс користувача.
У сучасній екосистемі кожна вебсторінка вимагає високого рівня кастомізації і повинна забезпечувати високу інтерактивність інтерфейсу користувача. Оскільки скрипти PHP працюють на сервері, сторінка з HTML-кодом може створюватися у динаміці. А відвідувачі сайту мають справу з кастомізованими сторінками, не стикаючись зі скриптами.
Електронна комерція. Це ще одна велика сфера, в якій PHP пропонує безліч простих шляхів для створення продуктів. Багато популярних онлайн-платформ, таких як OpenCart, Zen Cart, Magento, PrestaShop і Ubercart, зроблені за допомогою PHP.
Загальноорганізаційне програмне забезпечення. Організаційне програмне забезпечення охоплює системи управління контентом (CMS), системи управління інформацією про клієнтів (CRM), системи управління ресурсами (ERP) та інші інструменти для управління активами підприємства. Використання PHP для розробки загальноорганізаційного програмного забезпечення набирає обертів завдяки гнучкості, легкій інтеграції та різноманітним можливостям для здійснення платежів.
Створення баз даних. Написання бази даних на PHP значно спрощується завдяки використанню спеціальних розширень або підключенню до однієї з баз даних, які підтримують стандарт ODBC. PHP надає підтримку для різних баз даних, включаючи MySQL, Oracle та MS Access (загалом понад 20), а також може використовуватись для підготовки унікальних баз даних. PHP характерна простота генерації сторінки, що працює з базою даних.
Мобільні застосунки. Сьогодні можна побачити мало самодостатніх застосунків, більшість із них спираються на бекенд-сервіси. Серверна частина програми відповідає за об’єднання різних даних з мобільного пристрою, патернів поведінки користувачів, збереження налаштувань користувачів тощо. Декілька фреймворків PHP, серед яких Symfony та Laravel, добре підходять для створення бекенду мобільних програм.
Враховуючи простоту вивчення PHP, відкрите програмне забезпечення, широку сферу застосування та велику кількість сайтів, написаних на PHP, цю мову можна вважати гарним варіантом для старту в ІТ.
Які технології варто вивчити в межах PHP
Мінімально необхідний набір технологій для вивчення, крім самої мови, це:
- алгоритми та структури даних;
- інтернет-протоколи;
- HTML, CSS та основи JS;
- бази даних (для початку MySQL);
- IDE, інтегроване середовище розробки;
- вебсервери (Nginx, Apache);
- Git;
- фреймворки (Laravel, Symfony).
Порада № 1. Вибір додаткових технологій, крім вказаного списку, залежить від потреб ринку. Перегляньте описи вакансій PHP-розробника і побачите, знання яких технологій найчастіше вимагають зараз для роботи з мовою.
Порада № 2. Важливо зрозуміти, що одразу вивчити все неможливо, тож гуглити відповіді на Stack Overflow — це щоденна практика розробників усіх рівнів. Але є проблема з доступністю інформації — швидко знайдена у відкритих джерелах та імплементована відповідь так само швидко стирається з пам’яті, і через тиждень її доведеться гуглити наново. Тож записуйте моменти, які довелось шукати, і вивчайте їх напам’ять.
Алгоритм дій під час вивчення PHP такий: спершу опанувати теорію за офіційною документацією, книгами, статтями, а вже після цього — застосувати на практиці.
Корисні ресурси для вивчення PHP
Офіційна документація від творців PHP. Цей посібник проведе вас від елементарних знань до того, як встановити PHP і розібратися в основному синтаксисі. Він написаний лаконічно і чітко, проте початківцям у програмуванні може бути складно його зрозуміти. В такому разі радимо вивчити основи мови за допомогою уроків або курсів, які легко знайти в інтернеті, поступово читаючи документацію і зіставляючи нову інформацію з нею. Такий алгоритм дій навчить вас розуміти офіційну документацію, і кожен наступний посібник буде зрозуміліший.
PHP-туторіал від W3Schools. Він досить простий та доступний, там є безліч посилань і прикладів для наочності, а також вправ та тестів, що допоможуть закріпити знання з PHP.
PHP: The Right Way. Як і у будь-якій мові програмування, в PHP є найкращі практики, яких бажано дотримуватись. Якщо цього не робити, ваш код буде повільним і громіздким, а можливо, навіть повністю непрацездатним. PHP: The Right Way розповість вам про всі стандарти програмування, які можуть бути неочевидними для недосвідчених розробників.
PHP-туторіал від FreeCodeCamp. Якщо любите дивитися відеоуроки, то цей курс ідеально вам підходить. Він охоплює всі основи PHP, які потрібно знати з нуля. Якщо ви вже трохи вивчали PHP і хочете пропустити засвоєні теми, то можете перейти до будь-якого розділу, натиснувши на таймкод в описі.
Codeacademy. Це безкоштовний ресурс, насамперед націлений на навчання кодингу на практиці. Хоча він здебільшого складається з інтерактивних уроків, там є тести та статті на різні теми з PHP.
PHP Apprentice. Це безплатна онлайн-книга, яка містить багато прикладів практичного застосування PHP. Вона нагадує звичайну документацію з програмування, але простіша та зрозуміліша для новачків.
Learn PHP in Y Minutes. У цьому документі все коротко, лише код. Тут немає довгих пояснень, тож якщо вам подобаються лаконічні туторіали — цей варіант для вас.
Інтерактивний туторіал Learn-php.org. Унікальність цього PHP-туторіалу полягає в тому, що він є набором інтерактивних вправ, що занурюють вас у написання коду, результати якого ви бачите відразу ж, щоб зрозуміти, чи отримали очікуваний висновок. Якщо зробите щось не так, туторіал повідомить, де ви помилилися, як справжній компілятор. Спробуйте його, якщо цікаво перевірити знання синтаксису в режимі реального часу.
PHP Front To Back від Traversy Media. Цей плейлист навчить вас усього, що потрібно знати про PHP, за 22 відеоуроки. Тут розглядаються основи програмування на PHP, такі як синтаксис мови, а потім розкриваються більш просунуті теми: інтеграція з MySQL та налаштування файлів cookie за допомогою PHP.
Туторіали з PHP від Udemy. Це популярна онлайн-платформа курсів, де доступні сотні навчальних програм з PHP.
Корисні статті на DOU
Що має знати Senior PHP Developer. Результати аналізу вакансій в Україні та Каліфорнії.
Статті рубрики «PHP дайджест».
Розробка opensource- та приватних Composer-пакетів: як це робити і навіщо.
Поради сеньйорів: як прокачати знання Junior PHP.
Пишемо Unit-тести на PHP: путівник PHPUnit та поради з досвіду.
PHP: піти не можна лишитися. Піти.
PHP: піти не можна лишитися. Лишитися.
Як шукати роботу початківцю в PHP
Перш ніж розсилати резюме, потренуйтесь писати код, наприклад на Codewars або LeetCode. Production-ready код ви зможете побачити й почати писати, тільки коли влаштуєтеся на роботу, але перед цим корисно опанувати написання базових алгоритмів. Знайдіть прості завдання з PHP в інтернеті, виконайте їх, а проєкт залийте на GitHub.
Пишіть у резюме те, що ви справді розумієте та вмієте. Хороше CV PHP-розробника містить:
2–3 речення з коротким описом себе та своєї мотивації.- Список навичок і знань, які потрібні більшості PHP-розробників (про них йшлося вище).
- Досвід роботи або стажування. Їх можна знаходити в компаніях будь-якого розміру. Плюси великих компаній — їхній процес найму стажистів уже налагоджений, і там із більшою ймовірністю є готовий план розвитку співробітників та більший вибір проєктів, мінус — велика конкуренція. У малих компаніях конкуренція може бути меншою. Якщо певний комерційний досвід вже є — обов’язково опишіть в резюме, яка була ваша роль на проєкті та який саме внесок ви зробили.
- Якщо у вас є свої проєкти з відкритим кодом (нехай навіть код там не ідеальний), вкажіть посилання на них.
- Зазначте решту технологій, з якими працювали. Тільки не перераховуйте все поспіль, а лише те, з чим справді стикались впритул.
Приєднайтесь до онлайн-спільнот розробників — там зручно відстежувати актуальні вакансії «з перших рук». До того ж ви матимете змогу безпосередньо поспілкуватися з потенційними майбутніми колегами. Можливо, після знайомства хтось сам рекомендуватиме компанії найняти вас.
Перед підготовкою до співбесіди радимо звернути увагу на статтю «Співбесіда з PHP. 250+ запитань для Junior, Middle та Senior».
Роботу рекомендуємо шукати на Djinni та DOU. На DOU є розділ «Перша робота» з курсами, стажуваннями та вакансіями для початківців.
Також варто створити акаунт в LinkedIn і додати в друзі якомога більше розробників та рекрутерів. Про те, як правильно заповнювати LinkedIn-профіль, читайте тут. Після перших відмов запитуйте в інтерв’юєрів, що варто підтягнути.
Бажаємо успіху у вивченні PHP і віримо, що вам все вдасться!
Раніше ми писали про те, як вивчити JavaScript, Python та .NET. Напишіть у коментарях, про яку технологію ви б хотіли почитати наступного разу.