{"id":3598801,"url":"https://alion.io/job/oes-pulse-senior-frontend-razrabotchik","title":"Senior Frontend-разработчик","company":{"id":2665657,"name":"OES Pulse","domain":"oespulse.ru","url":"https://alion.io/company/oespulse","size_band":"11-50","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"HeadHunter","truth_index":null},"role":"Frontend","role_family":"Frontend","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":null,"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"AI Agents","optional":false},{"name":"Deck.gl","optional":false},{"name":"ESLint","optional":false},{"name":"OpenLayers","optional":false},{"name":"Pinia","optional":false},{"name":"Playwright","optional":false},{"name":"React.js","optional":false},{"name":"TypeScript","optional":false},{"name":"Vite","optional":false},{"name":"Vitest","optional":false},{"name":"Vue.js","optional":false},{"name":"WebSockets","optional":false},{"name":"JavaScript","optional":true}],"status":"live","first_seen_at":"2026-11-02T06:44:14Z","employer_posted_date":"2026-11-02","last_verified_at":"2026-11-10T13:48:44Z","board_verified":true,"closed_at":null,"days_open":9,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":9},"description":"Операционное совершенство - IT-компания, которая занимается разработкой, внедрением и сопровождением IT-продуктов для горнодобывающей отрасли, а также оказывает услуги по диспетчеризации производства на основе собственных IT-продуктов.\n Продукт: ИИ-система автоматизации оперативного управления. Принимает решения, которые раньше принимал диспетчер: в реальном времени, по потоку телеметрии от сотен подвижных объектов. Система определяет, какой объект куда направить, чтобы сократить простои и очереди на пунктах обслуживания.\n Интерфейс - место, где человек видит, что решила система, и вмешивается, когда нужно: сотни объектов на схеме в реальном времени, очереди, решения и их причины. Экран открыт всю смену, в том числе на площадках без доступа в интернет.\n Что предстоит сделать\n Спроектировать и построить новое приложение на Vue 3 и TypeScript: модули и их публичные API, состояние, запросы, ошибки. Стандарт организации кода у нас есть - вы его развиваете и делаете проверяемым автоматически.\n Экран диспетчерской: схема площадки с сотнями объектов в реальном времени, очереди на пунктах, лента решений системы с причинами, вмешательство диспетчера.\n Работа с потоком данных: push-обновления, пропуски и повторы сообщений, переподключение, устаревшие данные, конфликты одновременных действий.\n Производительность: отрисовка сотен и тысяч объектов без подтормаживаний, работа всю смену без роста памяти.\n Перенос функций из действующих интерфейсов и их вывод: что переносим, в каком порядке и как проверяем, что ничего не потеряли.\n Тесты и CI: юнит-тесты, e2e на сценарии с отказами сети, проверка правил архитектуры в пайплайне.\n Правила работы с ИИ-агентами во frontend: AGENTS.md, проверки, которые агент не обойдёт, ревью результатов агента.\n Ты нам подходишь, если у тебя есть\n Техническое образование обязательно\n\n Frontend от 6 лет, из них от 2 лет - ведущим инженером: архитектура, ревью, ответственность за продакшн.\n Vue 3 и TypeScript в продакшене: Composition API, Pinia, Vite. Vue 2 - на уровне чтения и переноса действующего кода; React - на уровне чтения.\n Интерфейсы реального времени: WebSocket, модель «снимок плюс изменения», порядок и пропуски сообщений, переподключение, оптимистичные обновления и их откат.\n Производительность: профилирование, Canvas или WebGL для большого числа объектов, виртуализация списков, цена реактивности Vue на больших данных, поиск утечек памяти.\n Карты и схемы: MapLibre, OpenLayers, Leaflet или deck.gl; работа без внешних тайлов, шрифтов и CDN.\n Тесты: Vitest, Playwright, отказы сети через заглушку сервера.\n Архитектура frontend-кода: модули и их границы, автоматическая проверка границ - eslint-plugin-boundaries, dependency-cruiser или аналог.\n Ежедневная работа с ИИ-агентами для кода и умение поставить её команде: что поручать, какие проверки обязательны, как ревьюить результат агента. Вы можете показать, где агент ошибся и как вы это поймали.\n У нас хорошо, потому что у нас есть\n Возможность работать из любой точки мира\n ИТ аккредитация\n Программа корпоративных привилегий BestBenifit\n ДМС со стоматологией\n Доступ к обучению английскому языку\n Возможность проходить курсы и тренинги по развитию в сфере вашей специальности\n Участие в интересных и сложных проектах в области искусственного интеллекта","description_format":"text","description_chars":3275,"description_truncated":false,"requirements":{"experience_years_min":null,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":{"level":"bachelor","optional":false},"security_clearance":false,"languages":[{"language":"Russian","level":"Advanced (C1)","optional":false},{"language":"English","level":"All levels","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":["IT Consulting & Digital Transformation","Custom Software Development"],"lifecycle":[{"event":"open","at":"2026-11-02T06:47:10Z"}],"visa":[],"liveness":{"score":32,"band":"fade","label":"Fading","p_open":1,"p_active":0.554,"p_room":0.578,"age_days":8,"expected_fill_days":7,"reasons":["conf:16","velocity","win:tail"],"computed_at":"2026-11-11T05:49:22Z"},"pay":null,"html_url":"https://alion.io/job/oes-pulse-senior-frontend-razrabotchik","json_url":"https://alion.io/job/oes-pulse-senior-frontend-razrabotchik.json","meta":{"generated_at":"2026-11-11T15:12:23Z","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_verified","counted_by":"address","units_charged":1,"used_today":28319,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-11-12T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.1,"usd":0.01,"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":2665657},"rest":"https://alion.io/mcp/rest/get_company?id=2665657"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Foes-pulse-senior-frontend-razrabotchik"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":2,"usd":0.2},"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%2Foes-pulse-senior-frontend-razrabotchik"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.1,"usd":0.01},"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%2Foes-pulse-senior-frontend-razrabotchik"},{"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/oes-pulse-senior-frontend-razrabotchik\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Foes-pulse-senior-frontend-razrabotchik"}],"agent":{"mcp":"https://alion.io/mcp/jobs","mcp_open":"https://alion.io/mcp/open","next":[{"tool":"get_job","arguments":{"id":3598801}},{"tool":"search_jobs","arguments":{"company":"oespulse.ru","detail":"compact"}},{"tool":"match_people","arguments":{"job_id":3598801},"note":"people open to offers who fit this vacancy"}],"note":"The same data through MCP tools: https://alion.io/mcp/open needs no sign-in (compact searches, postings, people); https://alion.io/mcp with an Alion account has everything. Docs: https://alion.io/developers"}}