Хто тільки не мріє працювати в IT - вивчив будь-яку мову програмування - і вперед. Але сьогодні ми розповімо про круту спеціалізацію, яка вимагає серйозної підготовки - php-розробник.
Що таке PHP?
Абревіатура походить від англійської - Hypertext Preprocessor. Це скриптова мова, за допомогою якої пишуть сценарії web-додатків. Виникла 1995 року, головним завданням була генерація сторінок на html. Увібрала в себе багато чого з Perl. Мова інтерпретована, це означає, що для її роботи не потрібна компіляція, результат виконання видно відразу після виконання. Поріг входження в мову низький, але це не означає, що, не маючи знань з математики, алгоритміки, можна швидко стати успішним програмістом
Вимоги IT-компаній до PHP-розробників різних рівнів: Junior, Middle, Senior
Junior
І все ж таки можна почати з вивчення CMS - це система управління контентом, зазвичай набір готових модулів для виконання певних завдань. Є CMS призначені для управління товарами і замовленнями (prestashop, Magento), для блогів (Wordpress), новинних сайтів (DLE) тощо.
CMS дають змогу створювати сайти, не написавши жодного рядка коду, мінусом такого підходу є неможливість вносити необхідні зміни в сайт (дизайн, логіку).
В Artjoker така посада називається CMS developer.
Що ви маєте знати і вміти:
- досвід розробки під одну з популярних cms (wordpress, modx, opencart, magento або інші)
- розуміння принципів OOP/MVC - на початковому етапі необхідне лише розуміння цих принципів, але надалі зростання без практичного застосування неможливе
- знання PHP і MySQL
- базові знання Git
Middle
Підтримка та створення інтернет магазину потребують досвідчених програмістів. Для отримання наступної посади ви повинні мати:
- Досвід розробки на Laravel5 - 1 рік
- Досвід розробки на php - 3 роки
- Знання та застосування MVC
- Обов'язковий досвід роботи з: php7, mysql, git
- Розуміння роботи з: Сomposer, Middlewares, ServiceProviders, Eloquent, Relationships, Observer pattern
- Досвід написання REST api, Unit-tests
- Просунуті знання HTML, CSS, JavaScript
- Базові знання VueJS або React, Angular
- Англійська pre-intermediate
- Хороший рівень self-management
Senior
Як ви помітили, рівень програміста вирізняється не лише профільними скілами, а й загальним сеньйоріті в ухваленні рішень (умінням швидко зреагувати на проблему, вигадати вихід із ситуації, брати відповідальність) та лідерськими якостями. Для того, щоб стати Senior, крім усіх зазначених навичок вам знадобиться:
- Досвід розробки через TDD
- Досвід у навчанні та організації команди
- Знання процесу гнучкої розробки: scrum, sprint planninging, daily meeting, demo, retrospective
Що повинен знати PHP-розробник?
PHP необхідно мати знання в таких галузях:
- алгоритми, MVC
- вміти застосовувати ajax
- вміти оптимізувати код
- патерни програмування, розуміння які патерни для яких завдань призначені
- архітектура баз даних, нормалізація даних, вміння писати вкладені запити
- ефективно розподіляти навантаження
- ефективно використовувати інструменти
- забезпечувати гнучкість коду
- відповідність загальноприйнятим стандартам написання коду (PSR)
- знати і вміти використовувати як мінімум кілька фреймворків
- користуватися composer
- вміння писати авто-тести
- знання html, javascript (jquery), css
Дійсно, обсяг знань php-розробника досить великий, але весь список справді необхідний, оскільки для хороших результатів не достатньо написати PHP-код.
PHP-розробник уможливлює працювати на проєкті для всіх учасників, по суті основне завдання - зробити зручний інтерфейс для верстальника, замовника, сео-спеціаліста, маркетолога тощо.
Поради розробникам-початківцям
- Навчіться читати документацію
- Постійно читайте профільні ресурси, відвідуйте тематичні мітапи
- Опануйте ОС Linux, ідеально якщо він стане основною ОС на вашому комп'ютері
- Удосконалюйте практичні навички, знайомтеся з популярними API
- Створення сайту в компаніях здебільшого відбувається на різних фреймворках, тому вивчіть найпопулярніші.
- Специфіка роботи з PHP передбачає знання теорії програмування, тому не ігноруйте підручники, щоб уникнути сумних наслідків.
- Для роботи вам знадобиться знання основ адімністрування. Що таке веб-сервер? Як його налаштувати? Де лежить конфіг apache? Що потрібно писати в .htaccess
- Вам постійно потрібно буде вивчати щось нове - будьте готові до цього, більшість запитань вирішуються переглядом документації, форумів і чатів, stackoverflowгугл-пошуком.
Спеціальність PHP-розробника різнопланова, ба більше, практично щодня вона кидає тобі виклик - якщо ти готовий прийняти його, удачі у вивченні!
Якщо ви хочете дізнатися більше про життя і роботу в Artjoker, читайте "50 фактів про роботу в Artjoker" і дивіться відео:)