6 жовт. · Panenco · Агенція
Понад 7 днів вакансія не з’являлася у видачі джерела — можливо, її вже закрито
Завантажте CV — і ми покажемо, що збігається, чого бракує і чи проходить вакансія ваші умови.
Відкрити на DjinniPanenco is a boutique software studio in Belgium and Ukraine. We build next-gen B2B SaaS products and enterprise AI solutions, always with an entrepreneurial spirit. We're a small team of the best and brightest, looking for 10x people who love to tackle challenging problems. We give you significant ownership and room to grow, expecting you to take charge and continuously evolve with the latest and greatest in our industry.
About the position We’re looking for software engineers with strong computer science fundamentals and an entrepreneurial edge to build robust products end-to-end on our Node.js and React stack. You’ll work across the full stack – from database schema to UI – joining a dedicated product team alongside some of the best and brightest people in our industry. The balance between front-end and back-end work flexes depending on the project, and we expect you to be comfortable owning features from idea to production.
Technologies and required skills We expect engineers in our team to take on a broad set of responsibilities, always acting in the interest of the product rather than sticking to the boundaries of any specific domain. You have an in-depth grasp of the majority of the following technologies: Core Language & RuntimeTypeScript: strong typing, generics, modern ES standards Node.js: event loop, async patterns, streams, modules, runtime fundamentals Strong computer science fundamentals: data structures, algorithms, system design
Back-EndNestJS: modular architecture, dependency injection, decorators, guards, interceptors, pipes REST API design: resource modeling, versioning, error handling, idempotency Authentication & authorization: JWT, OAuth/OIDC, session management, RBAC patterns
Database & Data LayerPostgreSQL: schema design, indexing, query optimization, transactions ORMs: hands-on experience with Drizzle ORM and/or Prisma Data modelling: turning business logic into comprehensible data structures Migrations, schema evolution, data integrity
Front-EndReact: function components, hooks, composition patterns, controlled vs derived state, React Server Components (RSC) Typescript: strong typing, generics, modern ES standards Next.js: App Router, Server Components, Server Actions, routing concepts, SSR/SSG patterns
UI & StylingDesign systems and component libraries: shadcn/ui (primary), Radix UI, MUI, Ant, Atlassian UI Styling: modern CSS with Tailwind CSS, CSS Modules, SCSS Responsive layouts and cross-browser compatibility
Forms & ValidationReact Hook Form: form state management and validation Zod: schema validation and type inference
Testing & QualityE2E testing: Playwright or Cypress Understanding of test pyramid: unit, integration, and E2E testing strategies CI integration: test automation in continuous integration pipelines Code quality: focus on readability, maintainability, and reusability
Build Tools & Module BundlersVite (widely used across our projects) Webpack Next.js build system: experience with Next.js build and development tooling Module bundling concepts: understanding of modern bundling approaches
Error Tracking & ObservabilitySentry or similar tools for frontend error tracking and monitoring Ability to interpret production errors and improve system reliability
Security FundamentalsFrontend security: XSS, CSRF, secure handling of authentication tokens Backend security: input validation, SQL injection prevention, secrets handling, rate limiting OWASP Top 10 Permissions and authorization patterns
Web & Browser FundamentalsHTTP/HTTPS, caching, cookies, CORS Event Loop, microtasks vs macrotasks, Web APIs Performance: client-side and server-side performance considerations Accessibility: WCAG awareness, keyboard navigation, screen readers, semantic HTML
AI-Assisted DevelopmentHands-on experience using AI coding assistants (Claude Code, Cursor, Codex, or similar) in daily development workflow Ability to write effective prompts, review AI-generated code critically, and integrate AI tools into your engineering process without compromising code quality Judgment about when AI output needs verification — recognizing hallucinations, context limits, and over-reliance risks
Language skills: solid reading and speaking skills in English
As a plus tRPC: end-to-end type-safe APIs, procedures, routers, middleware Turbopack: familiarity with Next.js Turbopack for faster development builds Virtualisation: hands-on experience with Docker and similar services Cloud: practical experience with GCP, AWS or Azure (serverless principles a bonus) CI/CD pipelines: setting up and managing deployment pipelines Message queues / background jobs: BullMQ, Redis, or similar Information security: an understanding of security standards (SOC 2, ISO 27001) React Native: experience with React Native for mobile development Basic understanding of working with LLM APIs (OpenAI, Anthropic): request/response patterns, streaming, token usage, cost awareness Model Context Protocol (MCP): practical experience configuring MCP servers in tools like Claude Desktop, Claude Code, or Cursor (e.g. filesystem, GitHub, Slack, or custom servers) Building AI-powered product features: experience integrating LLMs into user-facing products (chat interfaces, RAG pipelines, agentic workflows, streaming UIs) Prompt engineering: structured approaches to system prompts, few-shot examples, tool use / function calling, evals
Locations Remote work is our default. We also have an office in Kyiv, and team members are expected to be available to work onsite there when needed.
We offer We offer a friendly, dynamic and inspirational working environment with a strong team that celebrates great engineering. During our bi-weekly software engineering labs sessions we share experiences from the various products that we're building. A fair compensation, office snacks and fun afterwork drinks are included of course!
The interview process The interview process is short (but thorough) and will consist of 3 steps: Technical interview: you present a personal project or one of your prior involvements from end to end, with our team asking targeted questions Pair-Programming Session: you collaborate with one of our engineers on a practical task. We focus on problem-solving approach, communication, code structure, and how you reason about changes in real time. Feedback: you will receive feedback about the technical conversation either in written form or through a call