Principal Software Engineer – Technology
Summary
Leads technical teams to design, build, and maintain scalable, data-driven web solutions, overseeing full-stack development (Java/.NET), server management, cloud deployments, and team mentorship in a remote agency setting.
Como Principal Software Engineer – Technology, liderarás un equipo interdisciplinario encargado de crear soluciones digitales basadas en datos y orientadas a Internet de clase mundial. Serás responsable del éxito de todos los aspectos técnicos y funcionales de los proyectos.
Responsabilidades
- Liderar el diseño técnico y la implementación de soluciones prácticas, escalables y fáciles de mantener.
- Asumir la responsabilidad sobre la programación, instalación, configuración, documentación, operación, monitoreo y mantenimiento de entornos de hardware y software web.
- Participar en actividades de investigación y desarrollo tecnológico para contribuir a la innovación de los servicios.
- Desarrollar y cumplir estándares de programación.
- Instalar certificados SSL, optimizar servidores y configurar dominios, URLs personalizadas (vanity URLs) y subdominios.
- Realizar despliegues de servidores en ambientes Desarrollo, Stage y Producción (Dev/Stage/Prod).
- Crear scripts automatizados para despliegues, como ANT y NANT.
- Identificar soluciones de hardware y software adecuadas para soportar las necesidades de los proyectos de los clientes.
- Mantenerse actualizado sobre la evolución de los estándares web.
- Realizar revisiones de código y desarrollar y mantener estándares de programación.
- Promover el conocimiento y la adopción de tecnologías emergentes relevantes dentro del equipo.
- Brindar mentoría a miembros más junior del equipo.
- Actuar como referente y experto reconocido en el área de especialización.
- Experiencia en desarrollo web, preferiblemente en una agencia creativa.
- Amplio conocimiento del entorno digital.
- Capacidad demostrada para trabajar eficazmente como miembro técnico dentro de equipos pequeños.
- Experiencia desarrollando e implementando entre 3 y 5 soluciones web basadas en Java o .NET.
- Experiencia diseñando esquemas de datos e integrando bases de datos relacionales en soluciones web.
- Experiencia con servicios web, preferiblemente RESTful, tanto del lado del servidor como del cliente.
- Sólido conocimiento de soluciones web que utilizan un Sistema de Gestión de Contenidos (CMS).
- Dominio de HTML y CSS.
- Conocimientos avanzados de desarrollo en JavaScript, incluyendo jQuery, Ajax y DOM.
- Sólidos conocimientos de Java o .NET/C#, incluyendo:
- Servicios web.
- JSP/ASP.
- Reconstrucción y despliegue de aplicaciones Java o .NET en entornos de servidor.
- Uso de frameworks de código abierto como Lucene.
- Mantenimiento de Servlets.
- Herramientas IDE como Eclipse o Visual Studio.
- Dominio de XML y comprensión de su función y aplicación en proyectos de software complejos.
- Sólido conocimiento de metodologías de ingeniería de software, como diseño orientado a objetos y patrones de diseño, incluyendo MVC.
- Habilidades de administración de servidores web y servidores de aplicaciones, preferiblemente Apache, Tomcat, entre otros.
- Conocimientos y experiencia trabajando con SQL, modelos de datos relacionales y sistemas de bases de datos, especialmente en soporte de sitios web y arquitecturas relacionadas.
- Experiencia implementando soluciones web basadas en la nube, por ejemplo Amazon/AWS (preferiblemente).
- Dominio de entornos Windows como plataforma de desarrollo.
- Sólidos conocimientos de UNIX, incluyendo comandos de shell, scripting de shell y Ant; experiencia accediendo remotamente a sistemas mediante SSH, Telnet y FTP.
- Sólida experiencia en metodologías de testing, diseño orientado a pruebas y creación de casos de prueba efectivos y confiables.
- Familiaridad con metodologías de seguridad web, como la gestión de certificados SSL.
- Experiencia diseñando y desarrollando soluciones web accesibles.
- Dominio en la elaboración de requerimientos técnicos y en la definición de procesos relacionados.
- Buenas habilidades de trabajo en equipo, incluyendo capacidad para negociar y resolver conflictos de manera diplomática.
- Disponibilidad para viajar cuando sea necesario y apertura para conocer nuevos lugares, personas e ideas.
- Dominio del inglés avanzado C1 - C2.
- Trabajo 100% remoto
- Abierto a aspiraciones salariales.