Middle Backend Developer (PHP)
Project
Chat is a multi-channel communication platform for support teams and operators: an omnichannel inbox (web widget, messengers, other sources), conversation routing and assignment, operator tooling, AI assistants for replies and automation, voice flows, statistics and reports, and integrations with external systems. A modular monolith built on clean architecture and DDD, with async flows via queues, realtime over websocket channels, and APIs for web clients and integrations.
Statistics - a separate analytics microservice for event collection and building statistics/reports, on Symfony under the FrankenPHP runtime with ClickHouse as the primary store.
Voice - separate Go microservices for voice flows.
Stack
- Backend: PHP 8.2+, Laravel and Symfony
- Databases: MongoDB, ClickHouse, Redis
- Async & realtime: Redis-based queues, websockets
- Auth: JWT, OAuth2
- Integrations: messengers, Google API, external webhooks, AI providers
- Infrastructure: Docker, Docker Compose, Nginx, S3 storage
Responsibilities
- Design and develop new functionality.
- Refactor and optimize existing code, technical-debt tasks.
- APIs for the UI and external services, integrations with external systems.
- Work with DB migrations, query optimization, design schemas for new domains.
- Take part in code review and technical discussions.
Expectations
- 2+ years of commercial PHP experience
- Confident OOP, common patterns, SOLID at an "apply it consciously" level, basic understanding of architectural principles and patterns
- Production experience with Laravel / Symfony / Yii
- Preferably experience with one of the NoSQL stores, or strong SQL with readiness to learn document-oriented specifics: indexes, schemas, aggregations
- Async flows: queues, background workers, idempotency
- HTTP, REST, basic understanding of realtime communication, integrations with external systems via API / webhooks
- Ability to decompose a feature into tasks and take it to production
- English - at least B1 (Intermediate): able to hold a basic conversation, ask questions, and explain your work
Nice to have
- Practical understanding and experience with DDD
- Experience with Go / TypeScript
- AI/LLM APIs: prompting, structured outputs, error handling and retries. LangGraph (TS) stack or experience with other agentic frameworks.
- Knowledge of and openness to AI dev tools, and the ability to use them
What we offer
- 8-hour working day
- Flexible schedule - within the team's overlap window you decide when to start and finish
- 20 paid vacation days per year
- 5 paid sick days per year
- National holidays off
Conditions
- Format: fully remote
- Employment: full-time
- Time zone: CET (Central European Time) or Europe/Kyiv
- Hiring process: CV โ technical interview โ short test task (optional) โ final interview
- Probation: 2 months
Required languages
| English | B1 - Intermediate |