Volver a Trabajo seleccionado

Trabajo profesional · Full stack

AuroraJobs

Plataforma de empleo y orientación para universitarios, empresas y servicios de carrera. Fui responsable de la aplicación de principio a fin, en un monolito Ruby on Rails.

Empresa
AuroraJobs
Periodo
2021 — 2024
Papel
Full-Stack Software Engineer
Alcance
Toda la aplicación: producto para estudiantes, portal de empresas, dashboard interno, despliegues e infraestructura.
Estado
Proyecto terminado

Problema y contexto

Los universitarios que buscan su primer trabajo y las empresas que contratan perfiles junior rara vez se encuentran en un sitio pensado para esa etapa: los portales generalistas tratan a ambos como un caso más. AuroraJobs montó empleo, formación y contenido alrededor de ese momento concreto.

Para quiénUniversitarios en sus primeros pasos, empresas que contratan perfiles junior y los servicios de orientación de las universidades.

Mi responsabilidad

La aplicación era mía de punta a punta: modelado, backend, frontend, pruebas, despliegues e infraestructura. Entré con poca experiencia y el CTO me formó hasta que pude tomar esas decisiones por mi cuenta.

Producto para estudiantes

Perfil, filtros y formularios dinámicos para describir lo que buscan, listados de ofertas y el flujo de candidatura completo.

Producto para empresas

Paneles con los candidatos de cada oferta ya priorizados, con su videoentrevista y las acciones de descartar, guardar o contactar en la misma pantalla.

Dashboard interno

La herramienta desde la que el equipo configuraba lo anterior: filtros, formularios y criterios, sin pasar por un despliegue.

Qué más incluye

  • Motor de matching entre estudiantes y ofertas.
  • Dashboards de analítica para los servicios de orientación de las universidades.
  • auroraHacks, la pata de contenido: editoriales, eventos y podcast.
  • Despliegues e infraestructura del producto.

Dónde acaba mi parte

Producto tenía la decisión final. Yo entraba en la ideación, discutía el alcance y proponía alternativas más simples cuando las veía. Mentoricé, coordiné y gestioné a un equipo de dos developers, un junior y un mid: reparto de trabajo, revisiones y apoyo del día a día.

Decisiones

  1. Un monolito Rails en lugar de servicios

    Situación
    Éramos pocos y había que montar perfiles, ofertas, matching, candidaturas, contenido y analítica casi en paralelo.
    Qué decidí
    Mantenerlo todo en un monolito Ruby on Rails, con Sidekiq para el trabajo asíncrono.
    Por qué
    Con ese tamaño de equipo, separar en servicios añadía despliegues, contratos entre partes y depuración repartida sin resolver ningún problema que tuviéramos entonces.
    Qué cambió
    Modelo de datos e interfaz se tocaban en el mismo cambio, y una funcionalidad completa entraba en un ciclo corto.
  2. Hacer configurable lo que cambiaba cada semana

    Situación
    Los filtros, los formularios del estudiante y los criterios de priorización cambiaban con cada conversación de producto. Cada ajuste era una tarea de desarrollo y un despliegue.
    Qué decidí
    Llevarlos al dashboard interno y dejar que el equipo los configurase desde ahí.
    Por qué
    Lo que cambia por criterio de negocio no debería tener que pasar por mí para cambiar.
    Qué cambió
    Producto ajustaba filtros y formularios sin esperar a desarrollo, y dejaron de llegarme tickets que eran decisiones de negocio disfrazadas de trabajo técnico.
  3. Repartir y revisar en lugar de construirlo todo

    Situación
    El producto crecía más rápido de lo que yo podía escribir y entraron dos developers al equipo.
    Qué decidí
    Repartir el trabajo por áreas, revisar sus pull requests y hacer pairing cuando hacía falta, en vez de quedarme con las partes difíciles.
    Por qué
    Si concentraba lo complicado, el equipo no llegaba a conocer el dominio y yo acababa siendo el cuello de botella.
    Qué cambió
    Un junior y un mid con áreas propias, y las decisiones de arquitectura discutidas en revisión en lugar de heredadas.

Resultado

  • Un producto en producción con portal de empleo, área de empresas, orientación, contenido y analítica.

    EvidenciaLas capturas de esta página son del producto público.

  • Una base full stack que cubrió modelado, lógica de negocio, interfaz, pruebas, despliegues e infraestructura.

    EvidenciaEl mismo monolito Rails de 2021 a 2024.

  • Un equipo de dos developers con áreas propias, revisiones y apoyo continuo.

    EvidenciaUn junior y un mid a los que mentoricé y coordiné.

Sobre las cifrasLas cifras de usuarios, la financiación y el alcance exacto de la infraestructura son de la empresa y no se publican aquí.

Stack

  • Ruby on Rails
  • JavaScript
  • Stimulus
  • MySQL
  • Redis
  • Sidekiq
  • Kubernetes
  • Docker
  • TailwindCSS
  • CI/CD