Oriol Barcelona, software engineer en Dynatrace

Hola Oriol, ¿Quién eres y cuál es tu background?

Mis amigos me llaman Uri, tengo 34 años y actualmente soy ingeniero de software y team lead en Dynatrace. 

Mi primer programa fue antes de los 15 años, no recuerdo exactamente la edad, cuando mi padre me enseñó algunos programas de contabilidad que tenía hechos en BASIC. Me picó la curiosidad así que empecé yo también a programar alguna cosilla. En el colegio descubrí el mundillo de Visual Basic y posteriormente la WWW así que decidí estudiar ingeniería informática en Barcelona (fuertemente influenciado por mi adicción al counter strike porque nos vamos a engañar). 

En la carrera disfrutaba con todo lo relacionado con software y sufría muchísimo con el hardware así que en mi primer trabajo, aún no terminada la carrera, fue en una pequeña consultoría, Linecom Networks, donde empecé programando en Java 1.4 y PL/SQL de Oracle y acabe conociendo también el mundillo de Spring Framework.

Después de un proyecto en PHP (ALT17) que no duró apenas un año, tuve mis primeros contactos con el desarrollo enterprise en Tomtom Telematics, donde aprendi muchisimo sobre cómo manejarse en grandes compañías gracias a que durante un tiempo tube un rol compartido de Agile Coach también.

Actualmente estoy trabajando en Dynatrace, una compañía donde hacemos el software para hacer mejor software, sobretodo focalizados en grandes compañías.

¿Qué es Dynatrace y cuál es tu papel dentro de la empresa?

Dynatrace es una plataforma de monitorización de software, optimizada  para los casos de uso de las grandes compañías. Actualmente, su principal funcionalidad se basa en agentes específicos para cada tecnología que mandan datos a un cluster de servidores que procesa, agrega y distribuye la información para ser explotada posteriormente. 

Digo actualmente porque creo que Dynatrace dará mucho que hablar a corto/medio plazo: se están trabajando hacia nuevos conceptos para abrir más la plataforma y añadir nuevas soluciones que abrirán mucho más el abanico de funcionalidades.

A nivel personal, actualmente soy el team lead del equipo Atlas, donde nos encargamos de construir una UI capaz de visualizar datos de nuestros sistemas de persistencia. Somos un equipo de 4 ingenieros de distintas partes del mundo: Ramón de Santander (España), Yngrid de Caracas (Venezuela), Luca de Nápoles (Italia) y yo mismo que soy de Barcelona (por mi apellido no podría ser de otra manera :))

¿Cómo es para tí un día típico de trabajo?

Tengo una rutina bastante establecida: desde que soy padre intento ir al gimnasio temprano, sobre las 7 de la mañana y así poder irme mas temprano. Entro a trabajar sobre las 8:30, donde desayuno mientras reviso correos electrónicos, mensajes de slack y pull requests. Cuando termino, si tengo tiempo antes del daily standup dedico un poco de tiempo a la formación: leer artículos, buscar alguna manera de refactorizar alguna parte del código, hacer algún cursillo de udemy, entre otros. Después del daily (sobre las 10), suelo tener una mañana donde combino el desarrollar, con algún meeting y con muchos cafés :)

Por la tarde suelo rechazar cualquier meeting excepto que sea totalmente necesario ya que quiero tener espacio para desarrollar y para atender al equipo con discusiones técnicas y programar juntos.

Tu título actual es Software Engineer, ¿en qué parte del stack te sientes más cómodo? ¿Por qué?

Aunque mi background es más javero de backend, me he tenido que reciclar bastante y aprender el stack usado en Dynatrace para la UI: la última versión de Angular (actualmente la 9). No nos vamos a engañar, aun flojeo en ciertos aspectos, especialmente en CSS y algunos conceptos más avanzados de Angular (como el manejo del CDK), pero en 1 año he adquirido cierta solvencia y estoy bastante contento con lo que soy capaz de hacer ahora mismo.

De este proceso de transformación valoro especialmente los conocimientos que he adquirido en programación reactiva (RxJS), ya que creo que es un modelo de programación que se acerca bastante a mi estilo más funcional y menos procedural y que me puede ser útil en cualquier contexto de desarrollo. También disfruto mucho descubriendo mas y mas Typescript: ya me gustaba programar en JavaScript pero siempre había echado de menos la seguridad de los tipos y creo que Typescript es un bonito balance entre flexibilidad y seguridad.

Por supuesto, también tengo conocimientos a nivel del servidor de Dynatrace, donde destacaría por encima de todo el hecho de no usar ningún framework, lo cual hace que desaparezcan todas las preconfiguraciones y que tengas que saber realmente qué es lo que tienes entre manos.

