Skip to content

Open nowPosted 10 days ago

Программист Full-stack

АО "СУТОЧНО"

Where
Ульяновск, Russia
Get the CV for this job

From $25 per CV, paid once. No subscription.

Your applicationOpen nowПрограммист Full-stackАО "СУТОЧНО" · Ульяновск, Russia
  1. YouYes, apply to this one.

  2. CV RocketCV written for this posting.

  3. 25 readersRecruiter, hiring manager, skeptic. Round after round.

  4. CV RocketApplied on АО "СУТОЧНО"'s own form.

The reply lands in your private mailbox

3×more interviews than doing it yourself with ChatGPT.

The clock on this job

Early applications get read.

11.5% of postings close within 7 days. Measured by our own scanner across the market.

Share of postings closed within
  1. 2.0%1 day
  2. 4.3%3 days
  3. 11.5%7 days
  4. 18.1%14 days
  5. 35.6%30 days
  6. 44.6%60 days
This job: posted 10 days ago

The posting

Кастомизировать Strapi под нужды проекта: дорабатывать модели данных, плагины, API и внутреннюю архитектуру CMS. Разрабатывать собственные Custom Field Plugins для Strapi, включая новые типы полей и их интеграцию в Content Manager. Глубоко кастомизировать Strapi Design System / Admin Panel на React: injection zones, custom pages, settings sections, custom permissions. Разрабатывать собственные Strapi providers для upload, email и authentication. Расширять Strapi v5 через Document Service API, middleware и custom document operations. Разрабатывать и поддерживать собственные database migrations Strapi, включая миграции больших production-инсталляций между major-версиями. Проектировать и развивать multi-tenant архитектуру Strapi, включая row-level tenant isolation. Разрабатывать и поддерживать frontend-часть проекта одновременно на React и Vue 3/Nuxt. Интегрировать новые возможности CMS в редакторскую систему и пользовательский интерфейс. Развивать собственный rich-text редактор на базе ProseMirror/Tiptap, включая custom extensions и интеграцию редактора непосредственно в Strapi Admin. Реализовывать real-time collaborative editing на базе Yjs/CRDT, синхронизацию документов и разрешение конфликтов. Проектировать REST/GraphQL API и генерировать типизированные TypeScript-клиенты на основе OpenAPI-контрактов. Оптимизировать GraphQL API: persisted queries, DataLoader, устранение N+1. Проектировать сложные структуры данных в PostgreSQL с использованием JSONB, GIN/GiST indexes. Работать с PostgreSQL Row-Level Security (RLS) и интегрировать database-level security с application-level authorization. Использовать PostgreSQL LISTEN/NOTIFY для event-driven взаимодействия. Работать с PostgreSQL Logical Replication / CDC, обрабатывая изменения контента как поток событий. Реализовывать temporal data / audit trail / versioning контента на уровне PostgreSQL. Строить event-driven интеграции на базе NATS JetStream. Использовать Debezium + PostgreSQL CDC для распространения изменений между сервисами. Интегрировать Meilisearch/Typesense со Strapi и обеспечивать синхронизацию поискового индекса через lifecycle/document events. Реализовывать сложные модели авторизации через Open Policy Agent (OPA), Casbin и Keycloak. Интегрировать Strapi с OIDC, включая roles/claims mapping и service-to-service authentication. Настраивать OpenTelemetry для Node.js/Strapi: custom spans, propagation context и distributed tracing. Развивать архитектуру монорепозитория и общие пакеты между backend и frontend. Работать с Module Federation между React и Vue. Оптимизировать SSR-приложения, включая Edge Side Includes / fragment caching для CMS-driven страниц. Работать с Docker, GitLab CI/CD и production-инфраструктурой. Анализировать производительность и production-проблемы на уровне frontend, Node.js, Strapi и PostgreSQL. Участвовать в архитектурных обсуждениях и самостоятельно принимать технические решения.

