About Smartness
Beyond Smartpricing, we've launched a suite of products over the past few years that is growing by more than 10% month-over-month. Our goal is to become one of the leading global players in our industry.
Smartness
We are looking for a Fullstack Developer with a strong product mindset, able to work independently and proactively contribute to the success of our solutions. You will be part of a cross-functional team, helping design, build, and maintain scalable, high-quality applications. Your work will primarily involve Node.js on the backend and Vue.js on the frontend, with active involvement in architectural choices and product decisions.
Your responsibilities will include:
Developing new features and improving existing ones, ensuring high code quality and test coverage.
Collaborating with designers, product managers, and other developers to translate business needs into effective technical solutions.
Participating in architectural decisions and contributing to performance optimisation.
Managing the full software development lifecycle, from planning to deployment and monitoring.
Suggesting improvements and new product ideas based on user experience and data insights.
This role is ideal for a Fullstack Team Lead with strong experience in Node.js, Vue.js, Docker/Kubernetes, and distributed applications (Kafka, microservices). The position involves leading a cross-functional team, driving architectural decisions, mentoring developers, and building scalable SaaS products for the hospitality industry. It suits someone with a startup/scale-up background, a product-oriented mindset, and leadership ambition, eager to shape both the technology and the growth of a fast-expanding company.
How would you design a horizontally scalable Node.js microservice that processes pricing events from Kafka?
Use consumer groups for parallelism, idempotent handlers with a dedup store, at-least-once consumption, an outbox pattern for side effects, and partition keys that preserve entity ordering.
What strategy do you use to maintain data consistency across services (e.g., booking, pricing, availability)?
Apply the Saga pattern with transactional outbox/CDC for reliable event publication, use domain events for eventual consistency, and design operations to be idempotent and retry-safe.
When would you choose PostgreSQL vs. Cassandra for Smartness workloads?
PostgreSQL for relational, transactional data and complex queries; Cassandra for high-write, time-series or wide-column access patterns requiring linear scalability and low-latency writes.
How do you version and evolve Kafka event schemas safely?
Use a schema registry (Avro/JSON Schema/Protobuf) with backward/forward compatibility rules, default values for new fields, and contract tests in CI to prevent breaking changes.
What are your best practices for building a resilient REST/GraphQL API in Node.js?
Implement input validation (Zod/Joi), timeouts, retries with jitter, circuit breakers (Polly-like), structured logging, request tracing, and enforce rate limiting and auth via middleware.
How do you structure a Vue.js (or Nuxt) app for a complex B2B dashboard?
Adopt a feature-modular architecture, co-locate state and queries (e.g., Pinia/Query), use typed APIs/DTOs, lazy-load routes, and abstract shared UI in a component library with Storybook.
Describe your CI/CD pipeline for Node.js + Vue services on Kubernetes.
Run lint, type-checks, tests, build Docker images, sign and scan them, push to registry, apply versioned Helm charts, and roll out with canary/blueβgreen plus automated smoke tests and rollbacks.
How do you make a Kafka consumer idempotent when updating Postgres/Cassandra?
Use natural idempotency keys (eventId) with unique constraints, upserts (ON CONFLICT
/ lightweight transactions), and store processed offsets per aggregate to avoid double effects.
How do you instrument and observe a distributed system endβtoβend?
Propagate trace context (W3C) across HTTP/Kafka, emit metrics (RED/USE), logs with correlation IDs, set SLOs and error budgets, and build dashboards/alerts for p99 latency and lag/backlog.
How do you lead technical design and ensure quality on the team?
Run lightweight RFCs/ADR reviews, define coding standards and architectural guards (linters, CI checks), mentor via pair programming and PRs, and use metrics (DORA, defect escape rate) to guide improvements.
Smartness is hiring a remote Fullstack Team Lead (Node.js) to drive development of scalable SaaS tools for accommodation providers. You'll lead a cross-functional team, build fullstack apps with Node.js and Vue.js, contribute to architectural decisions, and manage the full development lifecycle. Ideal candidates have startup or scale-up experience, strong backend/frontend skills, and a product-focused mindset. Experience with Docker, Kubernetes, Kafka, Postgres, and CI/CD tools is a plus. Join one of Italy’s fastest-growing startups with global ambitions and play a key role in shaping the future of hospitality tech.
Okta
Full-timeJoin 20000+ developers getting weekly JavaScript insights delivered to your inbox.