Empresa busca Ingeniero Senior Golang para desarrollo de aplicaciones cloud-native a gran escala, trabajando con Kubernetes, contenedores y sistemas distribuidos. Se requiere experiencia en Golang, TDD y resolución de problemas en producción.
Si sos un crack de Golang y te copan los desafíos en entornos cloud-native a gran escala, este puesto remoto es para vos. Vas a laburar con Kubernetes y sistemas distribuidos, metiéndole a TDD y a resolver problemas en producción.
Puesto: Ingeniero Senior Golang Tipo: Remoto Horario: Pacífico (8:00 AM – 5:00 PM PST) Descripción del puesto: Buscamos un Ingeniero Senior Golang con experiencia para unirse a nuestro equipo de ingeniería. Este rol se enfoca en construir y mantener aplicaciones cloud-native a gran escala con Golang, trabajando extensivamente con Kubernetes, contenedores y sistemas distribuidos. El candidato ideal tiene experiencia profunda en Golang, disfruta depurando entornos de producción complejos y prospera en una cultura de ingeniería de ritmo rápido con un fuerte énfasis en la calidad del código y el Desarrollo Guiado por Pruebas (Test Driven Development). Responsabilidades clave: Desarrollo en Golang - Diseñar, desarrollar, refactorizar y mantener bases de código Golang a gran escala. - Demostrar conocimiento profundo de Golang, incluyendo el funcionamiento interno del lenguaje. - Leer, comprender y contribuir a bases de código existentes complejas. - Escribir pruebas unitarias y de integración completas utilizando la biblioteca estándar de Golang, Ginkgo y Gomega. - Aplicar prácticas de Desarrollo Guiado por Pruebas (TDD) durante todo el ciclo de vida del desarrollo de software. Solución de problemas y depuración - Solucionar problemas de aplicaciones en producción utilizando logs, profiling y herramientas de depuración. - Investigar y resolver problemas de rendimiento en sistemas distribuidos. - Analizar problemas de producción e implementar soluciones a largo plazo para mejorar la confiabilidad. Kubernetes y Plataformas de Contenedores - Desplegar, escalar y mantener aplicaciones que se ejecutan en Kubernetes. - Trabajar con el funcionamiento interno de Kubernetes, incluyendo la gestión de cuotas de recursos y el comportamiento del clúster. - Optimizar cargas de trabajo que se ejecutan en entornos contenerizados. - Utilizar Docker y tecnologías de contenedores como parte del ciclo de vida de entrega de software. Linux, Infraestructura y Monitoreo - Aprovechar el conocimiento del sistema Linux, incluyendo grupos de control (cgroups) y gestión de recursos. - Trabajar con bases de datos PostgreSQL en entornos de producción. - Utilizar Prometheus y herramientas de monitoreo para observar la salud y el rendimiento de las aplicaciones. - Contribuir a la confiabilidad y observabilidad de los servicios cloud-native. Desarrollo de API y Microservicios - Diseñar y desarrollar servicios de API RESTful utilizando Golang. - Construir microservicios escalables basados en web y HTTP. - Colaborar con equipos de ingeniería para entregar aplicaciones distribuidas confiables y de alto rendimiento. Calificaciones: Educación y Experiencia - Título de grado en Ciencias de la Computación, Ingeniería o un campo relacionado (preferido). - Más de 5 años de experiencia profesional en desarrollo de software utilizando Golang. - Experiencia comprobada trabajando con Kubernetes y tecnologías de contenedores. - Sólidas habilidades para la resolución de problemas y capacidad para trabajar eficazmente en un entorno de ritmo rápido. Habilidades Técnicas - Profunda experiencia en desarrollo Golang. - Fuerte comprensión del funcionamiento interno de Kubernetes y la gestión de recursos. - Experiencia práctica con Docker y tecnologías de contenedores Linux. - Experiencia en el desarrollo de APIs y microservicios. - Dominio de PostgreSQL. - Experiencia utilizando Prometheus o plataformas de monitoreo similares. - Fuertes habilidades de depuración y profiling de rendimiento. - Experiencia practicando Desarrollo Guiado por Pruebas (TDD) con Ginkgo y Gomega. Habilidades Preferidas - Experiencia leyendo y comprendiendo código Java. - Fuerte experiencia en programación en Python o Java junto con entornos Kubernetes. - Experiencia trabajando con monorepositorios. - Familiaridad con herramientas de CI y pipelines de compilación automatizados. - Experiencia con Bazel como sistema de compilación. Habilidades Blandas - Fuertes habilidades analíticas y de resolución de problemas. - Excelentes habilidades de comunicación y colaboración. - Capacidad para trabajar de forma independiente y contribuir eficazmente dentro de un equipo de ingeniería distribuido. - Comodidad trabajando en un entorno altamente técnico y de ritmo rápido.