Глубокий коммерческий опыт со Strapi, включая production-проекты со значительной кастомизацией платформы. Опыт разработки Custom Field Plugins и собственных типов полей для Strapi Content Manager. Опыт глубокой кастомизации Strapi Design System / Admin Panel на React. Практический опыт работы с injection zones, custom pages, settings sections и custom permissions. Опыт разработки собственных upload/email/auth providers для Strapi. Практический опыт с Document Service API Strapi v5, middleware и custom document operations. Опыт разработки собственных database migrations и миграции production-проектов между major-версиями Strapi. Опыт построения multi-tenant решений на Strapi, включая row-level tenant isolation. Отличное знание JavaScript/TypeScript и Node.js. Production-опыт одновременно с React и Vue 3/Nuxt. Опыт работы с PostgreSQL Row-Level Security и интеграции RLS с application-level authorization. Практический опыт использования PostgreSQL LISTEN/NOTIFY. Опыт работы с PostgreSQL Logical Replication / CDC. Опыт реализации temporal tables, audit trail или versioning на уровне PostgreSQL. Глубокое понимание JSONB, GIN/GiST indexes, query planner и оптимизации запросов. Опыт разработки на ProseMirror/Tiptap, включая собственные extensions. Понимание CRDT и практический опыт использования Yjs для collaborative editing. Опыт работы с OpenTelemetry в Node.js, включая custom spans, context propagation и distributed tracing. Опыт использования Open Policy Agent (OPA) для externalized authorization. Опыт работы с Casbin или аналогичной policy-based authorization системой. Опыт интеграции Keycloak со Strapi через OIDC, включая roles/claims mapping и service-to-service auth. Практический опыт работы с NATS JetStream. Опыт построения CDC pipeline на базе Debezium + PostgreSQL. Опыт интеграции Meilisearch или Typesense со Strapi с автоматической синхронизацией индекса. Опыт OpenAPI code generation и генерации TypeScript-клиентов из backend-контрактов. Опыт оптимизации GraphQL: persisted queries, DataLoader и N+1. Опыт использования Module Federation между React и Vue. Опыт реализации SSR + Edge Side Includes / fragment caching. Опыт работы с Docker, GitLab CI/CD и монорепозиториями. Умение самостоятельно диагностировать сложные production-проблемы на нескольких уровнях системы. Будет плюсом: Опыт эксплуатации Strapi под высокой нагрузкой и с большими объёмами контента. Опыт разработки собственных механизмов кэширования и сложной cache invalidation. Опыт построения CMS-платформ с несколькими frontend-приложениями и независимыми consumers. Опыт построения отказоустойчивых event-driven систем. Опыт интеграции Strapi с legacy-системами и внешними корпоративными сервисами. Опыт написания integration/E2E-тестов для связки Strapi + PostgreSQL + frontend. Опыт профилирования Node.js-приложений и поиска memory leaks / event-loop bottlenecks. Опыт проектирования систем, в которых Strapi используется не просто как CMS, а как основа сложной редакторской платформы

Добровольное медицинское страхование

Posting text belongs to the employer. Removal requests: contact us.

From $25, paid onceGet the CV for this job

What happens when you press

One press. We do the rest.

  1. A CV for this posting

    Written against АО "СУТОЧНО"'s own wording, from every piece of relevant proof in your profile.

  2. 25 readers review it

    Recruiter, hiring manager, skeptic and more read every draft, round after round. You get the best round.

    The review screen in CV Rocket: how each CV was read, round by round.
  3. We apply on АО "СУТОЧНО"'s form

    Our application engine gets through the hardest forms there are. Where a question needs you, AI suggests the best answer. Don't want us applying from our IP addresses? Use our Chrome extension: we apply straight from your own browser.

    An application in CV Rocket: every answer filled in on the employer's form.
  4. Every reply, sorted

    АО "СУТОЧНО"'s answer lands in your private mailbox, and we classify it on arrival: interview, question, rejection.

    The CV Rocket inbox: each employer reply classified as an interview, an action or a rejection.
  5. Reply with AI

    AI helps you write the email, checks it and sends it. We show you whether the recruiter read it.

  6. The interview in your calendar

    Full integration with your calendar. The invitation goes straight in.

    An interview invitation in the CV Rocket inbox, added to the candidate's calendar.
Get the CV for this job

From $25 per CV, paid once. No subscription.

Why it works

3×

more interviews than doing it yourself with ChatGPT.

ChatGPT writes a CV and never learns what happened to it. We see every reply. For each CV we know:

  • How it was written, and how the review scored it
  • When we applied, and how long after the posting went up
  • Which posting, which company, which city
  • Who got the interview, and who heard nothing

That is how we know which CVs get called.

Get the CV for this job

From $25 per CV, paid once. No subscription.

The numbers game

More applications. More interviews.

Every application goes out with its own CV, written for that posting and paid once. Send enough of them and the law of large numbers finds you the job.

By hand5–10
With CV Rocket100
applications a day

Nearby

Live postings like this one

Same employer first, then the same role elsewhere.

Before you press

Straight answers

Get the CV for this job

From $25 per CV, paid once. No subscription.

What if my background isn't good enough?

We make the most of the background you have. The CV uses every piece of relevant proof your profile holds, and one of the 25 readers reads your whole profile and flags what the CV left out.

Do you really apply for me?

Yes, on the employer's own form, the hardest ones included. Where a question needs you, you answer it right there and AI suggests the best answer. Don't want us applying from our IP addresses? Use our Chrome extension: we apply straight from your own browser.

Is it a subscription?

No. You pay once per CV, from $25. Every application goes out with its own CV, written for that posting.

One job. One CV.
Paid once.

Pick the posting you want. We write for it, apply for you and catch the reply.

Get the CV for this job

From $25 per CV, paid once. No subscription.