¿Cómo es tu equipo y tus compañeros?

Mis compañeros de equipo son fantásticos, la verdad es que me siento súper cómodo con ellos. Creo que hemos conseguido generar esa área segura donde todo el mundo es respetado y escuchado. Como team lead a veces tengo que tomar algunas decisiones pero creo que es algo que se ha reducido a contadas ocasiones y esto es fruto del buen trabajo que hemos hecho juntos y la honestidad con la que nos hemos tratado.

Creo que una de las cosas que nos ha ayudado a comprendernos mejor son las sesiones de mob programming que realizamos, las recomiendo para equipos que quieran experimentar y conocerse unos a los otros.

Una de las cosas que más me gusta de ellos es que están abiertos a hacer lo que sea con el objetivo de contribuir al éxito. Creo que esto es una cualidad que a veces es difícil encontrar en grandes empresas, donde normalmente se contrata a gente para perfiles muy específicos, y el personal es un poco reacio a salirse de su zona de confort.

¿Qué cosas haces como team lead para que los miembros de tu equipo crezcan?

Soy un team lead que promueve constantemente la participación de mis compañeros ya que me mi pasión es el desarrollo y necesito tiempo para ello :) 

Así que intento que mis compañeros tomen parte de muchas de las cosas que se supone que debe hacer un team lead: hablar con stakeholders, alinearse con otros equipos, refinar user stories, investigar peticiones de soporte de usuarios, por decir algunas. A mi me gusta pensar que yo soy responsable de que esas cosas pasen, pero no quiere decir que deba hacerlo todo yo.

Eso abre un espacio de tiempo para satisfacer mis necesidades para desarrollar pero también les hace crecer muchísimo a ellos ya que interactúan con otras partes de la compañía y adquieren un conocimiento global super importante para tomar buenas decisiones.

¿Cómo os organizáis y coordinais con el resto de equipos técnicos?

Dentro del equipo utilizamos metodologías ágiles, una especie de scrum muy propio, basado en la comunicación constante y el trabajo en equipo, que nos hemos ido forjando durante los casi 2 años que llevamos trabajando juntos. Una de las cosas que nos facilita la preparación del backlog es el constante contacto con el Product Manager, que acude, cuando es posible, a la mayoría de ceremonias, aportando feedback y visión a largo plazo cuando es necesario.

Con el laboratorio de Barcelona tenemos un meeting semanal para discutir temas que afectan a todos los equipos. En nuestro caso tratamos también con equipos de otros laboratorios. 

En Linz (Austria) es donde nació Dynatrace y donde hay el mayor volumen de desarrolladores trabajando mayoritariamente en el backend y en los agentes encargados de recolectar información.

También solemos trabajar con el lab de Gdansk (Polonia), mayoritariamente con un equipo encargado de construir el core de la interfaz de usuario del producto. 

Con ambos laboratorios, la comunicación es totalmente bajo demanda, cuando es necesario se busca un hueco para hablar de un tema en concreto.

A nivel de departamento de R&D, tenemos varios blogs internos, pero sí destacaría el de nuestro CTO donde se nos informa de decisiones estratégicas que va a tomar la compañía o de cambios que habrá en el futuro.

¿Qué es lo que más te llamó la atención cuando empezaste a trabajar en Dynatrace?

Lo que más me llamó la atención y, para ser honestos, una de las cosas que más me gusta, es el nivel técnico que hay en la compañía. No estoy hablando quizá tanto a nivel de departamento de R&D, donde hay muy buen nivel, pero me sorprendió muchísimo el nivel de otros departamentos como son producto, ventas y soporte. Al final somos una compañía donde el software es nuestro producto, y estos departamentos para tener éxito deben entender y satisfacer las necesidades del software al mismo nivel o incluso más que un propio desarrollador.

A nivel práctico, creo que este aspecto influye muy positivamente en la relación entre el product manager y el equipo de desarrollo ya que no hay ese lenguaje distinto entre departamentos, todos hablamos de software y sabemos de lo que hablamos, lo cual facilita muchísimo la comunicación y minimiza los malentendidos.

¿Cuál es el reto más complejo al que te has enfrentado en Dynatrace?

A nivel técnico seguramente es la vuelta a los orígenes a nivel de estilo de programación. Cuando estás hecho a Spring y sus facilidades, cuesta un poco volver a atrás y conocer patrones específicos de la compañía. También el nivel de exigencia en cuanto a rendimiento de la JVM: Dynatrace es un producto capaz de monitorizar el rendimiento del sistema y se quiere predicar con el ejemplo en ese aspecto, lo cual hace que a veces se tenga que prestar mucha atención al rendimiento de la solución.

