Senior Backend Engineer - Datos de salud (TypeScript · Postgres · GCP) - Wellbeinn
6 hours ago
Valladolid
100% remoto desde España · Contrato indefinido · Wellbeinn Buscamos a la persona que saque el núcleo de datos de salud de Wellbeinn de Firebase y lo lleve a nuestra propia plataforma en Postgres. Con la app en producción y usuarios reales dentro. Sin perder un dato. No es un backlog de CRUDs: es una migración con riesgo, un modelo de datos por diseñar y una decisión de arquitectura tuya cada semana. ¿Donde estamos? En Wellbeinn construimos una plataforma de bienestar que mide de verdad: una banda propia por BLE, equipos de presoterapia y una app que convierte frecuencia cardíaca, HRV, SpO2, temperatura, sueño y actividad en algo que una persona puede usar cada día. Está en producción, con usuarios reales y datos de salud reales. Hoy la app escribe en Firestore y una capa de Cloud Functions hace el resto. Nos ha traído hasta aquí, pero ya nos limita: el modelo documental no encaja con series temporales de salud, y buscamos optimizar la arquitectura y el sistema completo para una mayor soberanía de nuestro proyecto. La cabeza de puente ya está construida: una API en NestJS sobre Cloud Run y Postgres con OAuth2 (Ory Hydra) que sirve a clientes B2B, y un backend de coach con IA (Claude) también en Cloud Run. Buscamos a la persona que una las piezas y diseñe el destino. QUÉ VAS A HACER • Diseñar y ejecutar la migración de Firestore a nuestro backend propio en Postgres, con la app en producción: modelo destino, doble escritura, backfill, reconciliación y corte., • Definir el modelo de datos de salud: series temporales por usuario, agregados diarios, derivados (sueño, recuperación, carga), idempotencia y versionado. La app es offline-first y reenvía, el backend tiene que aguantarlo., • Consolidar la API: contratos OpenAPI, versionado, autenticación y una sola puerta de entrada para la app móvil y para las integraciones B2B., • Sustituir la lógica que hoy vive en Cloud Functions (Node 20, fin de soporte en octubre de 2026) por servicios que podamos testear y desplegar con criterio., • Llevar el backend de IA a producto de verdad: streaming, contexto de salud del usuario, control de coste y latencia por token, evaluación de calidad y guardarraíles., • Poner el RGPD en la arquitectura, no en un anexo: con datos de categoría especial (Art. 9), la minimización, el consentimiento versionado, el borrado en cascada verificable, la residencia en la UE y las trazas de auditoría se diseñan como propiedades del sistema., • Proponer y documentar decisiones -usamos ADRs- y saber decir "esto todavía no lo construimos". NUESTRO STACK • Backend: TypeScript, NestJS, Node 22, PostgreSQL (Cloud SQL), OpenAPI, Ory Hydra (OAuth2/OIDC), • Infra: GCP — Cloud Run, Cloud SQL, Cloud Functions, Firebase (el punto de partida), CI/CD con GitHub Actions y Workload Identity Federation, • IA: API de Claude (Anthropic) con prompt caching, • App: Flutter y Riverpod, con caché local y sincronización offline-first sobre BLE. No la vas a mantener, pero es tu cliente principal y tendrás que entender cómo sincroniza. LO IMPRESCINDIBLE • 5+ años construyendo backends en producción, con TypeScript/Node a buen nivel (NestJS, Fastify o equivalente). No pedimos que conozcas nuestro framework; pedimos criterio., • Diseño de APIs como oficio: contrato antes que código, versionado, idempotencia, paginación, errores que un cliente pueda manejar., • Postgres de verdad: modelado, índices, planes de ejecución, particionado o Timescale para series temporales, migraciones sobre tablas vivas., • Haber migrado datos de un sistema en producción con usuarios dentro. Si nunca has hecho una doble escritura ni un backfill, esta no es la posición., • Criterio de arquitectura en equipo pequeño: elegir lo simple, escribir la decisión y sostenerla seis meses después., • Autonomía en remoto: escribir bien lo que decides y no necesitar que nadie te reparta el trabajo. LO QUE VALORAMOS MUCHO • LLMs en producción (Claude, OpenAI o similar): diseño de prompts, tool use, streaming, RAG y, sobre todo, coste, latencia y evaluación. Un chatbot de demo no cuenta: queremos a alguien que sepa explicar por qué su factura fue la que fue., • Datos de salud o wearables, BLE, sensores., • RGPD sobre datos de categoría especial (Art. 9), o haber pasado una auditoría de datos de salud., • Sincronización offline-first, resolución de conflictos, colas de reintento., • Firestore/Firebase: saber de dónde salimos ayuda., • Series temporales a escala: TimescaleDB, ClickHouse o similar., • IaC (Terraform), observabilidad (trazas, métricas, logs), Python para data. QUÉ OFRECEMOS • salario competitivo, • Propiedad de verdad sobre el backend, con acceso directo a producto y a quien decide., • Equipo pequeño y ciclo corto: lo que mergeas llega a usuarios en días., • 100% remoto desde cualquier punto de España., • Contrato indefinido.