Puesto: Desarrollador Full-Stack
Tipo de Puesto: Jornada Completa, Remoto
Horario de Trabajo: Horario Comercial de EE. UU.
Sobre el Rol
Buscamos un Desarrollador Full-Stack con sólida experiencia en TypeScript, React, Next.js y Postgres para crear y lanzar funcionalidades en un portal de clientes moderno. Serás responsable de las funcionalidades de principio a fin, trabajando en el frontend, backend, base de datos e integraciones según sea necesario. Este es un rol práctico donde se espera que pienses más allá del "camino feliz", construyas funcionalidades confiables y mejores el código existente a medida que avanzas. Trabajarás en estrecha colaboración con un pequeño equipo de ingeniería y producto, recibiendo feedback rápido y teniendo una propiedad significativa sobre lo que construyes.
Responsabilidades
Desarrollo de Funcionalidades de Principio a Fin
- Llevar funcionalidades desde el prototipo de diseño hasta la producción.
- Construir interfaces de frontend usando TypeScript, React y Next.js.
- Manejar manejadores de rutas, migraciones de bases de datos, correos electrónicos e interfaz de usuario como parte de una funcionalidad completa.
- Trabajar en perfiles de candidatos, roles y páginas de candidatos, flujos de entrevistas, facturación y otras funcionalidades del portal.
- Asegurar que las funcionalidades estén listas para producción en lugar de centrarse solo en el "camino feliz".
Resiliencia de Datos e Interfaz de Usuario
- Construir funcionalidades que manejen datos del mundo real y casos extremos.
- Considerar estados vacíos, estados de error, nombres largos, CV extensos y múltiples aplicaciones.
- Asegurar que los estados de la interfaz de usuario sean claros, intencionales y fáciles de usar.
- Identificar posibles casos extremos antes de que se conviertan en problemas de producción.
- Mejorar las funcionalidades existentes cuando identifiques brechas de confiabilidad o usabilidad.
Pruebas y Calidad del Código
- Escribir pruebas automatizadas para áreas que actualmente carecen de cobertura.
- Agregar cobertura de regresión para nuevas funcionalidades y flujos de trabajo importantes.
- Mantener el código estable y mantenible.
- Identificar y resolver problemas descubiertos a través de pruebas o revisiones de código.
- Dejar cada área del código mejor de lo que la encontraste.
Base de Datos y Backend
- Escribir y revisar migraciones de Postgres.
- Trabajar con confianza con SQL, joins y relaciones de bases de datos.
- Leer y razonar sobre políticas de seguridad a nivel de fila.
- Mantener un comportamiento predecible de Supabase Auth y Realtime.
- Comprender cómo funcionan juntas las modificaciones de frontend, backend y base de datos.
Integraciones de Terceros
- Trabajar con integraciones como Stripe, Resend, Workable y SparkHire.
- Conectar servicios de terceros a funcionalidades del producto cuando sea necesario.
- Solucionar problemas relacionados con la integración.
- Leer y comprender el servicio existente de Python FastAPI cuando las funcionalidades interactúan con la funcionalidad de IA o datos.
Revisión de Código y Colaboración
- Escribir pull requests claros y bien documentados.
- Proporcionar suficiente contexto para que los revisores comprendan y aprueben los cambios de manera eficiente.
- Participar en revisiones de código e incorporar feedback.
- Progresar hacia la revisión independiente de pull requests de API y migraciones de bases de datos.
- Colaborar directamente con miembros del equipo de ingeniería y producto en un entorno de feedback rápido.
Requisitos
- 2 a 4 años de experiencia en el lanzamiento de aplicaciones de producción con TypeScript y React.
- Sólida experiencia con Next.js, idealmente incluyendo App Router, Server Components y Route Handlers.
- Comprensión sólida de SQL y bases de datos relacionales.
- Capacidad para escribir joins, leer migraciones y comprender relaciones de bases de datos.
- Comprensión de Postgres y conceptos de seguridad a nivel de fila.
- Experiencia en la construcción de interfaces de usuario listas para producción con estados vacíos, de carga y de error bien pensados.
- Experiencia trabajando en un monorepo o codebase donde las funcionalidades abarcan frontend, backend y capas de base de datos.
- Experiencia escribiendo y manteniendo pruebas automatizadas.
- Familiaridad con pull requests y flujos de trabajo modernos de revisión de código.
- Sólidas habilidades de resolución de problemas y depuración.
- Capacidad para gestionar funcionalidades de forma independiente, desde los requisitos hasta el despliegue.
- Sólidas habilidades de comunicación escrita y atención al detalle.
Valorable (Nice to Have)
- Experiencia práctica con Supabase.
- Experiencia con Stripe o Resend.
- Experiencia trabajando con integraciones de Workable o SparkHire.
- Familiaridad con Python y FastAPI.
- Experiencia con pruebas unitarias o de integración.
- Experiencia trabajando con servicios de backend enfocados en IA o datos.
- Experiencia utilizando herramientas como CodeRabbit o herramientas similares de revisión de código asistida por IA.
- Experiencia previa trabajando en un equipo de producto pequeño y de rápido movimiento.
Qué te hará encajar bien
Prosperarás en este rol si
- Puedes llevar una funcionalidad desde un resumen hasta la producción sin necesidad de que cada tarea se desglosa.
- Piensas en migraciones, casos extremos, pruebas e integraciones junto con la interfaz de usuario.
- Te importa cómo se comportan las funcionalidades con datos del mundo real.
- Te comunicas proactivamente cuando encuentras bloqueos.
- Aceptas el feedback y lo utilizas para mejorar tu trabajo.
- Te sientes cómodo trabajando tanto en sistemas de frontend como de backend.
- Prefieres lanzar mejoras pequeñas y confiables de manera consistente.
- Te enorgulleces de dejar el código más limpio y estable de lo que lo encontraste.
Qué esperar del éxito
- Las funcionalidades se mueven eficientemente del diseño a la producción.
- La nueva funcionalidad funciona de manera confiable en escenarios de datos del mundo real.
- Fuerte cobertura de pruebas automatizadas en áreas clave del portal.
- Las migraciones de bases de datos y las políticas de seguridad permanecen confiables y bien estructuradas.
- Los pull requests son claros, enfocados y fáciles de revisar.
- Las integraciones de terceros funcionan de manera consistente en los flujos de trabajo del producto.
- Los errores y casos extremos se identifican y abordan de manera proactiva.
- El código se vuelve más estable y mantenible con el tiempo.
Día Típico
Tu día puede comenzar con un prototipo de diseño, una solicitud de funcionalidad o un comentario del producto. Trabajarás en todo el stack para convertir ese requisito en una funcionalidad lista para producción: escribiendo la migración de la base de datos, construyendo la interfaz de usuario, implementando el manejador de rutas, conectando las integraciones necesarias y agregando pruebas. Otros días pueden implicar solucionar un caso extremo que surgió en producción, como un candidato con múltiples aplicaciones que causa un problema inesperado en una vista de lista. Investigarás el problema, implementarás la solución, la probarás y desplegarás la mejora. El equipo opera con un ciclo de feedback ajustado, así que espera stand-ups cortos, colaboración directa y que la mayoría de las decisiones se tomen a través de comentarios y pull requests en lugar de reuniones largas.
Proceso de Entrevista
- Revisión inicial de la solicitud.
- Calificación por IA y filtro de reclutador.
- Entrevista técnica/con el cliente.
- Selección final y onboarding.