{"id":1568770,"url":"https://alion.io/job/crafttech-backend-razrabotchik-node-jstypescript-v-ofis","title":"Backend-разработчик (Node.js/TypeScript) в офис","company":{"id":50697,"name":"Crafttech","domain":"crafttech.ru","url":"https://alion.io/company/crafttech","size_band":"11-50","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":"middle","employment_type":null,"work_mode":"on_site","remote_scope":null,"remote_scope_basis":null,"remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Saint Petersburg, Russia"],"countries":["RU"],"hiring_countries":[],"hiring_countries_total":0,"salary":null,"salary_estimate":{"min_usd":17500,"max_usd":36000,"period":"year","method":"role_seniority_country_remote_cell","sample_n":115},"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"Git","optional":false},{"name":"JavaScript","optional":false},{"name":"Node JS","optional":false},{"name":"PostgreSQL","optional":false},{"name":"Redis","optional":false},{"name":"Rest API","optional":false},{"name":"Sequelize","optional":false},{"name":"TypeScript","optional":false},{"name":"Amazon S3","optional":true},{"name":"Apache Kafka","optional":true},{"name":"CI/CD","optional":true},{"name":"Docker","optional":true},{"name":"Socket.IO","optional":true},{"name":"WebSockets","optional":true}],"status":"live","first_seen_at":"2026-10-01T06:48:50Z","employer_posted_date":"2026-10-01","last_verified_at":"2026-10-12T01:30:30Z","board_verified":true,"closed_at":null,"days_open":11,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":11},"description":"Мы развиваем DotSpace - платформу для совместной работы на интерактивных онлайн-досках. Это большой живой продукт: realtime-коллаборация, работа с файлами, разноуровневые права доступа, история изменений, интеграции с корпоративной инфраструктурой, безопасность и высокая нагрузка.\nИщем backend-разработчика уровня Middle, способного выбирать решения для продуктовых задачи и реализовывать их.\n Мы не ожидаем знания всего нашего стека, но ожидаем достаточную инженерную базу, чтобы незнакомая технология не становилась блокером.\nНам нужен разработчик, который умеет разбираться, думать, пользоваться современными инструментами и доводить задачу до результата.\n Что предстоит делать:\n Разрабатывать новые возможности backend на Node.js / TypeScript.\n Добавлять и изменять REST API, бизнес-логику и работу с PostgreSQL.\n Работать с моделями данных, миграциями, транзакциями и индексами.\n Разбираться в существующем коде и аккуратно его развивать.\n Исправлять ошибки и разбираться в причинах их возникновения.\n Покрывать важную логику тестами.\n Работать с realtime-функциональностью, Redis, очередями и фоновыми задачами по мере погружения в проект.\n Участвовать в code review и обсуждении технических решений.\n Самостоятельно вести понятные задачи от постановки до готового результата, синхронизируясь по спорным или архитектурно значимым решениям.\n Что для нас важно технически\n Ожидаем, что ты:\n уверенно работаешь с JavaScript и TypeScript;\n уверенно работаешь с Node.js и умеешь писать и отлаживать серверный код: понимаешь асинхронность, Promise, обработку ошибок, HTTP, middleware и работу event loop на практическом уровне;\n умеешь проектировать и реализовывать REST API, понимаешь ответственность контроллеров, сервисов и других слоёв приложения;\n работал с PostgreSQL в реальных задачах: использовал связи между таблицами, CTE, JOIN, индексы и транзакции, понимаешь, когда и зачем они нужны;\n умеешь работать с базой данных из приложения и разбираться в проблемах на стыке кода и БД;\n умеешь читать чужой код, находить нужный участок системы и разбираться в незнакомой кодовой базе;\n умеешь самостоятельно разобраться, как реализовать поставленную задачу в рамках существующей системы: мы описываем ожидаемый результат и ограничения, но не разбиваем каждую задачу на пошаговую инструкцию с указанием конкретных файлов, методов и вызовов;\n пользуешься Git в повседневной работе;\n умеешь самостоятельно проверять и отлаживать свою работу до передачи задачи на review.\n Опыт с Express и Sequelize будет особенно полезен.\n Не требуется знать наизусть фазы event loop, определения паттернов или формулировки из книг.\n Для нас важнее практический опыт: способность самостоятельно написать, проверить и отладить обычный серверный функционал, а также оставить после себя код, который следующий разработчик сможет понять и изменить.\n Отдельно про нейросети:\n Мы работаем с нейросетями и считаем их обычным инструментом современного разработчика.\n Хороший результат для нас - когда разработчик может с помощью документации, существующего кода и ИИ:\n разобраться в поставленной задаче;\n найти нужную часть проекта;\n предложить способ реализации;\n написать код;\n проверить граничные случаи;\n написать или дополнить тесты;\n разобраться с возникшей ошибкой;\n объяснить, почему решение сделано именно так.\n Но «нейросеть написала - я вставил» не считается решением задачи. Важно понимать получившийся код, уметь его проверить, заметить ошибку или неподходящее решение и в итоге отвечать за результат.\n Будет плюсом:\n Хорошо, если ты уже сталкивался с чем-то из этого:\n принципами SOLID, DDD или слоистой архитектурой.\n Redis;\n Socket.IO / WebSocket;\n S3-совместимыми хранилищами;\n очередями и фоновыми задачами;\n Kafka или другими брокерами сообщений;\n JWT, аутентификацией и разграничением прав доступа;\n unit- и integration-тестами;\n Docker;\n CI/CD;\n Не требуется знать всё, но ожидаем практический опыт хотя бы с несколькими технологиями из списка и способность самостоятельно разобраться с остальными.\n Как мы работаем:\n Нам важна самостоятельность, но не работа в вакууме.\n Если задача понятна - ожидаем, что ты сможешь взять её и двигать дальше без постоянного контроля каждого шага.\n В общении ценим спокойный рабочий подход. Можно спорить с решением, задавать вопросы, предлагать альтернативы и аргументированно отстаивать свою позицию без спора ради спора.\n О проекте и задачах:\n Backend DotSpace - это не набор однотипных CRUD-методов.\n В продукте есть:\n совместное редактирование досок в реальном времени;\n история и версии изменений;\n конкурентное редактирование данных;\n комментарии, чат и реакции;\n работа с изображениями и документами;\n приватное S3-хранилище;\n роли и права доступа;\n корпоративная аутентификация и MFA;\n Redis и Socket.IO;\n фоновые задачи;\n PostgreSQL;\n Kafka и межсервисные события;\n аудит и мониторинг;\n интеграции с корпоративными системами безопасности.\n Поэтому здесь достаточно пространства, чтобы довольно быстро вырасти из Junior+ в уверенного Middle.\n Что предлагаем:\n Работа напрямую с техническим руководителем проекта.\n Задачи на реальном сложном продукте, а не типовой CRUD.\n Code review с объяснением решений, а не просто «переделай».\n Возможность постепенно брать более сложные участки системы.\n Возможность влиять на технические решения по мере роста.\n Нормальное использование нейросетей в разработке вместо запретов на них.\n Как проходит отбор:\n Хотим сделать процесс без лишних кругов:\n Небольшое тестовое на подход к решению задач.\n Короткое знакомство и разговор о предыдущем опыте.\n Техническая беседа по реальным задачам backend-разработки.\n Обсуждение условий и финальное решение.\n В сопроводительном письме можешь коротко написать:\n какую backend-задачу тебе приходилось самостоятельно доводить до результата и как ты сегодня используешь нейросети при разработке.","description_format":"text","description_chars":5813,"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":[],"hiring_excludes":[],"relocation_offered":false,"industries":["IT Infrastructure & Networking Services","Systems Integrators","Custom Software Development"],"lifecycle":[{"event":"open","at":"2026-10-01T06:52:49Z"}],"visa":[],"liveness":{"score":66,"band":"ok","label":"Likely open","p_open":1,"p_active":0.738,"p_room":0.9,"age_days":11,"expected_fill_days":29,"reasons":["conf:5","win:mid"],"computed_at":"2026-10-12T06:55:09Z"},"pay":null,"html_url":"https://alion.io/job/crafttech-backend-razrabotchik-node-jstypescript-v-ofis","json_url":"https://alion.io/job/crafttech-backend-razrabotchik-node-jstypescript-v-ofis.json","meta":{"generated_at":"2026-10-12T07:49:28Z","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":12567,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-13T00: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":50697},"rest":"https://alion.io/mcp/rest/get_company?id=50697"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fcrafttech-backend-razrabotchik-node-jstypescript-v-ofis"},{"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%2Fcrafttech-backend-razrabotchik-node-jstypescript-v-ofis"},{"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%2Fcrafttech-backend-razrabotchik-node-jstypescript-v-ofis"},{"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/crafttech-backend-razrabotchik-node-jstypescript-v-ofis\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fcrafttech-backend-razrabotchik-node-jstypescript-v-ofis"}]}