cherta / remoteuy

Listado de empresas uruguayas que promueven el trabajo remoto y distribuído
https://remote.uy
19 stars 59 forks source link

Listado de posiciones remotas disponibles. #67

Open cherta opened 4 years ago

cherta commented 4 years ago

La idea es listar posiciones remotas abiertas en Uruguay.

Actualmente existe un canal #jobs en el Slack de Open Web Uruguay. En el mismo las empresas/recruiters ponen las posiciones abiertas, las mismas no son siempre remotas aunque la mayoría si.

Si bien listar algo de una BD es simple, lo complejo es armar una UI para cargar esas posiciones. Incluso cuando la UI exista cambiar el hábito de la gente es mucho más difícil, sobre todo cuando el cambio implica crearse una nueva cuenta en otro sistema sólo por la promesa de llegar a más gente.

Solución propuesta

Creo que lo mejor es no cambiar el hábito de las personas y dejar que sigan posteando las posiciones en Slack. Para eso podríamos tener un bot de Slack que escuche las conversaciones en dicho canal y las parsee.

Si el texto contiene un tag, por ejemplo #job-offer podríamos tomar ese mensaje como la oferta, guardarla en una BD y luego listarla junto al nombre de la persona que la hizo.

Como contra partida tenemos información poco estructurada ya que no es más que un mensaje que se tiró en Slack, pero creo que como paso inicial es un buen tradeoff.

Implementación

Actualmente la aplicación es una app Next.js que se deploya en Now -en zeit (?), en vercel (?)- y que permite ejecutar funciones serverless dentro de pages/api.

Una vez la app de Slack esté instalada en el canal se pueden recibir los eventos a un endpoint, por ejemplo /api/slack/event, filtrar por el tag elegido y mandar a una BD. PAra la BD pienso que FaunaDB es la elección más natural ya que tiene un free tier y no hay configurar pool de conexiones como en PostgreSQL ya que de lo contrario la propia naturaleza de las funciones serverless dejarían las conexiones colgadas.