Descripción
Ingeniero Fullstack Senior
Descripción del puesto: Buscamos un ingeniero senior full-stack altamente calificado y experimentado, con un mínimo de 5 años de experiencia práctica tanto en desarrollo backend como frontend. El candidato ideal será competente en las tecnologías más recientes y poseerá una profunda comprensión de la arquitectura de software, los patrones de diseño y las mejores prácticas. Como desarrollador full stack, desempeñará un papel clave en el diseño, desarrollo y mantenimiento de nuestras aplicaciones web, garantizando alto rendimiento, capacidad de respuesta y experiencias de usuario sin interrupciones.
Responsabilidades:
* Desarrollo full-stack: Colaborar con equipos multifuncionales para diseñar e implementar soluciones de extremo a extremo, cerrando la brecha entre los aspectos frontend y backend de nuestras aplicaciones.
* Desarrollo backend: Desarrollar aplicaciones robustas y escalables del lado del servidor, APIs y bases de datos utilizando tecnologías y frameworks de vanguardia. Garantizar alto rendimiento, seguridad y fiabilidad de los sistemas backend.
* Desarrollo frontend: Crear interfaces responsivas y fáciles de usar mediante frameworks modernos de frontend como React, Next.js, Angular o Vue.js. Implementar y mantener experiencias de usuario visualmente atractivas e intuitivas.
* Arquitectura y diseño: Participar en discusiones y decisiones arquitectónicas, aportando experiencia en el diseño de soluciones de software escalables y mantenibles. Impulsar las mejores prácticas en codificación, pruebas y documentación.
* Revisión de código y colaboración: Realizar y participar en revisiones de código para mantener la calidad del código. Colaborar eficazmente con otros miembros del equipo, incluidos diseñadores y gerentes de producto.
* Optimización del rendimiento: Identificar y resolver cuellos de botella de rendimiento tanto en componentes frontend como backend. Implementar optimizaciones para mejorar la velocidad y eficiencia de la aplicación.
* Pila tecnológica: Mantenerse al día con las últimas tendencias en desarrollo web y promover la adopción de nuevas tecnologías y herramientas que puedan mejorar los procesos de desarrollo y la calidad del producto.
Requisitos:
* Formación académica: Licenciatura en Ciencias de la Computación, Ingeniería o campo relacionado.
* Experiencia: Mínimo 5 años de experiencia profesional en desarrollo full-stack, con énfasis sólido tanto en tecnologías frontend como backend.
* Tecnologías backend: Competencia en la construcción de servicios backend y APIs con Node.js/TypeScript (NestJS) y/o Python (FastAPI, Django/Flask).
* Diseño de sistemas: Experiencia diseñando servicios escalables y resilientes (límites de servicio, modelado de datos, caché, mensajería, observabilidad y consideraciones de rendimiento).
* Diseño de software: Conocimientos sólidos y experiencia práctica con los principios SOLID, patrones de diseño comunes y buenas prácticas de código limpio.
* DDD (Diseño impulsado por el dominio): Experiencia aplicando conceptos de DDD (contextos acotados, agregados, entidades/objetos de valor, eventos de dominio) para estructurar sistemas complejos.
* Diseño de APIs: Comprensión sólida del diseño de APIs REST (modelado de recursos, versionado, paginación, manejo de errores, idempotencia y documentación).
* Autenticación y seguridad: Experiencia con OAuth2/OpenID Connect, conceptos de proveedores de identidad (IdP) y conceptos básicos de criptografía (hashing, cifrado, firma y gestión de claves) aplicados en software.
* Nube: Experiencia desplegando aplicaciones en AWS (por ejemplo, cómputo, redes, almacenamiento, IAM) y trabajando con patrones nativos de la nube.
* CI/CD: Experiencia práctica construyendo y manteniendo pipelines de CI/CD (compilación, pruebas, verificaciones de seguridad, despliegue) y procesos de lanzamiento.
* Pruebas: Conocimientos sólidos sobre pruebas unitarias (diseño de pruebas, simulación, cobertura) y experiencia con prácticas de pruebas automatizadas.
* Buenas prácticas de ingeniería de software: Revisiones de código, refactorización, documentación, observabilidad y colaboración en un entorno ágil.
* Tecnologías frontend: Experticia en frameworks modernos de frontend como React, Angular, TypeScript o Vue.js. Habilidades sólidas en HTML, CSS y JavaScript.
* Bases de datos: Experiencia con bases de datos relacionales y no relacionales (por ejemplo, MySQL, PostgreSQL, MongoDB).
Deseable:
* Experiencia más profunda en aprendizaje automático, redes neuronales, ingeniería de indicaciones (prompt engineering) y ajuste fino/entrenamiento y despliegue de modelos de lenguaje de gran tamaño (LLM).
* Fundamentos de ingeniería de IA: Familiaridad con los fundamentos de los LLM, ingeniería de indicaciones (prompt engineering), búsquedas por vectores/incrustaciones (embeddings/vector search) e integración de capacidades de IA en aplicaciones.
* Control de versiones: Competencia en Git para control de versiones y desarrollo colaborativo.
* DevOps: Familiaridad con plataformas en la nube (Azure, AWS y GCP) y experiencia en contenerización (Docker) y orquestación (Kubernetes) es un plus.
* Habilidades comunicativas: Excelentes habilidades comunicativas y de colaboración, con capacidad para transmitir conceptos técnicos complejos tanto a partes interesadas técnicas como no técnicas.