$ cat ~/experience/innovasur-phase-2.log
Technical Lead · Project Manager
Liderazgo técnico y gestión de proyectos, combinando arquitectura de software, desarrollo hands-on, coordinación de equipos e infraestructura Cloud y On-Premise.
may 2024 — actualidad · Jaén (Híbrido)
- Angular
- NestJs
- Software Architect
- Cloud Infrastructure
- Team Management
- Project Management
Una evolución natural
En mayo de 2024, mi trayectoria en Innovasur dio un nuevo paso, formalizando una evolución que ya se venía produciendo dentro del proyecto Smart City. A medida que crecían la plataforma, los clientes y el equipo, también lo hacían mis responsabilidades, pasando del desarrollo de software a asumir un papel más amplio en la dirección técnica y la gestión de proyectos.
Desde entonces, mi trabajo combina distintas facetas de la ingeniería de software. Participo en el análisis de necesidades, el diseño de soluciones, las decisiones arquitectónicas, el desarrollo de componentes críticos y la coordinación de los equipos encargados de llevarlas a producción.
Mi objetivo es mantener una visión global de cada proyecto sin perder el contacto directo con la tecnología, conectando las necesidades del negocio con soluciones técnicas viables, mantenibles y adaptadas a cada contexto.
Arquitectura y desarrollo de software
Continúo involucrado directamente en el ciclo de vida completo del software, desde la identificación de necesidades y el diseño inicial hasta la implementación, optimización y puesta en producción.
- Diseño de soluciones y arquitectura: definición de arquitecturas, tecnologías, herramientas, patrones y estrategias de implementación según los requisitos funcionales y técnicos de cada proyecto.
- Desarrollo hands-on: implementación de nuevas funcionalidades y desarrollo de componentes, servicios y sistemas críticos, tanto desde cero como mediante la evolución y optimización de plataformas existentes.
- Calidad y estándares técnicos: revisión de código, definición de buenas prácticas y establecimiento de criterios comunes para mantener la calidad, consistencia y mantenibilidad del software.
- Resolución de problemas complejos: análisis de incidencias, cuellos de botella y desafíos técnicos, ayudando al equipo a desbloquear problemas y encontrar soluciones adecuadas.
- Evolución tecnológica: evaluación e incorporación de nuevas tecnologías y herramientas cuando aportan mejoras reales a las soluciones y a los procesos de desarrollo.
Liderazgo técnico y gestión de equipos
Como referente técnico, acompaño al equipo durante el desarrollo de los proyectos, ayudando a convertir los requisitos en soluciones concretas y facilitando la toma de decisiones técnicas.
- Dirección técnica: establecimiento de criterios y directrices de desarrollo, coordinación de las decisiones arquitectónicas y seguimiento de la implementación de las soluciones.
- Mentoría y soporte: acompañamiento a los desarrolladores, resolución de dudas y apoyo técnico ante problemas complejos o bloqueos que afectan al progreso del equipo.
- Organización del trabajo: coordinación de tareas, prioridades y dependencias técnicas para facilitar una ejecución ordenada y alineada con los objetivos del proyecto.
- Selección de talento: participación en procesos de contratación, incluyendo la definición de pruebas técnicas, su evaluación y la realización de entrevistas para identificar perfiles adecuados a las necesidades del equipo.
- Mejora de procesos internos: identificación de necesidades organizativas y técnicas, definición de protocolos de trabajo y establecimiento de prácticas que mejoren la colaboración, la calidad y la eficiencia del equipo.
Gestión de proyectos y relación con clientes
Mi responsabilidad también abarca la coordinación de los proyectos desde una perspectiva global, actuando como nexo entre las necesidades de los clientes, los objetivos de la compañía y la capacidad de ejecución de los equipos técnicos.
- Planificación y seguimiento: definición del alcance, objetivos, entregables, prioridades y cronogramas, supervisando el progreso y anticipando posibles desviaciones.
- Análisis de requisitos: comunicación directa con clientes y otras partes interesadas para identificar necesidades, aclarar requisitos y definir soluciones que respondan a sus expectativas.
- Gestión de recursos y riesgos: coordinación de la capacidad del equipo, identificación de dependencias, anticipación de riesgos y resolución de problemas que puedan comprometer los plazos o los resultados.
- Coordinación técnico-funcional: traducción de necesidades de negocio en requisitos técnicos, facilitando la comunicación entre los distintos perfiles implicados.
- Seguimiento de entregables: supervisión de la calidad y validación de que las soluciones cumplen los requisitos acordados antes de su entrega.
Infraestructura, Cloud y On-Premise
Además del desarrollo de software, diseño y coordino infraestructuras destinadas a desplegar y operar las soluciones, adaptándolas a los requisitos técnicos, operativos y de seguridad de cada cliente.
- Arquitectura Kubernetes: diseño, planificación e implementación de clústeres desde cero, definiendo su configuración y organización según las necesidades de cada entorno.
- Infraestructura On-Premise: planificación de instalaciones en servidores de clientes, incluyendo la selección del hardware y la adaptación de la infraestructura a sus condiciones operativas.
- Plataformas Cloud: diseño y despliegue de soluciones en proveedores como Microsoft Azure, Amazon Web Services (AWS), Google Cloud Platform (GCP) y OVHcloud.
- Entornos SaaS y On-Premise: diseño y mantenimiento de estrategias de despliegue adaptadas al modelo de operación de cada cliente.
- Operación y optimización: configuración y ajuste de los entornos para responder a los requisitos de rendimiento, escalabilidad, seguridad, disponibilidad y estabilidad de cada proyecto.
Una visión transversal de la ingeniería
Esta etapa representa la consolidación de mi perfil como ingeniero de software con responsabilidades de arquitectura, liderazgo técnico y gestión de proyectos.
Mi día a día abarca desde escribir código y diseñar servicios hasta tomar decisiones de arquitectura, organizar el trabajo de los equipos, participar en la selección de nuevos compañeros y hablar directamente con los clientes para entender qué necesitan y cómo podemos resolverlo.
Esa combinación me permite conectar las distintas partes de un proyecto, anticipar problemas y tomar decisiones teniendo en cuenta tanto la solución técnica como las personas, los recursos y los objetivos que hay detrás.
Más que limitarme a una única función, mi papel consiste en acompañar los proyectos de principio a fin, aportando tanto capacidad de ejecución técnica como visión global para convertir necesidades complejas en soluciones reales.