¿Cuales son los recursos que te han ayudado a convertirte en el profesional que eres hoy?

Creo que un recurso que me ha ayudado a crecer como profesional siempre ha sido mi versatilidad. A mi personalmente me encanta programar, no me importa donde, así que mantengo la mente abierta a cambios e intento siempre aprender, ya sea durante la jornada laboral o cuando tengo tiempo libre. Esto hace ampliar los horizontes como desarrollador y proporciona conocimientos en distintos paradigmas de programación.

También recomienda informarse de todo el movimiento de Software Craftmanship, donde me siento bastante representado. En ese aspecto, creo que un buen sitio para empezar es el libro Software Craftmanship de Sandro Mancuso. Creo que es muy personal. Me he visto reflejado en algunas situaciones que se cuentan, me inspiró, y me asentó ciertas ideas que ya tenía en mente pero que nunca había sabido poder en palabras.

A nivel de metodología para manejar grupos de personas, Agile y sus técnicas me han ayudado a desenvolverme mejor. No tanto para aplicarlo todo al 100% (siempre digo que no soy ningún kamikaze del Agile), pero si para inspirarse y sacar ideas de cómo conocer al equipo e intentar mejorar.

¿Qué te gusta hacer para desconectar de la pantalla?

Soy padre desde hace 7 meses así que el tiempo libre es algo que escasea un poco últimamente. 

Cuando tengo algo de tiempo, me gusta mucho el baloncesto. Solía jugar cuando era adolescente pero me lesione de gravedad un par de veces y decidí dejarlo. El Barça en mi familia es como una religión y aunque últimamente no estamos para tirar cohetes, lo sigo siempre que puedo. 

También me encantan las motos de montaña. Soy propietario de una KTM 350 EXC y estoy deseando que llegue el dia que pueda salir a quemar adrenalina por el monte.

Me lo paso muy bien viajando por el mundo. Mis últimos viajes han sido a Andalucía, Japón y Filipinas, siempre acompañado de mi mujer Anna.

Y como no, soy un fanático de las series de televisión, mayormente americanas, pero también algunas de aquí.  Las últimas que hemos visto en casa son el documental The Last Dance, Gomorra y Killing Eve. Entre mis favoritas destacaría sobre todo Mr. Robot, Halt and catch fire, Peaky Blinders y Shameless.

¿Cómo te ves dentro de 5 años?

Me veo programando, discutiendo distintas opciones técnicas, aprendiendo de mis compañeros y ayudando a crecer a gente más joven. La verdad es que no difiere mucho de lo que hago ahora porque estoy muy contento de haber escogido esta profesión y me encanta.

Una meta que me gustaría conseguir en el futuro es intentar contribuir más en el software open source: he tenido varios intentos y he ido haciendo cosillas, pero no he conseguido que sea una práctica regular y la verdad es que me gustaría encontrar un proyecto open source que me motivara y en el que pudiera contribuir activamente.

¿Cómo y dónde podemos contactar contigo?

Podeis contactar conmigo a traves de linkedin: https://www.linkedin.com/in/oriolbarcelona/

Soy usuario de twitter (@obarcelonap) per la verdad es que lo uso como recurso de lectura y para mantenerme informado.

Os dejo también mi github por si quereis ver algo de codigo mio: https://github.com/obarcelonap

¡Muchas gracias Oriol!

--

⚠️ Visita el perfil de Dynatrace para ver sus ofertas activas.

Otras entrevistas interesantes

¿Quieres más? ¡Aquí tienes más entrevistas que te podrían interesar!

Gabriel Ortuño, Principal Software Engineer en Cabify

Gabriel ha trabajado con grandes profesionales en empresas como 11870, Jobandtalent y ASPGems. Actualmente trabaja en Cabify, construyendo un nuevo producto para la gestión de flotas de conductores con Elixir.

Vanessa Medina, FrontEnd Software Engineer en eDreams y co-fundadora de FrontFest

Escribió sus primeros GOTOs en un Amstrad CPC464. Comenzó siendo sysadmin, hasta que descubrió el desarrollo frontend. Trabaja en eDreams, organiza FrontFest, da charlas...

Manuel Montenegro, software engineer en Personio

Manolo es Malagueño. Descubrió la programación en quinto de primaria. Hoy, su trabajo ayuda a que los empleados de los clientes de Personio cobren las nóminas a final de mes.
Suscribirme

¡Suscríbete!

Más de 900 desarrolladores/as reciben ya nuestras ofertas y contenidos para estar al día de cómo está el mercado y aprender de los mejores profesionales. Y tú, ¿te lo vas a perder?

¿Qué quieres que te enviemos?