Qué perfil estamos buscando
Buscamos una persona con experiencia porque esperamos que se encargue de la administración y desarrollo de nuestra infraestructura (Google Cloud, Kubernetes, Docker, CI / CD, nuestro sistema de orquestación de tareas de cómputo, etc).
La persona que buscamos trabajará principalmente con el CTO definiendo, implementando y mejorando toda la infraestructura que soporta Graphext. También se espera que trabaje con el resto de los desarrolladores para ayudar con algunas tareas de back-end. Por ejemplo, no será extraño que quien ocupe este puesto ayude a mejorar las analíticas internas del uso de la herramienta o mejorar nuestra infraestructura detectando vulnerabilidades en imágenes de docker, o montando un sistema de monitorizacion y alertas con grafana/prometheus.
Lo que esperamos de ti:
Buscamos una persona con experiencia en desarrollo backend y administración de sistemas. Una persona a la que le guste trabajar en equipo y enseñar a sus compañeros, que disfrute de cierta autonomía para investigar y proponer mejoras en el producto.
Para tratar de concretar el rol, buscamos experiencia en:
- Docker, Docker Compose y Kubernetes.
- Administración de bases de datos (PostgreSQL y ElasticSearch es lo que utilizamos).
- Experiencia trabajando con Google Cloud o AWS.
- Con autonomía y capacidad de aprendizaje
- Conocimiento sólido de toda la pila tecnológica de la web (e.g. HTTP, cookies, headers, asset loading / caching).
- Disciplina en los temas de seguridad. (Usamos Vaults para los secretos, por cierto)
- Competencia en inglés, normalmente hablamos en español pero no es raro escribir o tener conversaciones en inglés.
Valoramos grados en informática o estudios similares porque sabemos los cimientos que proporcionan, pero también sabemos que un título no garantiza nada, así que no ponemos como requisito tener títulos oficiales.
Cómo es el producto
En nuestra web puedes ver cómo funciona el producto. También puedes probar el producto directamente abriéndote una cuenta gratuita.
Y en nuestro canal de Youtube encontrarás vídeos más explícitos: como este ejemplo o este otro de tipos de análisis que se pueden hacer.
En nuestro Twitter y blog también solemos poner más ejemplos regularmente de análisis que vamos haciendo.
Dado que es un software de análisis de datos que queremos que sea muy rápido e interactivo, para que los analistas no pierdan el flow por culpa de la latencia de la red, una gran cantidad de computo se realiza directamente en el cliente, en el front. Así que hemos tenido que montar una arquitectura bastante especial, híbrida, hay cálculos que se hacen sólo en el front, otros sólo en back y algunos con el mismo código se ejecutan en back o front dependiendo del tamaño del dataset. Además de esto, también serializamos el estado del proyecto con nuestro propio DSL, para hacer todo muy reproducible y accesible para los usuarios más avanzados y los menos técnicos.
Para dar soporte a toda la flexibilidad que necesita el producto, en back hacemos uso extensivo de Docker y Kubernetes, no sólo para la integración continua y los desplieges, también tenemos entornos de prueba efímeros que se crean automáticamenete según los desarrolladores van haciendo Pull Requests. Usamos un Kubernetes gestionado en Google Cloud y además tenemos nuestro propio orquestador de tareas para el procesamiento de datos. Este nos permite reducir costes y escalar el cómputo en diferentes entornos, desde un portátil de desarrollo a una instalación on-Premise.Nos enfrentamos a retos técnicos muy interesantes, desde el front, pasando por el back y los sistemas. Si te apetece ver de cerca cómo se hace software tecnológicamente puntero no creo que haya mucho sitios como Graphext para aprenderlo de primera mano.
Los estados y transformaciones de datos que los usuarios hacen en Graphext desde una interfaza interactiva no-code se serializan un DSL propio que permite hacer soportar un sistema de "templates" y "recetas"
Aquí un resumen del stack y arquitectura de Graphext.
Con quién trabajarías
Trabajarás principalmente con Miguel (el CTO y co-fundador) y Manu (el Devops principal). Entre los dos han creado prácticamente todo el código de back con Ruby on Rails. Además también son los artífices y mantenedores de la infraestructura de Graphext, el sistema CI/CD, la recogida y organización de eventos internos, el entorno de desarrollo y de pruebas, así como de las instalaciones on-Premise.
En el equipo de frontend también trabajarás con gente como Isa, Raúl y Luna. Ellos han creado muchas de las features más claves del producto. Aunque su foco en Graphext está en frontend, también tienen experiencia y ayudan con tareas de backend.
También trabajarás junto con nuestros diseñadores Juan, Andrea y Guillermo en la definición e implementación de nuevas features.
Además de todos estos programadores, el equipo tiene más gente maja trabajando en producto, data science y negocio que puedes ver aquí.
Compensación
- Contrato indefinido.
- Puedes elegir tu propio equipo. Aunque la mayoría trabajan con Macbook Pro también puede elegir otro ordenador de similares caracterísitcas.