ОписаниС вакансии: Svelte FullStack

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚:

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ/Ρ€Π°Π·Π²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π°Π»Π° для ΠΈΠ³Ρ€Ρ‹ Π² слоты Π½Π° Ρ„Π°Π½Ρ‚ΠΈΠΊΠΈ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ, Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с чистого листа. На Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³Π° ΠΈ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π°ΠΉΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ SSR, частично SSG. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ контСкста исполнСния (сСрвСр, ΠΊΠ»ΠΈΠ΅Π½Ρ‚, изоморфная load функция). Π”Π°Π½Π½Ρ‹Π΅ ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ доступам ΠΈ кСш API запросов ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π² KeyValue Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

Π—Π°Π΄Π°Ρ‡ΠΈ:

НаписаниС ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ прилоТСния Π½Π° SvelteKit. ΠŸΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, сопоставлСниС Π΅Π³ΠΎ с layouts Π² sveltekit. ДостиТСниС Performance ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (PageSpeed 90+). ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ многоязычный, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ i18n Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ со старта. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для отраТСния ΠΈΠ³Ρ€ ΠΈ Ρ‚ΡƒΡ€Π½ΠΈΡ€ΠΎΠ². Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° АПИ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с поставщиками ΠΈΠ³Ρ€. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ принятыС ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

  • TypeScript для всСго, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ sveltekit, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ для load Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ sveltekit сам Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΈΠΏΡ‹.
  • ВсС API Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ codegen ΠΏΠΎ возмоТности.
  • ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ Π²Π½Π΅ΡˆΠ½ΠΈΡ… зависимостСй Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ (Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ самому ΠΈΠ»ΠΈ Π·Π°Π²Π΅Π½Π΄ΠΎΡ€ΠΈΡ‚ΡŒ ΠΈΠ·-Π·Π° ΠΌΠ°Π»ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° β€” Ρ‚Π°ΠΊ ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ)
  • ΠœΡ‹ Π½Π΅ пишСм ΡŽΠ½ΠΈΡ‚ тСсты, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ тСсты. ΠœΡ‹ Π½Π΅ пишСм ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ тСсты Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ 3rd party Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.
  • ВсС запросы Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ KV (ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ‡Ρ‚ΠΎΠ±Ρ‹ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π΅ Π±Ρ‹Π»ΠΎ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ, поэтому Π΄Π°ΠΆΠ΅ Ссли ΠΌΡ‹ обновляСм Π΄Π°Π½Π½Ρ‹Π΅ Π² KV, ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ это послС ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ, Ссли кСш ΡƒΠΆΠ΅ Π±Ρ‹Π» доступСн Ρ€Π°Π½Π΅Π΅. Если ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Ρ‚ - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ streaming для доставки Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΠΈΡ… получСния. Π’ΠΈΠ΄Π΅ΠΎ с пояснСниСм стримминга, conditional stream example )

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Π΄Π°Ρ‡ΠΈ:

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ KYC Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ со стороны ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Авторизированный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² CloudFlare R2 Π»ΠΈΠ½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ signed url, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² R2. По ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‰ΡƒΡŽ Π΅ΠΌΡƒ запись Π² Π±Π΄. Π—Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π²Ρ‚ΠΎΡ€Ρƒ Π»ΠΈΠ±ΠΎ администраторам ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½. Π’ Π±Π΄ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ статус: new, rejected, approved, validation.

Π­ΠΊΡ€Π°Π½ профиля:
ΠΠ΅Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ трСбования

Π’Π΅Ρ… стСк:

SvelteKit, Svelte, CloudFlare Pages, CloudFlare KV, Lucia Auth,CloudFlare R2, D1, BigQuery, SCSS, Markdown.

ВрСбования ΠΊ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌ:

ΠžΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹: 4+ Π³ΠΎΠ΄Π° коммСрчСского ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° ReactJS/Svelte/Solid/Svelte ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³Π΅ (ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со Svelte must have). ΠžΠΏΡ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Π΅ΠΊΠ΅Π½Π΄Π° (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° nodejs).

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹:

git, browserstack, figma, jira, confluence

ВСхничСскиС Π½Π°Π²Ρ‹ΠΊΠΈ:

Английский: intermediate + Π£ΠΌΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄. Π—Π½Π°Π½ΠΈΠ΅ стандартов (использованиС fetch вмСсто axios, максимально ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ возмоТности Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°/срСды исполнСния) НСобходимо ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ взаимосвязь Ρ€Π°Π·Π½Ρ‹Ρ… элСмСнтов (layout/route/kv-cache/database). Π£Π²Ρ‹ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ Π½Π΅ stateless, поэтом прийдСтся ΠΆΠΎΠ½Π³Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ состояниями.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

ΡƒΠ΄Π°Π»Π΅Π½ΠΊΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° частичная ΡƒΠ΄Π°Π»Π΅Π½ΠΊΠ° (КиСв).

#vacancy #frontend