Ми — Bahnhof.se, один із найбільших постачальників інтернет-послуг у Швеції та за її межами. Мало того, ми надаємо нашим клієнтам набагато більше: VPN, IP телефонію, хмарні служби тощо.
Ми наймаємо нового розробника, який розширить і збагатить нашу команду навичками та знаннями.
Ваші обов’язки включатимуть:
- обслуговування внутрішніх систем (мікро- та середньомасштабних HTTP API і служб CLI), які надають, обліковують і надають послуги домену. Це включає в себе впровадження нових функцій, виправлення помилок, а також рефакторинг вашого та чужого коду та оновлення версій PHP і бібліотек.
- розробка серверних модулів HTTP API для внутрішніх порталів адміністратора, а також бекендів для порталів клієнтів;< /li>
- залучення до внутрішнього обговорення дизайну з нашою командою;
- участь у перегляді коду;
- пізніше обговорення деяких деталей з нашими колегами англійською мовою;
Оскільки у нас багато сервісів, вони написані в широкому діапазоні версій PHP, починаючи від 5.6 до 8.2. Ми здебільшого покладаємося на платформу Symfony для наших веб-сервісів, v5 і v6, але також маємо деякі старіші системи, побудовані на Yii Framework.
Наші вимоги (ПОВИННІ):
- 3+ роки досвіду як розробника PHP;
- розуміння того, як працює Інтернет (особливо DNS);
- вміння написати дійсний вихідний код PHP 8.0+ , відформатований відповідно до PSR-12;
- вміння написати дійсний код SQL (для MariaDB 10.x) також ;
- знайомство з фреймворком Symfony (версія 5.x+ );
- знання застережень старіших версій PHP (7.4, 7.2, 5.6). Це допоможе вам, якщо ви оновите якусь застарілу службу, яку ми маємо трохи;
- знаєте, як використовувати менеджер пакунків Composer;
- принаймні базовий досвід написання тестів з PHPUnit;
- базові навички Git: клонування, витягування, проштовхування (зокрема —force), виконання вашої роботи та інтерактивне перебазування;
- бажання досліджувати нові знання та методи розробки коду;
- звичка тримати свій код чистим і читабельним;
- мінімальний середній рівень англійської мови
- ми не перевіряємо знання алгоритмів (leetcode тощо) під час співбесід.< /li>
Буде ПЛЮС:
- знання та досвід практичного використання стандартів PSR (таких як PSR-7 і PSR-18);
- Навички роботи з командним рядком Linux;
- асинхронні шаблони зв’язку між службами (на відміну від синхронного зв’язку через HTTP API);
- здатність слідувати принципам дизайну, керованого доменом, наприклад Ubiquitous Language, Обмежені контексти, здатність добре спілкуватися з людьми, які знають бізнес тощо;
- здатність налаштувати конвеєри devops (ми використовуємо GitLab CI для цієї мети);
- активне використання або на мінімум знання інструментів QA, таких як Psalm, PHP Code Sniffer тощо;
- досвід роботи з Slim framework та/або написання HTTP API з нуля;
- здатність виконувати прості завдання на інтерфейсі , в ідеалі ви повинні мати певний досвід роботи з Vue.js і Webpack. У деяких старіших службах може бути jQuery або подібні речі. Але не хвилюйтеся, у нас є інтерфейсrs for that;
- knowledge of related technologies, like RabbitMQ, NATS, Redis and Docker; PHP-FPM and Nginx;
- experience in the Test-Driven Development (when you are writing a test before writing any code) and maybe other testing practices like BDD etc.;
- understanding design patterns and architectural principles like those of SOLID, Hexagonal Architecture (Ports&Adapters) or Vertical Slice Architecture etc;
- open source contributions;
Please indicate your salary expectations in response to the vacancy
P.S. Термін розгляду CV до 7 робочих днів. Якщо ви не отримали відповідь від рекрутера протягом цього часу, це означає, що ми розглянули ваше резюме, але на даний момент у компанії немає вакансій, які відповідають вашому досвіду та побажанням.