Resumen del puesto
Por la naturaleza de la empresa, un DevOps Engineer en Mikroways enfrenta nuevos
desafíos de forma cotidiana, lo que requiere una gran capacidad de aprendizaje,
creatividad y una actitud proactiva.
La persona que se incorpore en esta posición formará parte del equipo de
Mikroways encargado del delivery del servicio a los clientes. En tal rol,
colaborará en el desarrollo de soluciones innovadoras basadas en DevOps y usando
herramientas como Docker, Kubernetes, Ansible, Terraform y trabajando con nubes
públicas como AWS, GCP, Azure; nubes privadas como OpenStack entre otras y
entornos de nube híbridos.
El puesto de DevOps Engineer Trainee inicia con un período de formación durante
el cual la persona adquiere los conocimientos necesarios para poder desempeñarse
como DevOps. En este período, la persona debe completar una serie de actividades
que replican situaciones del trabajo cotidiano, con el objetivo de obtener los
conocimientos mínimos que permitan garantizar las soluciones entregadas a los
clientes. Por tal motivo, mientras se mantiene como trainee no ejecuta proyectos
de cliente.
Una vez completada la etapa de trainee, que dura de 2 a 3 meses, la persona pasa
a ser DevOps Engineer Junior, integrándose a trabajar en los proyectos de
clientes.
Funciones
- Empaquetar aplicaciones en contenedores.
- Instalar y gestionar orquestadores de contenedores.
- Configurar pipelines de integración, entrega y despliegue continuos.
- Desplegar aplicaciones en los orquestadores usando pipelines de CI/CD.
- Automatizar la creación de servidores, redes, almacenamiento, etc.
- Implementar servicios en nubes públicas y privadas.
- Configurar monitoreo de aplicaciones y servidores.
Aptitudes personales
- Capacidad de aprendizaje: el trabajo requiere aprender constantemente
nuevas herramientas y tecnologías."
- Resolución de problemas: para el desarrollo de nuestras soluciones es
importante poder comprender la esencia de cada problema, generar las posibles
alternativas de resolución e implementar la más conveniente, según las
necesidades específicas del proyecto."
- Proactividad: generar, proponer e implementar ideas y soluciones por
motivación propia.
- Buena capacidad de comunicación: para la interacción con los clientes y
con el propio equipo, es importante poder comunicarse claramente, tanto de
forma oral como escrita.
- Trabajo en equipo: nuestro trabajo es complejo y por ello conformamos
equipos que permitan potenciar las capacidades y conocimientos de todos.
- Capacidad de organización y cumplimiento de los compromisos asumidos:
disponer de horarios flexibles y trabajar de forma remota no puede afectar el
cumplimiento de los compromisos con los clientes ni con el equipo, lo que
requiere una buena capacidad de organización y asumir la responsabilidad
necesaria.
- Trabajo bajo presión: si bien no es lo habitual y las buenas prácticas que
adoptamos y promovemos apuntan a evitar los inconvenientes, trabajar con
servicios en producción implica que, a veces, se deba resolver problemas con
la presión de solucionarlos lo antes posible.
Conocimientos profesionales
- Al menos dos lenguajes de programación: Python, Javascript, PHP, Java, etc.
- Al menos un framework de desarrollo.
- Redes: esquemas de direccionamiento del modelo TCP/IP, conceptos de
subnetting, tablas de ruteo, NAT, DNS, HTTP.
- Uso de GIT básico: clone, pull, push, branches. Resolver conflictos. Utilizar
los flujos de GitHub y Gitlab basados en Pull y Merge Requests
respectivamente.
- Instalación de sistemas operativos Linux, manejo de la consola para la
administración y configuración del sistema. Shell scripting.
- Uso de variables de entorno.
- Uso de expresiones regulares.
- Bases de datos relacional: uso básico de MySQL o PostgreSQL desde la consola.
- Markups: conocer y saber utilizar los formatos JSON, YAML, XML y Markdown.
- Comprensión de textos y videos en Inglés. Capacidad de comunicación oral y
escrita es un plus importante.