{"id":1949741,"url":"https://alion.io/job/crosslinker-middlesenior-php-developer-symfony","title":"Middle+/Senior PHP Developer (Symfony)","company":{"id":3904650,"name":"Crosslinker","domain":"crosslinker.ru","url":"https://alion.io/company/crosslinker","size_band":"51-200","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"HeadHunter","truth_index":null},"role":"Backend","role_family":"Backend","seniority":"senior","employment_type":null,"work_mode":"remote","remote_scope":"stated_regions","remote_scope_basis":"board_field","remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Moscow, Russia"],"countries":["RU"],"hiring_countries":["RU","BY","KZ","KG","AM"],"hiring_countries_total":5,"salary":null,"salary_estimate":{"min_usd":29000,"max_usd":53000,"period":"year","method":"role_seniority_country_remote_cell","sample_n":95},"experience_years_min":5,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"Composer","optional":false},{"name":"PHP","optional":false},{"name":"Symfony","optional":false},{"name":"GitLab CI","optional":true},{"name":"PHPUnit","optional":true},{"name":"PostgreSQL","optional":true},{"name":"RabbitMQ","optional":true},{"name":"Redis","optional":true},{"name":"SQL","optional":true},{"name":"WebSockets","optional":true}],"status":"live","first_seen_at":"2026-10-06T09:02:56Z","employer_posted_date":null,"last_verified_at":"2026-10-06T09:02:56Z","board_verified":false,"closed_at":null,"days_open":3,"trust":{"level":"not_scored","repost_count":null,"flags":[],"days_open":3},"description":"В связи с необходимостью технической модернизации ключевой платформы заказчика, компания Crosslinker в поисках опытного Middle+/Senior PHP разработчика.\n Проект представляет собой высоконагруженную систему на базе PHP и Symfony, состоящую из множества взаимосвязанных пакетов с устаревшими версиями.\n Основная цель - провести полную инвентаризацию кодовой базы, осуществить миграцию на актуальные версии PHP (8) и Symfony, а также стандартизировать процессы сборки и управления зависимостями для обеспечения долгосрочной поддерживаемости системы.\n Обязанности:\n Провести полную инвентаризацию: собрать реестр пакетов, построить граф зависимостей, выявить дубли и неиспользуе компоненты;\n Спланировать и реализовать поэтапный подъем версий PHP (7.4 -> 8.x) и Symfony на поддерживаемую версию, не останавливая параллельную работу команды по переезду секций;\n Выполнять миграцию кода с использованием автоматических инструментов (Rector) и ручного рефакторинга, с написанием собственных правил для статического анализа;\n Сопровождать сборку пакетов (Composer, семантическое версионирование, dev-ветки, path-репозитории) и обеспечивать воспроизводимость сборок в CI;\n Помогать команде переезда в решении проблем, связанных с версиями пакетов монорепы, участвовать в код-ревью и документировать состояние системы.\n Требования:\n Коммерческий опыт разработки на PHP от 5 лет (не Fullstack);\n Отличное знание PHP и уверенный опыт работы с Symfony (5.x/6.x) в продакшене, включая глубокое понимание контейнера и механизмов внедрения зависимостей;\n Обязательный опыт подъема версий PHP (7.x на 8.x) или работы с крупным многопакетным репозиторием (без этого не рассматриваем кандидатов);\n Умение читать и понимать легаси-код (навык «чтения без IDE»), знание особенностей PHP 7.x и Zend Framework 1 будет большим плюсом;\n Глубокое понимание транзакций, конкурентного доступа (блокировки, мьютексы) и SQL (опыт работы с PostgreSQL, умение читать EXPLAIN);\n Навыки рефакторинга с обоснованием пользы для команды, осознанное применение SOLID и DRY.\n Будет плюсом:\n Опыт работы с PHPUnit, RabbitMQ, Memcache/Redis, WebSocket;\n Опыт ведения монорепозитория (знание split-репозиториев, правил зависимостей);\n Настройка CI для многопакетных проектов (GitLab CI);\n Понимание DDD, ограниченных контекстов, однонаправленных зависимостей;\n Знание домена электронных торгов и закупок.\n Условия:\n Профессиональное развитие в аккредитованной IT-компании (возможность льготной ипотеки, есть бронь);\n\n Официальное трудоустройство по ТК РФ, “белая” ЗП;\n\n Участие в крупных проектах федерального масштаба;\n\n Сильную продуктовую команду, открытую твоим идеям;\n\n Современную технику при необходимости;\n\n Гибкий график, возможность работать удаленно (в пределах РФ);\n\n Корпоративная культура, дружный амбициозный коллектив и творческая атмосфера сделают ваш рабочий день легким и продуктивным.","description_format":"text","description_chars":2861,"description_truncated":false,"requirements":{"experience_years_min":5,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[{"language":"Russian","level":"Advanced (C1)","optional":false}]},"benefits":[],"hiring_locations":[{"name":"Russia","iso":"RU","kind":"country"},{"name":"Belarus","iso":"BY","kind":"region"},{"name":"Kazakhstan","iso":"KZ","kind":"region"},{"name":"Kyrgyzstan","iso":"KG","kind":"region"},{"name":"Armenia","iso":"AM","kind":"region"}],"hiring_excludes":[],"relocation_offered":false,"industries":[],"lifecycle":[{"event":"open","at":"2026-10-06T09:06:35Z"}],"visa":[],"liveness":{"score":86,"band":"hot","label":"Hiring now","p_open":1,"p_active":0.86,"p_room":1,"age_days":2,"expected_fill_days":33,"reasons":["seen:2","win:early"],"computed_at":"2026-10-09T06:01:00Z"},"pay":null,"html_url":"https://alion.io/job/crosslinker-middlesenior-php-developer-symfony","json_url":"https://alion.io/job/crosslinker-middlesenior-php-developer-symfony.json","meta":{"generated_at":"2026-10-10T01:44:37Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler","counted_by":"address","units_charged":1,"used_today":3127,"day_limit":5000,"remaining_today":1873,"minute_limit":60,"resets_at":"2026-10-11T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":3904650},"rest":"https://alion.io/mcp/rest/get_company?id=3904650"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fcrosslinker-middlesenior-php-developer-symfony"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fcrosslinker-middlesenior-php-developer-symfony"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fcrosslinker-middlesenior-php-developer-symfony"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/crosslinker-middlesenior-php-developer-symfony\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fcrosslinker-middlesenior-php-developer-symfony"}]}