freehire launches on Product Hunt on 26 August.

Follow →

Mid Level Software Engineer – Backend

Summary

Builds and evolves scalable NestJS/TypeScript backends with PostgreSQL, Redis, and event-driven Pub/Sub, following clean architecture and strict testing practices.

Responsibilities

  • Design and evolve domain APIs in NestJS/TypeScript following a strict layered architecture: thin controllers, business logic in the service layer, data access isolated in repositories.
  • Build event‑driven communication between services with Pub/Sub, using patterns such as transactional outbox and idempotent consumers to guarantee reliability.
  • Model and optimize PostgreSQL schemas and queries—proper types, indexing, and normalization decisions (when a field should really be a related table).
  • Use Redis for caching and session data, with deliberate TTL and invalidation.
  • Design clean, versioned REST contracts (plural resources, correct HTTP verbs and status codes, standardized JSON response envelopes).
  • Implement authentication and authorization (SSO/JWT via a central gateway), always revalidating permissions on the server—never trusting the client.
  • Collaborate with front‑end/BFF engineers on typed, contract‑first API interfaces.
  • Write unit and integration tests as a first‑class part of delivery.
  • Participate in code and architecture reviews, and help make (and document) sound architectural decisions.

Requirements

  • Solid experience with NestJS and the Node.js ecosystem.
  • Strong TypeScript and object‑oriented / clean‑architecture fundamentals (SOLID, separation of concerns, dependency inversion).
  • Deep PostgreSQL knowledge: schema design, indexing, query optimization.
  • Hands‑on experience with event‑driven / message‑based architectures (Pub/Sub, queues, or similar) — retries, idempotency, ordering.
  • Comfort with layered / hexagonal service design and keeping business logic out of controllers and infrastructure.
  • Experience designing and consuming REST APIs at scale (versioning, contracts).
  • Authentication & authorization fundamentals (JWT, SSO, OAuth concepts).
  • Docker and containerized deployments.
  • Git and Agile workflows (Scrum/Kanban).
  • Ability to write unit and integration tests to ensure reliability.
  • Strongly desired experience deploying to Google Cloud (Cloud Run, Cloud SQL, Pub/Sub, Secret Manager, Cloud Scheduler/Jobs).
  • Redis for caching and real‑time data.
  • Experience in distributed / multi‑service (microservices) systems and monorepo / shared‑library setups.
  • A reuse‑first mindset: extending shared platform code instead of duplicating.

See also