{"id":124618,"url":"https://alion.io/job/vkusvill-fullstack-razrabotchik-pythonfastapi-reacttypescript","title":"Fullstack-разработчик (Python/FastAPI + React/TypeScript)","company":{"id":7171,"name":"VkusVill","domain":"vkusvill.ru","url":"https://alion.io/company/vkusvill","size_band":"5000+","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"HeadHunter","truth_index":{"grade":"B","score":73,"open_postings":398,"ghost_share":0.42,"stale_share":0,"repost_share":0.472,"time_to_fill_p50_days":2,"computed_at":"2026-10-23T05:54:15Z"}},"role":"Backend","role_family":"Backend","seniority":null,"employment_type":null,"work_mode":"hybrid","remote_scope":null,"remote_scope_basis":null,"remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Moscow, Russia"],"countries":["RU"],"hiring_countries":[],"hiring_countries_total":0,"salary":null,"salary_estimate":{"min_usd":17500,"max_usd":49000,"period":"year","method":"role_country_seniority_unknown","sample_n":1045},"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"Amazon S3","optional":false},{"name":"Ant Design","optional":false},{"name":"Axios","optional":false},{"name":"CI/CD","optional":false},{"name":"Docker","optional":false},{"name":"FastAPI","optional":false},{"name":"Git","optional":false},{"name":"Gitflow","optional":false},{"name":"GitLab","optional":false},{"name":"Grafana","optional":false},{"name":"Jaeger","optional":false},{"name":"JavaScript","optional":false},{"name":"Less","optional":false},{"name":"LLM","optional":false},{"name":"Nginx","optional":false},{"name":"Node JS","optional":false},{"name":"OpenSearch","optional":false},{"name":"OpenTelemetry","optional":false},{"name":"PostgreSQL","optional":false},{"name":"Prometheus","optional":false},{"name":"Python","optional":false},{"name":"Qdrant","optional":false},{"name":"RAG","optional":false},{"name":"React.js","optional":false},{"name":"Redux","optional":false},{"name":"Redux Toolkit","optional":false},{"name":"SQL","optional":false},{"name":"TypeScript","optional":false},{"name":"Vite","optional":false},{"name":"WebSockets","optional":false},{"name":"Zustand","optional":false},{"name":"ElasticSearch","optional":true},{"name":"GraphQL","optional":true},{"name":"Redis","optional":true}],"status":"live","first_seen_at":"2026-08-26T08:36:33Z","employer_posted_date":"2026-08-26","last_verified_at":"2026-10-22T17:46:00Z","board_verified":true,"closed_at":null,"days_open":58,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":58},"description":"Привет! Нам нужен инженер, который закроет собой оба направления - backend и frontend. Вы будете проектировать архитектуру высоконагруженного корпоративного портала с нулевой толерантностью к ошибкам.\n Обязанности:\n Backend (Core & AI):\n\n Проектировать отказоустойчивые REST/WebSocket API на FastAPI: async/await, DI, middleware, кастомные обработчики исключений.\n Интегрировать локальные LLM и управлять контекстом через векторную БД Qdrant: поиск семантических схожестей, RAG-пайплайны.\n Работать с гибридным хранением данных: реляционные схемы PostgreSQL/SQL и документоориентированные коллекции MongoDB.\n Настраивать взаимодействие с объектным хранилищем S3 для тяжёлых медиафайлов: видео, изображения.\n Обеспечивать наблюдаемость системы: внедрять трейсинг OTEL, Jaeger, собирать метрики в Prometheus/Grafana, настраивать централизованное логирование.\n Frontend (UI/UX & Performance):\n\n Строить SPA на React 18+ и TypeScript с использованием Ant Design: глубоко кастомизировать темы, создавать переиспользуемые UI-компоненты.\n Настраивать сборку и оптимизировать бандл через Vite: code splitting, lazy loading.\n Работать с Editor.js: дорабатывать кастомные блоки для вставки видео, файлов и изображений с загрузкой через API.\n Интегрировать фронтенд с бэкендом через Axios: настраивать интерцепторы, проброс токенов JWT, централизованную обработку ошибок и ретраи.\n DevOps и процессы:\n\n Упаковывать сервисы в Docker, настраивать проксирование через Nginx.\n Сопровождать CI/CD-пайплайны в GitLab: сборка, тестирование, деплой.\n Участвовать в Code Review, поддерживать стандарты качества кода и помогать внедрять LLM-помощников в повседневную разработку.\n Управлять ветвлением по GitFlow и принимать архитектурные решения как на backend, так и на frontend.\n Наш кандидат: Backend:\n Глубокое знание Python и FastAPI: построение сложной структуры проекта, lifetime management, middleware для трейсинга и аутентификации.\n Опыт проектирования схем в PostgreSQL: индексы, оптимизация запросов.\n Опыт работы с агрегациями в MongoDB.\n Реальный опыт интеграции LLM, в том числе локальных моделей.\n Опыт работы с векторными хранилищами: Qdrant / OpenSearch.\n Опыт настройки стека наблюдаемости: OpenTelemetry (OTEL), Jaeger, Prometheus, Grafana.\n Frontend:\n Уверенное владение React 18+: хуки, контекст, управление состоянием.\n Опыт хотя бы с одним из инструментов управления состоянием: Redux Toolkit / Zustand / MobX.\n Профессиональная работа с TypeScript: строгая типизация, дженерики, утилитарные типы.\n Опыт кастомизации Ant Design: переопределение Less/CSS-in-JS, создание собственных тем.\n Умение работать с API-клиентами, в частности Axios.\n Умение работать с файловыми потоками: FormData, Blob.\n Дополнительно:\n Опыт работы с Editor.js.\n Понимание WebSockets, в частности для чатов или стриминга AI-ответов.\n Будет плюсом:\n Опыт интеграции поисковых движков OpenSearch / Elasticsearch для полнотекстового поиска.\n Навыки оптимизации TTFB - времени до первого байта.\n Опыт работы с кешированием, в частности Redis.\n Знание GraphQL как альтернативы REST для сложных выборок.\n Условия: Что мы предлагаем:\n Доход и стабильность:\n\n Конкурентное вознаграждение, которое обсудим индивидуально на собеседовании;\n\n Официальное оформление по ТК РФ;\n\n Полностью белая зарплата с гарантированными выплатами 2 раза в месяц.\n\n Свобода и развитие:\n\n Высокий уровень самостоятельности и реальная возможность влиять на результат;\n\n Интересные и масштабные задачи для профессионального роста;\n\n Обучение за счёт компании: тренинги, семинары, книжный клуб.\n\n Забота о здоровье и комфорт:\n\n Частичная компенсация ДМС, медицинских услуг, лекарств и абонемента в фитнес-клуб;\n\n Психологическая поддержка и страхование жизни от несчастных случаев; Материальная помощь в особых жизненных ситуациях;\n\n Кешбэк 15% бонусами на покупки во «ВкусВилл» и бонусы на важные даты;\n\n Скидки и специальные предложения от партнёров компании.\n Присоединяйся к команде, которая делает жизнь людей более здоровой и вкусной!","description_format":"text","description_chars":3986,"description_truncated":false,"requirements":{"experience_years_min":null,"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":["Commerce","Organic Food","Online Groceries"],"lifecycle":[{"event":"open","at":"2026-08-26T08:36:33Z"}],"visa":[],"liveness":{"score":3,"band":"cold","label":"Long shot","p_open":1,"p_active":0.091,"p_room":0.35,"age_days":57,"expected_fill_days":2,"reasons":["conf:12","velocity","win:tail","comp:brand"],"computed_at":"2026-10-23T05:54:15Z"},"pay":null,"html_url":"https://alion.io/job/vkusvill-fullstack-razrabotchik-pythonfastapi-reacttypescript","json_url":"https://alion.io/job/vkusvill-fullstack-razrabotchik-pythonfastapi-reacttypescript.json","meta":{"generated_at":"2026-10-23T13:35:31Z","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":20284,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-24T00: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":7171},"rest":"https://alion.io/mcp/rest/get_company?id=7171"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fvkusvill-fullstack-razrabotchik-pythonfastapi-reacttypescript"},{"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%2Fvkusvill-fullstack-razrabotchik-pythonfastapi-reacttypescript"},{"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%2Fvkusvill-fullstack-razrabotchik-pythonfastapi-reacttypescript"},{"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/vkusvill-fullstack-razrabotchik-pythonfastapi-reacttypescript\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fvkusvill-fullstack-razrabotchik-pythonfastapi-reacttypescript"}]}