¿Qué buscamos?
Alguien con capacidad y experiencia para ejercer de lead técnico en un equipo en pleno crecimiento:
habilidades de comunicación, conocimientos sólidos de programación,
arquitectura de aplicaciones web, orientación DevOps, conocimientos de
herramientas de automatización de gestión de infraestructura,
interesante experiencia con metodologías ágiles… Trabajará estrechamente
con el CTO en la desarrollo de nuevos proyectos, previsión de
necesidades en infraestructura, automatización de tareas, mejoras de
rendimiento…
Entorno y herramientas
Cada
desarrollador dispone de un iMac con su propio entorno de desarrollo,
reproduciendo la infraestructura y las aplicaciones que tenemos en
producción: HaProxy balanceando las peticiones entre los frontales, Apache como servidor web, PHP 7.2 como principal lenguaje de desarrollo, MySQL como principal base de datos, Redis para algunas caché y las sesiones distribuidas, Manticore Search (un fork de Sphinx) como principal motor de búsqueda y generación de listados, Memcached como caché de vistas y objetos, Beanstalkd como sistema de colas…
La plataforma corre en un entorno virtualizado con vSphere y gestionado de forma automatizada mediante Packer + Ansible (publicamos no hace mucho un artículo al respecto), para crear las plantillas de las máquinas que correrán en producción y Terraform, para crear y dejar listas las instancias de producción. Más aquí si te interesa ».
Versionamos el código con GIT, siguiendo un flujo basado en feature branches, tratando de orientarnos a continuous deployment (todos publicamos código en producción, varias veces al día). Alojamos el código en Github, SemaphoreCI
ejecuta los tests y avisa al servidor de deploy cuando detecta commits a
devel o master y el servidor de deploy despliega el código y ejecuta
las tareas necesarias (estructura de carpetas, permisos, Composer, etc.) en los servidores de producción y staging con Ansible + Ansistrano.
Además tenemos una App móvil híbrida para iOS y Android desarrollada con Ionic, que encapsula la versión móvil de nuestra web, optimizada para comportarse de la forma más similar posible a una app nativa.
¿Cómo es trabajar en Uvinum?
En
este último año nos hemos puesto en serio a revisar nuestra forma de
programar. Desde refactorings en parejas o Clean Code / SOLID, hasta
ciertos aspectos del Domain-Driven Design como la Arquitectura
Hexagonal. Necesitamos a alguien motivado por este tipo de conceptos
para ayudarnos a seguir mejorando en el camino.
Reservamos
unas horas a la semana a formación interna, workshops, realización de
katas, etc. según los intereses del propio equipo y cubrimos algunos
eventos técnicos relevantes a lo largo del año.
Además
de la formación periódica, el horario es flexible de lunes a jueves y
los viernes trabajamos hasta el mediodía, durante todo el año. Los
jueves, cada 15 días, nuestro enólogo nos ofrece una formación
relacionada con el mundo del vino, complementada con una cata de
vinos. ;-)
¡Ah! Por si no te has dado cuenta… somos bastante frikis. Así que si te animas, prepárate para ser el Sheriff de los Miércoles™, aparecer en algún #UvinumSelfies, o ser víctima de algún que otro #ataqueHasselhoff cuando menos te lo esperes. ;-)