Full Stack Engineer
Strong Middle Full-Stack Developer (Next.js / TypeScript)
About the Role
We are looking for an experienced Full-Stack Developer with strong expertise in modern TypeScript-based architecture and a deep understanding of the Next.js ecosystem. This role requires someone who can design scalable applications, build complex UI systems, implement backend logic, and maintain high-quality engineering standards through testing and performance optimization.
You will work on building sophisticated web applications using the latest frontend and backend technologies while following modern architectural patterns and best practices.
Required Technical Skills
Frontend
Next.js 15+ (App Router)
Strong practical understanding of:
- React Server Components (RSC) vs Client Components
use client/use serverrevalidatePath- App Router architecture and rendering strategies
React 19
Hands-on experience with:
- Context API
useStateuseCallbackuseRef- Custom hooks
- Complex interaction logic including pointer-event drag implementations
TypeScript (strict mode)
Advanced TypeScript knowledge including:
- Branded types
- Utility types (
Pick<>,NonNullable<>,Awaited<>,ReturnType<>) - Exhaustive switch checking patterns
- Zod schema validation
- Strong type-safe architecture principles
Tailwind CSS + Shadcn UI (Radix UI)
Experience building complex UI systems, not only styling components:
- Dialog
- Sheet
- Popover
- Tabs
- Reusable design systems and component architecture
URL as State Management
Experience with:
nuqs- Type-safe search parameters
- URL-driven state patterns as alternatives to Redux/Zustand
Backend
Next.js Server Actions
Strong understanding of complete workflows:
- Authentication and authorization
- Data mutations
revalidatePath- Structured error handling and error enums
Prisma 6 + PostgreSQL
Practical experience with:
- ORM patterns
Prisma.validator()satisfies- Relations
- Soft delete implementation
- Understanding when to transition from ORM abstractions to raw SQL
SQL
Ability to write advanced queries including:
WITH CTEqueries- Aggregated reporting queries
- Parameterized SQL using
Prisma.sql
Testing
Experience with:
Bun Test
- Unit testing (pure functions)
- Integration testing (mocked Prisma)
- DOM testing using:
@testing-library/reacthappy-dom
Testing Architecture
- Dynamic import patterns
- Cache-busting strategies for test isolation