{"id":3805163,"url":"https://alion.io/job/profintel-razrabotchik-node-js","title":"Разработчик Node.js","company":{"id":721833,"name":"Profintel","domain":"profintel.ru","url":"https://alion.io/company/profintel-2","size_band":null,"is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"HeadHunter","truth_index":{"grade":"D","score":44,"open_postings":4,"ghost_share":0.75,"stale_share":0,"repost_share":0.75,"time_to_fill_p50_days":null,"computed_at":"2026-11-06T05:58:05Z"}},"role":"Backend","role_family":"Backend","seniority":"junior","employment_type":null,"work_mode":"remote","remote_scope":"stated_regions","remote_scope_basis":"board_field","remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Yekaterinburg, Russia"],"countries":["RU"],"hiring_countries":["RU","BY","KZ","KG","AM"],"hiring_countries_total":5,"salary":{"min":160000,"max":null,"currency":"RUB","period":"month","gross":null,"usd_annual":23412},"salary_estimate":null,"experience_years_min":2,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"Apache Kafka","optional":false},{"name":"Docker","optional":false},{"name":"Linux","optional":false},{"name":"Nest.JS","optional":false},{"name":"Node JS","optional":false},{"name":"RabbitMQ","optional":false},{"name":"Rest API","optional":false},{"name":"Swagger","optional":false},{"name":"TypeScript","optional":false},{"name":"Grafana","optional":true},{"name":"JavaScript","optional":true},{"name":"Passport.js","optional":true},{"name":"Prometheus","optional":true},{"name":"Sentry","optional":true}],"status":"live","first_seen_at":"2026-11-05T13:02:06Z","employer_posted_date":"2026-11-05","last_verified_at":"2026-11-06T06:12:40Z","board_verified":true,"closed_at":null,"days_open":1,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":1},"description":"Мы развиваем собственные продукты: личные кабинеты для абонентов B2B и B2C. Приглашаем Backend-разработчика на NodeJS, который присоединится к команде и продолжит развитие серверной части наших сервисов.\n Задачи:\n Проектирование и разработка REST API на NestJS + TypeScript;\n Развитие backend-сервисов личного кабинета и клиентских API;\n Интеграция с внутренними и внешними системами через HTTP/API-клиенты: обработка ошибок и таймаутов, кеширование и дедупликация запросов;\n Работа с базами данных: оптимизация запросов, мониторинг;\n Написание unit и e2e тестов, участие в code review;\n Документирование API (Swagger) и сопровождение сервисов в test и prod;\n Взаимодействие со смежными командами: фронтенд, QA, DevOps.\n От кандидата ожидаем:\n\n Коммерческий опыт разработки на NodeJS от 2-3 лет;\n Уверенное владение TypeScript;\n Опыт работы с NestJS от 1 года или уверенное знание Express и готовность быстро освоить NestJS;\n Понимание HTTP/REST: проектирование API, статус-коды, пагинация и фильтры, идемпотентность;\n Опыт работы с брокерами сообщений (RabbitMQ или Kafka): очереди, consumers, семантика доставки;\n Умение запускать сервисы в Docker локально, уверенная работа в Linux-окружении.\n Будет плюсом:\n Passport.js, cookie-based auth, работа с OAuth;\n Prometheus/Grafana, Sentry;\n Опыт работы с push-уведомлениями (FCM/APNs/HCM) и SMS-провайдерами;\n Знание паттернов (Strategy, Adapter, Facade, Factory, Observer, Event Bus);\n Опыт работы с личным кабинетом, биллингом, платежами или каталогом услуг.\n От нас:\n Аккредитованная IT-компания;\n Официальное трудоустройство, белая заработная плата;\n Заработная плата: фиксированный оклад от 160 000₽;\n Формат работы: в офисе (г. Екатеринбург, переулок Северный 2А) или удаленно;\n Работа над живым продуктом, а не абстрактными проектами;\n Карьерный рост по матрице компетенций;\n Бенефиты от компании: домашний интернет и ТВ, абонемент в фитнес-зал или бассейн, обучение от компании.","description_format":"text","description_chars":1935,"description_truncated":false,"requirements":{"experience_years_min":2,"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":["Internet Service Providers"],"lifecycle":[{"event":"open","at":"2026-11-05T13:09:00Z"}],"visa":[],"liveness":{"score":86,"band":"hot","label":"Hiring now","p_open":1,"p_active":0.86,"p_room":1,"age_days":0,"expected_fill_days":22,"reasons":["conf:16","win:early","comp:junior"],"computed_at":"2026-11-06T05:58:05Z"},"pay":{"stated_usd_annual":23412,"is_top_pay":false},"html_url":"https://alion.io/job/profintel-razrabotchik-node-js","json_url":"https://alion.io/job/profintel-razrabotchik-node-js.json","meta":{"generated_at":"2026-11-06T20:25:20Z","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":4632,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-11-07T00: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":721833},"rest":"https://alion.io/mcp/rest/get_company?id=721833"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fprofintel-razrabotchik-node-js"},{"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%2Fprofintel-razrabotchik-node-js"},{"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%2Fprofintel-razrabotchik-node-js"},{"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/profintel-razrabotchik-node-js\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fprofintel-razrabotchik-node-js"}],"agent":{"mcp":"https://alion.io/mcp/jobs","mcp_open":"https://alion.io/mcp/open","next":[{"tool":"get_job","arguments":{"id":3805163}},{"tool":"search_jobs","arguments":{"company":"profintel.ru","detail":"compact"}},{"tool":"match_people","arguments":{"job_id":3805163},"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"}}