ΠΠΈ Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΡ, ΡΠΎ ΠΏΡΠ°ΡΡΡ Π½Π° ΡΡΠΈΠΊΡ Web2 Ρ Web3, Π΄Π΅ Π²Π°ΠΆΠ»ΠΈΠ²Ρ ΡΠ²ΠΈΠ΄ΠΊΡΡΡΡ ΡΠΎΠ·ΡΠΎΠ±ΠΊΠΈ, ΡΠΈΡΡΠ° Π°ΡΡ
ΡΡΠ΅ΠΊΡΡΡΠ° Ρ ΡΠ΅Π°Π»ΡΠ½Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΈ.
ΠΠ°ΡΠ°Π· ΡΡΠΊΠ°ΡΠΌΠΎ ΡΠΎΠ·ΡΠΎΠ±Π½ΠΈΠΊΠ°, ΡΠΊΠΈΠΉ Π·ΠΌΠΎΠΆΠ΅ Π±ΡΠ°ΡΠΈ Π·Π°Π²Π΄Π°Π½Π½Ρ end-to-end: Π²ΡΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΡΠ²Π°Π½Π½Ρ proto-ΡΡ
Π΅ΠΌ ΡΠ° backend-ΡΠ΅ΡΠ²ΡΡΡΠ² (Node.js, gRPC/ConnectRPC, PostgreSQL/Redis) Π΄ΠΎ ΡΠ΅Π°Π»ΡΠ·Π°ΡΡΡ ΡΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΠ² Π½Π° React ΡΠ· Π³ΡΠ°ΠΌΠΎΡΠ½ΠΎΡ ΡΠΈΠΏΡΠ·Π°ΡΡΡΡ ΡΠ° ΠΊΠ΅ΡΡΠ²Π°Π½Π½ΡΠΌ ΡΡΠ°Π½ΠΎΠΌ. ΠΠ°ΠΆΠ»ΠΈΠ²ΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΈΡΠ°ΡΠΈ ΠΊΠΎΠ΄, Π° ΡΠΎΠ·ΡΠΌΡΡΠΈ, ΡΠΊ Π±ΡΠ΄ΡΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΠ»ΠΊΠΎΠΌ, ΠΏΡΠΈΠΉΠΌΠ°ΡΠΈ ΡΠ΅Ρ
Π½ΡΡΠ½Ρ ΡΡΡΠ΅Π½Π½Ρ ΡΠ° Π΄ΠΎΠ²ΠΎΠ΄ΠΈΡΠΈ ΡΡΡΡ Π΄ΠΎ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Ρ Π±Π΅Π· ΠΏΠΎΡΡΡΠΉΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ.
ΠΠ±ΠΎΠ²'ΡΠ·ΠΊΠΎΠ²Ρ ΡΠ΅Ρ
Π½ΡΡΠ½Ρ Π½Π°Π²ΠΈΡΠΊΠΈ:
Frontend
- TypeScript β ΡΡΡΠΎΠ³Π° ΡΠΈΠΏΡΠ·Π°ΡΡΡ, generics, utility types, interfaces vs types
- React 18/19 β Hooks, Suspense, ΠΎΠΏΡΠΈΠΌΡΠ·Π°ΡΡΡ ΡΠ΅-ΡΠ΅Π½Π΄Π΅ΡΡΠ², ΡΠΎΠ·ΡΠΌΡΠ½Π½Ρ React Compiler
- TanStack - React Query (ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΈΠΉ ΡΡΠ΅ΠΉΡ), TanStack Router, TanStack Table
- MobX ββ- ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΈΠΉ ΡΡΠ΅ΠΉΡ-ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ, observable / action / computed, stores
Backend
- Node.js / Bun - event loop, streams, async/await, error handling Π² production
- Protocol Buffers β Π½Π°ΠΏΠΈΡΠ°Π½Π½Ρ .proto ΡΡ
Π΅ΠΌ, ΠΊΠΎΠ΄ΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΡΡ (protoc/buf)
- gRPC / ConnectRPC - ΡΠ΅Π°Π»ΡΠ·Π°ΡΡΡ ΡΠ΅ΡΠ²ΡΡΡΠ², streaming RPC, middleware
- HTTP / REST API - ΠΏΡΠΎΠ΅ΠΊΡΡΠ²Π°Π½Π½Ρ Π΅Π½Π΄ΠΏΠΎΡΠ½ΡΡΠ², ΠΊΠΎΠ΄ΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ, ΠΏΠ°Π³ΡΠ½Π°ΡΡΡ, versioning
ΠΠ / ΡΡ
ΠΎΠ²ΠΈΡΠ°
- MikroORM/TypeORM/Prisma β entities, migrations, Unit of Work ΠΏΠ°ΡΠ΅ΡΠ½, QueryBuilder
- PostgreSQL β ΡΠ½Π΄Π΅ΠΊΡΠΈ, JOIN-ΠΈ, ΡΡΠ°Π½Π·Π°ΠΊΡΡΡ, EXPLAIN ANALYZE Π±Π°Π·ΠΎΠ²ΠΎ
- Redis - ΠΊΠ΅ΡΡΠ²Π°Π½Π½Ρ, TTL, pub/sub, Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ ΡΠΊ ΡΠ΅ΡΠ³Π°
- NoSQL DB (MongoDB Π°Π±ΠΎ Π°Π½Π°Π»ΠΎΠ³) - Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ½Π° ΠΌΠΎΠ΄Π΅Π»Ρ, Π°Π³ΡΠ΅Π³Π°ΡΡΡ
Infra / DevOps
- Git + GitHub - branching strategy, PR flow, code review, Π²ΠΈΡΡΡΠ΅Π½Π½Ρ ΠΊΠΎΠ½ΡΠ»ΡΠΊΡΡΠ²
- Docker β Dockerfile, docker-compose, multi-stage builds
Web3
- Blockchain / Smart Contracts β ΡΠΎΠ·ΡΠΌΡΠ½Π½Ρ Π°ΡΡ
ΡΡΠ΅ΠΊΡΡΡΠΈ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Ρ, ΡΠΈΡΠ°Π½Π½Ρ ABI, Π²ΠΈΠΊΠ»ΠΈΠΊ ΠΌΠ΅ΡΠΎΠ΄ΡΠ² ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ, ΡΠΎΠ±ΠΎΡΠ° Π· Π³Π°ΠΌΠ°Π½ΡΡΠΌΠΈ
ΠΠ°ΠΆΠ°Π½Ρ Π½Π°Π²ΠΈΡΠΊΠΈ (nice to have):
- GraphQL - ΡΡ
Π΅ΠΌΠ°, ΡΠ΅Π·ΠΎΠ»Π²Π΅ΡΠΈ
- NestJS - Server framework
- WebSockets/Socket.io
- CI/CD (GitHub Actions)
- Jest / Vitest - Π½Π°ΠΏΠΈΡΠ°Π½Π½Ρ ΡΠ΅ΡΡΡΠ²
- Ethers.js / Viem / Wagmi
- Solidity - ΡΠΈΡΠ°Π½Π½Ρ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡΠ²
- OpenAPI / Swagger
- RabbitMQ / Kafka
- AWS / GCP Π±Π°Π·ΠΎΠ²ΠΎ
Π©ΠΎ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π²ΠΌΡΡ ΡΠΎΠ±ΠΈΡΠΈ:
- ΡΠ΅Π°Π»ΡΠ·ΡΡ ΡΡΡΡ Π²ΡΠ΄ proto-ΡΡ
Π΅ΠΌΠΈ Π΄ΠΎ UI-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠ°ΠΌΠΎΡΡΡΠΉΠ½ΠΎ
- Π‘ΡΠ²ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π½Ρ React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π· ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡ ΡΠΈΠΏΡΠ·Π°ΡΡΡΡ
- ΠΡΠΎΠ΅ΠΊΡΡΡ ConnectRPC/gRPC ΡΠ΅ΡΠ²ΡΡ Π·Π° Π·Π°Π΄Π°Π½ΠΈΠΌΠΈ Π²ΠΈΠΌΠΎΠ³Π°ΠΌΠΈ
- ΠΠΈΡΠ΅ MikroORM migrations Π±Π΅Π· Π²ΡΡΠ°ΡΠΈ Π΄Π°Π½ΠΈΡ
- ΠΠΈΠ±ΠΈΡΠ°Ρ ΠΌΡΠΆ PostgreSQL, Redis ΡΠ° NoSQL Π·Π°Π»Π΅ΠΆΠ½ΠΎ Π²ΡΠ΄ Π·Π°Π²Π΄Π°Π½Π½Ρ
- ΠΡΠ΄Π½ΡΠΌΠ°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½Π΅ ΠΎΡΠΎΡΠ΅Π½Π½Ρ ΡΠ΅ΡΠ΅Π· docker-compose Π±Π΅Π· ΡΡΠΎΡΠΎΠ½Π½ΡΠΎΡ Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΈ
- ΠΠ½ΡΠ΅Π³ΡΡΡ Web3-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ (wallet connect, ΡΠΈΡΠ°Π½Π½Ρ/Π·Π°ΠΏΠΈΡ Ρ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ)
Soft skills
- Π‘Π°ΠΌΠΎΡΡΡΠΉΠ½ΡΡΡΡ Ρ Π·Π°Π²Π΄Π°Π½Π½ΡΡ
- ΠΠΌΡΠ½Π½Ρ ΡΡΠ°Π²ΠΈΡΠΈ ΡΡΠΎΡΠ½ΡΡΡΡ ΠΏΠΈΡΠ°Π½Π½Ρ
- Π ΠΎΠ±ΠΎΡΠ° Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Agile/Scrum)
- ΠΠΈΡΡΠΌΠΎΠ²Π° ΠΊΠΎΠΌΡΠ½ΡΠΊΠ°ΡΡΡ
- ΠΠΎΡΠΎΠ²Π½ΡΡΡΡ Π΄ΠΎ code review ΡΠ° Π·Π²ΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π²'ΡΠ·ΠΊΡ
Π©ΠΎ ΠΌΠΈ ΠΏΡΠΎΠΏΠΎΠ½ΡΡΠΌΠΎ
- ΠΡΠ΄Π΄Π°Π»Π΅Π½ΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠΎΠ±ΠΎΡΠΈ, Full-time
- Π¦ΡΠΊΠ°Π²Ρ Π·Π°Π²Π΄Π°Π½Π½Ρ Ρ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΠ° Π·ΡΠΎΡΡΠ°Π½Π½Ρ Π²ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
- Π€ΡΠΊΡΠΎΠ²Π°Π½Π° ΡΡΠ°Π²ΠΊΠ°