Descripción
**Descripción de la empresa**
Colliers es una empresa líder diversificada de servicios profesionales y gestión de inversiones. Con operaciones en 68 países, nuestras 22 000 personas emprendedoras trabajan de forma colaborativa para ofrecer asesoramiento experto que maximice el potencial de los bienes inmuebles y los activos reales, acelerando así el éxito de nuestros clientes, inversores y empleados.
Estamos a la vanguardia del sector inmobiliario, liderando el camino con un historial excepcional de éxitos. Construimos nuestro futuro — *y el suyo.*
Nos esforzamos por desarrollar nuestro negocio a un ritmo competitivo mediante el crecimiento interno reforzado con adquisiciones estratégicas inteligentes que incrementen nuestra cuota de mercado, amplíen nuestras ofertas de servicios y extiendan nuestro alcance geográfico, todo ello en beneficio de nuestros clientes y accionistas.
Durante más de 29 años, Colliers ha generado valor para sus accionistas, lo que se ha traducido en rendimientos superiores y crecimiento sectorial. Nuestros empleados también poseen una participación significativa en la empresa, lo que les otorga un profundo sentido de propiedad sobre todo lo que hacemos. Somos apasionados, asumimos responsabilidades personales y siempre actuamos con integridad en beneficio de nuestros clientes, nuestros empleados y nuestras comunidades.
**Descripción del puesto**
* Propósito del puesto
Buscamos un **Ingeniero de Software Principal** experimentado y apasionado para nuestro **nuevo centro tecnológico** en Madrid. Esta es una oportunidad única para formar parte del equipo fundador que contribuya a dar forma a la cultura, las prácticas y la dirección técnica. Trabajando en un **modelo híbrido** (teletrabajo y presencial), disfrutará de una gran libertad para **innovar e influir** en el futuro de una de las mayores empresas mundiales de bienes raíces comerciales. Al estar liderado el centro tecnológico global por profesionales con experiencia en startups tecnológicas, contará con un entorno de aprendizaje dinámico, una alta visibilidad de sus contribuciones y oportunidades para moldear procesos, cultura y estrategias tecnológicas. Al mismo tiempo, podrá aprovechar la estabilidad, los recursos y el alcance de una **empresa global exitosa**.
Guiado por nuestra estrategia digital global, el centro de Madrid colabora estrechamente con equipos internacionales para ofrecer **soluciones tecnológicas de clase mundial** que impulsen el futuro del sector inmobiliario comercial.
Como Ingeniero de Software Principal, desempeñará un papel fundamental al **traducir los requisitos empresariales y funcionales en arquitecturas de sistemas robustas, escalables y evolutivas**. Este puesto va más allá de los requisitos actuales: usted **anticipará activamente las necesidades empresariales futuras, las tendencias tecnológicas emergentes y la evolución arquitectónica**, asegurando que nuestras plataformas sigan siendo resistentes, adaptables y alineadas con la estrategia a largo plazo.
Trabajará estrechamente con **interesados empresariales, líderes de producto, ingenieros y equipos de plataforma** para identificar requisitos implícitos, cuestionar suposiciones y definir soluciones que aporten un valor empresarial duradero. Se trata de un puesto de alto impacto con una influencia considerable sobre la **dirección tecnológica, los estándares arquitectónicos y el diseño de sistemas en múltiples productos y regiones.**
Su experiencia contribuirá directamente a la calidad de aplicaciones modernas front-end basadas en componentes, desarrolladas con React y TypeScript, así como de servicios back-end robustos desarrollados en .NET.
Usted es un **solucionador práctico de problemas**, con sólidos principios de calidad, que prospera en un entorno colaborativo y ágil. Este puesto le ofrece la oportunidad de influir profundamente en la dirección técnica y de servir como puente entre los intereses empresariales y los equipos técnicos, construyendo soluciones con un auténtico impacto empresarial.
* Funciones esenciales y responsabilidades del puesto
**Arquitectura y diseño de sistemas**
* Diseñar y evolucionar arquitecturas de sistemas de extremo a extremo basadas en **requisitos funcionales y no funcionales**, equilibrando objetivos empresariales, escalabilidad, seguridad, rendimiento y coste.
* Elaborar **artefactos arquitectónicos** claros (diagramas, registros de decisiones, implementaciones de referencia) que guíen a los equipos de ingeniería durante la implementación.
* Traducir necesidades empresariales de alto nivel en **diseños arquitectónicos claros y pruebas de concepto**, incluyendo límites del sistema, patrones de integración, flujos de datos y elecciones tecnológicas.
* Garantizar que la arquitectura sea **modular, mantenible, segura, eficiente y adaptable** a requisitos futuros.
* Formular las **preguntas adecuadas** para identificar **requisitos implícitos, ocultos o contradictorios**, que no resultan fácilmente evidentes debido a su naturaleza.
* Cuestionar suposiciones y proponer soluciones alternativas cuando los requisitos introduzcan complejidad innecesaria o riesgos a largo plazo.
**Liderazgo técnico y gobernanza**
* Trabajar **estrechamente** con los gerentes de ingeniería y actuar como **asesor de confianza** para los equipos de ingeniería de software.
* Garantizar la coherencia y la calidad mediante **revisiones arquitectónicas, recorridos de diseño y foros técnicos de gobernanza**.
* **Identificar brechas** o fricciones entre los estándares corporativos y las necesidades prácticas de entrega, y proponer mejoras de forma proactiva.
* Asegurar la conformidad arquitectónica mediante la **influencia**, el **acompañamiento** y la **colaboración en el diseño**, en lugar de una aplicación formal.
**Colaboración y habilitación de la entrega**
* Trabajar estrechamente con los equipos de **ingeniería de software, gestión de producto, DevOps y EngOps**, para garantizar la alineación arquitectónica durante toda la fase de entrega.
* Colaborar con los equipos de DevOps e ingeniería en la nube para asegurar que las arquitecturas de aplicaciones se alineen con las capacidades de la plataforma, las canalizaciones CI/CD y los modelos operativos.
* Colaborar con las operaciones de ingeniería para garantizar que las decisiones arquitectónicas respalden las métricas de entrega, los objetivos de fiabilidad y la excelencia operativa.
* Apoyar a los equipos de ingeniería durante la implementación, ayudándolos a resolver desafíos complejos de diseño o integración.
* Garantizar que la arquitectura se alinee con los **requisitos de seguridad, cumplimiento y normativos** aplicables en todas las regiones.
**Cualificaciones** **Habilidades/experiencia requeridas:**
* 12 o más años de experiencia en ingeniería de software y al menos 5 o más años en **puestos de arquitectura de software o diseño de sistemas**.
* Capacidad comprobada para diseñar **sistemas complejos, distribuidos y escalables**.
* Profundo conocimiento de **arquitecturas orientadas a servicios (SOA), microservicios, arquitecturas orientadas a eventos y desarrollo de API (REST/GraphQL)**.
* Amplia experiencia en **arquitecturas back-end modernas** (por ejemplo, .NET, microservicios, sistemas orientados a eventos, API) y en **arquitecturas front-end modernas** (por ejemplo, React, TypeScript), así como en su integración con servicios back-end.
* Conocimientos avanzados de **arquitecturas nativas en la nube y contenerización**.
* Experiencia con bases de datos SQL y NoSQL (por ejemplo, SQL Server o PostgreSQL, Cosmos DB, MongoDB), así como con cachés mediante Redis u otras similares.
* Comprensión sólida de los **requisitos no funcionales**: rendimiento, escalabilidad, disponibilidad, seguridad y observabilidad.
* Excelentes habilidades comunicativas, con capacidad para explicar conceptos técnicos complejos a **interesados no técnicos**, así como para **influir** en la dirección técnica sin autoridad de gestión directa; dominio fluido del inglés y del español.
* Experiencia en desarrollo ágil (Scrum/Kanban), incluyendo estimación de historias, revisiones de código y programación en pareja.
* Experiencia trabajando en equipos distribuidos o remotos y utilizando herramientas como Jira, GitHub, Miro y Azure DevOps.
* Conocimientos sólidos sobre optimización del rendimiento.
* Entusiasmo por construir productos de software de alta calidad con equipos empoderados.
* Conocimiento de prácticas seguras de desarrollo y marcos normativos (por ejemplo, ISO27001, GDPR, SOC2).
**Habilidades/experiencia deseables:**
* Experiencia con herramientas de pruebas de rendimiento y pruebas de seguridad.
* Experiencia trabajando en una organización global y multicultural.
* Conocimiento de diseño guiado por el dominio (DDD) y arquitectura orientada a eventos.
* Capacidad para trabajar en un entorno tecnológico dinámico y en rápido crecimiento, y para impulsar el cambio en organizaciones de mayor tamaño.
* Experiencia colaborando estrechamente con DevOps, CloudOps, SRE y familiaridad con canalizaciones CI/CD e infraestructura como código (IaC)