Habr, hola! Otra entrevista con nuestro graduado es Nikolai Rekubratsky, líder del equipo en XING. Nikolay habló sobre la vida en Alemania, sobre el recurso en el que encontró trabajo, cómo los especialistas europeos difieren del ruso en su enfoque de trabajo, sobre la demanda de la profesión de ingeniero de datos en Europa, sobre proyectos en XING, etc.
- Kolya, ¿cuál es tu experiencia y cómo fue tu carrera como ingeniero de datos y líder de equipo?- Me hice Timlid hace aproximadamente un año, pero todavía trato de no perder la oportunidad de programar un poco cuando mis manos llegan. Antes de eso, fui desarrollador durante mucho tiempo y el que ahora se llama
ingeniero de citas .

En mi última oficina, me dediqué a la publicidad en video, construí un sistema analítico para nuestros clientes. Fue una startup que creció gradualmente hasta que explotó. Los volúmenes comerciales crecieron y, con ellos, la cantidad de datos procesados y, en algún momento, las herramientas que utilicé y las arquitecturas que utilizamos dejaron de funcionar. Como resultado, traje nuevas herramientas, nuevas arquitecturas, luego la arquitectura lambda estaba muy de moda.
Luego hubo un proyecto para compilar perfiles para cientos de millones de usuarios, también bastante interesante. Y en todos estos proyectos, me gustó el desafío: hay algunos requisitos para la respuesta, para la consistencia de los datos, para otra cosa. Para cumplir con estas expectativas y requisitos, debe repensar mucho la arquitectura actual. Era a la vez un desafío y una libertad de acción al mismo tiempo, y eso fue exactamente lo que me atrajo.
- ¿Y cómo fue tu carrera?- No he trabajado en tantas empresas durante mis 11 años de vida laboral, XING es el cuarto. Y comencé como desarrollador web, escribí mucho en Ruby en el marco de Ruby on Rails. Trabajó en Moscú en una oficina que hizo muchas cosas interesantes relacionadas con las transmisiones de video: transmisiones en vivo y video interactivo. Además, esta oficina se ocupó de la construcción de varios sistemas de video, organizó la transmisión de los Juegos Olímpicos en Sochi y luego cerró. Todas las empresas para las que trabajé han muerto. Esto, espero, no tiene nada que ver conmigo (risas - comentario del autor).
- ¿Sabe XING sobre el destino de sus compañías anteriores?"XING está bien". Volviendo a Undev, nuevamente me gustó la libertad de usar todas las tecnologías que consideraba necesarias. Me las arreglé para ponerme diferentes "sombreros": era tanto un desarrollador de backend como un frontend, estaba involucrado en la administración del servidor, escribí en varios idiomas diferentes. Fue una experiencia muy interesante.
Después de 5 años, me mudé a San Petersburgo, me mudé a otra compañía, que, de hecho, se dedicaba a la publicidad en video. Llegué allí como desarrollador de Ruby, pero aparecieron tareas cada vez más interesantes que requerían otros enfoques y otras herramientas. En ese momento, tuve mucho tiempo para leer artículos, blogs, libros, dedicados a las cosas con las que trabajé, y que resolvieron algunos puntos débiles de este trabajo.
Adquirí nuevas habilidades, y después de actualizar mi currículum en LinkedIn, comencé a recibir mensajes de reclutadores. Ofrecieron vacantes en las que apareció el término "ingeniero de citas". Luego me di cuenta de que el área en la que trabajaba recibió su nombre, tiene sus propios detalles, y ahora estas personas se llaman "ingenieros de citas".
Y entonces me di cuenta de que ahora soy ingeniero de citas, puedes posicionarte en el mercado de una manera ligeramente diferente. Empecé a ver vacantes y terminé en XING. XING es una red social y profesional alemana que es líder en el mundo de habla alemana, pero no está representada en otros idiomas.
- Con una experiencia de desarrollo tan sólida, ¿por qué y en qué momento fuiste al programa Especialista en Big Data ?- Sucedió cuando trabajaba en Virool, ella se dedicaba a la publicidad en video. En ese momento, ya había construido un sistema analítico que utilizaba Spark. Estaba en medio del camino para construir una plataforma de gestión de datos. Y tenía preguntas, era difícil entender cómo construir arquitectura en ciertos casos para procesar datos de manera eficiente. Hubo muchas de esas preguntas, y en algún momento, uno de mis colegas lanzó un enlace a este programa en el chat. Dije que estaba interesado, la oficina me apoyó, pagó por la participación. En el programa, las clases sobre DMP fueron muy importantes para mí, encontré respuestas a muchas preguntas que me atormentaron. En el programa, hicimos muchas cosas con nuestras manos, nos leímos la teoría, pero de todos modos, obtienes el mayor beneficio cuando comienzas a aplicar el conocimiento a tus tareas. Y tuve mucha suerte: no había personas en el trabajo que se dedicaran al aprendizaje automático, y pude poner en práctica mis nuevos conocimientos en la tarea de predecir clics en pancartas. Fue un proyecto muy interesante, duró mucho tiempo y lo manejé por el resto del tiempo: era necesario desarrollar modelos, mejorarlos de alguna manera y luego ponerlos en producción con mis propias manos. Como la empresa tenía una atmósfera de inicio, no había muchos empleados y el trabajo no tenía fin, hice todo esto.
- Dijiste que muchas compañías diferentes te estaban llamando, rusas y extranjeras. ¿Por qué XING? ¿Por qué mudarse a Alemania? ¿Has considerado otros países?- Comenzaré desde el final. Pensé, por supuesto, en otros países. La última compañía tuvo la oportunidad de trabajar en San Francisco. Mi esposa y yo vivimos allí durante varios meses, miramos. Al final, decidieron que San Francisco no es muy adecuado para la vida familiar. Tal vez sea muy bueno para los jóvenes y valientes, pero nos pareció que esta ciudad no es muy adecuada para nosotros. Pero no quería trabajar en algún lugar de Rusia para obtener una experiencia diferente. Mi objetivo era trabajar en una empresa internacional, ver cómo se hacen las cosas de manera diferente. Y quería que no estuviera muy lejos de Rusia.
Comenzamos a mirar a Europa, a saber, Inglaterra y Alemania, dos locomotoras económicas. El resto de los países no son tan conocidos por sus empresas de TI. En Inglaterra, estaba un poco confundido por los estereotipos sobre el mal tiempo en un nivel subconsciente, así que miré más hacia Alemania. Y hay algo de ironía en el hecho de que ahora vivo en Hamburgo, y este es el mismo Petersburgo en Alemania en términos de clima, aquí es bastante lluvioso. Pero como había vivido en San Petersburgo durante los últimos 4 años, después de eso, cualquier clima parece bueno, donde sea que se mude.
Miré a diferentes empresas en Alemania. Al principio pensé que con mi conocimiento en publicidad, sería más fácil para mí aplicarlos en una empresa de publicidad. Pero no había empresas en las que el partido con el equipo y las tareas que tenían resultasen. No veía oficinas interesantes para mí o no estaba satisfecho con la gente y su actitud.
- ¿Cómo buscaste trabajo? ¿Publicó un currículum además de actualizar su perfil en LinkedIn?- Existe un servicio HoneyPot como el servicio de citas para desarrolladores. Coloca un currículum vitae, indica sus requisitos y expectativas, y las empresas comienzan a escribirle. Hablé con varias compañías allí, pero tuve la sensación de que la compañía estaba a punto de escribir, lo cual es aún mejor. Parece que esta, en la que ya has pasado por varias etapas, no es nada, pero tal vez todavía hay algo mejor.
Y en algún momento me escribieron desde XING, y no para el puesto de ingeniero, sino para el puesto del desarrollador de Ruby. También pensé que no era interesante para mí, luego leí acerca de la compañía, fue un coorganizador de competencias en sistemas de recomendación durante dos años seguidos, y pensé: "Bueno, está bien, podría ser interesante hablar con ellos". En la primera entrevista, hablé sobre mis antecedentes, sobre lo que sé y puedo hacer, y me dijeron: "vemos que tienes expectativas diferentes y un perfil diferente, tenemos una vacante, una fecha de ingeniero, pasemos a eso". Así que seguí comunicándome con ellos, durante varios meses todo este truco duró desde la entrevista, hubo muchas etapas. Lo que más me atrapó fue la última etapa: una reunión con el equipo.
- ¿Cómo fue tu reunión con el futuro equipo?- Por lo general, vas a un restaurante a almorzar y conversas allí durante una hora, comes y en un ambiente tan relajado puedes entender con qué tipo de personas quieres trabajar. Y para mí este fue el momento en que decidí lo que quiero, es interesante para mí. Nos juntamos con mi esposa y mi hijo y nos mudamos. La compañía proporciona alojamiento por un tiempo hasta que encuentre el suyo, pero no es solo para usted, el apartamento tenía cinco habitaciones y casi todas estaban ocupadas. Y la vida con un niño al que le gusta despertarse a las 5 a.m. fue una prueba para nuestros vecinos. Pero, probablemente, esto los motivó a encontrar rápidamente su hogar. Entonces también encontramos nuestro refugio.
- Cuéntanos sobre los proyectos que estás haciendo con el equipo ahora.- Tenemos varias áreas, todas están conectadas con los usuarios, porque tenemos un equipo que se centra específicamente en los datos del usuario: recomendaciones y producción de contenido. Hay otro departamento que se ocupa de vacantes, noticias y nos centramos en los datos del usuario. Pero al mismo tiempo, Xing es una oficina bastante grande, y hay alrededor de 60 equipos que hacen cosas diferentes, a saber, equipos de productos, vieron diferentes partes del sitio.
Hay dos proyectos interesantes en la sección de recomendaciones. Ahora estamos explorando la fuerza de las conexiones entre usuarios basadas en varias señales. Ahora solo hay información sobre la presencia de comunicación entre los usuarios, pero no entendemos cuán fuerte es. Hay algunas hipótesis en las que la estudiante ahora participa; ella escribe su tesis de maestría sobre la fuerza de las conexiones entre los usuarios basadas en la topología de la red.
Hay otro proyecto, que también está asociado con las recomendaciones, estamos tratando de entender por qué el usuario visitó nuestro sitio en este momento, cuál es su propósito en este momento. Es decir, tal énfasis está precisamente en los datos en tiempo real, es decir, mirar los historiales de sesión de este usuario en tiempo real y comprender a dónde va, qué necesita, por qué quiere agregar a esa persona o aquello y, en base a esto, cambiar nuestro algoritmo para proporcionar él la mejor recomendación.
También puedo decir sobre la generación de contenido. Recientemente han aparecido dos nuevas historias: el aniversario del trabajo del usuario en la empresa y cuando aparece un nuevo colega desconocido en la empresa, el usuario. Aquí el interés es que el usuario indica la compañía en forma libre, y puede especificar cualquier cosa, y a veces es difícil comparar diferentes nombres y comprender que esta es la misma compañía, ya sea un error tipográfico o una división se llama de manera un poco diferente , y queremos entender que esta es una misma entidad. Si tomamos una empresa de 10 mil empleados, por ejemplo, entonces no queremos mostrar la apariencia de una nueva persona a todos, pero queremos hacer una recomendación más personal basada en intereses y otras cosas.
- Cuéntenos sobre las herramientas de ingeniería de datos que usa con más frecuencia en su trabajo y por qué. Cual es tu favorito?- En nuestra pila, con la que tenemos que trabajar más o menos regularmente, estos son Nive, Spark, Kafka, Cassandra, Akka Streams, ElasticSearch. Mis favoritos son Akka Streams y Kafka, porque me gusta trabajar con datos nuevos que se procesan en tiempo real, bueno, Kafka me ha ayudado más de una vez en mi carrera, por eso realmente la amo. Por lo que uso con más frecuencia como gerente, lo que es muy importante es la comunicación con las personas, y muchos ingenieros de citas subestiman esta herramienta.
- La mayoría de las empresas no separan al científico de datos y al ingeniero de datos, no entienden que estos son dos perfiles diferentes de una persona e intentan buscar un equipo de especialistas universales que puedan hacer todo: recopilar datos, procesarlos, preparar el modelo y ponerlo en producción. ¿Por qué crees que esto está sucediendo y este enfoque está justificado?- Creo que esto es normal, proviene de los recursos disponibles para la empresa. Es muy difícil para una pequeña startup contratar a toda la línea de especialistas necesarios: control de calidad, backend, frontend, desarrolladores móviles, ingeniero de datos, científicos de datos, cualquier otra persona. Simplemente no van a tirar, en las startups contratan desarrolladores que están listos para hacer todo. Cuando las empresas crecen, pueden permitirse el lujo de tener especialistas que se centren en un área específica. En las oficinas grandes, a menudo se puede ver la separación en ingeniero de datos y científico de datos. Existe tal separación en XING, pero al mismo tiempo, se espera que los científicos de datos puedan escribir código de producción, por lo que no es una pena.
- Dado que ahora está en una posición gerencial, buscando personas para unirse a su equipo, ¿qué habilidades físicas y sociales son importantes al elegir un candidato? Y según su observación, ¿qué falta? Lo que requiere más desarrollo si estamos hablando de aquellas personas con las que habló, contratándose a sí mismo como equipo.- En cuanto a las habilidades difíciles: es muy difícil encontrar una persona que coincida con tu stack, para las grandes empresas el stack es muy específico. Por ejemplo, cuando me contrataron, llegué muy bien a la pila de esta oficina, porque tenía conocimiento de Scala, que se usa principalmente para todas las tareas relacionadas con la ingeniería de fechas. Al mismo tiempo, tenía un fondo de Ruby, y en XING muchas cosas de productos están escritas en Ruby. Mi fondo coincidía muy bien. Pero al contratar empleados, tampoco espero que tengan un éxito perfecto, incluso en la pila de ingeniería de datos.
Es genial si una persona conoce las cosas fundamentales que son difíciles de aprender: programar bien o comprender estadísticas. Es difícil, por ejemplo, comenzar a escribir bien en Scala, lleva tiempo, porque el idioma no es fácil; pero solo comienza a escribir en Hive, porque es SQL, y simplemente te sientas y escribes, y cuando alguien comienza a jurar que el servidor presenta tus solicitudes, comienzas a darte cuenta de lo que está sucediendo allí. Contratamos personas que tienen algo que coincide con nuestro stack y que tienen un rasgo muy importante para nosotros: la capacidad de aprender. Es importante para mi equipo que la gente sienta curiosidad, de modo que incluso si no saben algo, puedan dominarlo rápidamente, resolverlo y de alguna manera obtener este conocimiento. La capacidad de aprendizaje es una de las habilidades importantes que observamos cuando contratamos. Otra habilidad importante es la capacidad de comunicarse normalmente con las personas, de aportar cosas positivas al equipo.
- Kolya, cuéntanos sobre tu equipo.- XING tiene una estructura interesante: muchos equipos tienen tres gerentes cada uno: gerente de proyecto ágil, líder de equipo y gerente de producto. Dos gerentes, el líder del equipo y el producto, están constantemente con el equipo. El producto presenta qué características podemos implementar y cómo mejorar las existentes. Timlid soy yo, soy responsable de la solución tecnológica y el desarrollo de las personas en el equipo. El gerente de proyecto ágil analiza cómo funciona el equipo y da consejos sobre lo que se puede mejorar en los procesos o está tratando de resolver algunos conflictos externos. Y además de estos tres gerentes, hay cinco desarrolladores: un ingeniero de control de calidad, un desarrollador de pila completa y tres ingenieros de citas. Otra persona que no mencioné, un estudiante, está escribiendo un doctorado.
- ¿De qué países son los miembros de su equipo?- Es imposible encontrar especialistas solo en Alemania, tenemos una empresa muy diversa. No es tan internacional como, por ejemplo, la mayoría de las empresas en Berlín, pero sigue siendo bastante internacional. Tengo dos colegas de Ucrania, un chico y una chica de Alemania y una chica de los Países Bajos. Nuestro ágil gerente de proyectos de Croacia. Dentro de la empresa, el idioma oficial es el inglés, todos se comunican en él.
- La siguiente pregunta es una continuación de la anterior: ¿los europeos difieren de los nuestros en sus observaciones? Has trabajado en Rusia durante mucho tiempo, ahora ya tienes experiencia trabajando con europeos.- Tengo algo de experiencia trabajando con europeos, pero está limitado a una compañía europea, así que solo puedo hablar de lo que veo. Lo que es muy notable: la cantidad de comunicación entre los desarrolladores: qué hacemos y por qué. Esto implica mucha sincronización y reuniones, pero todos tienen una muy buena idea de lo que está sucediendo, por qué y por qué.
- Estas reuniones son activadas por su producto?- Esta es una cultura de empresa que va desde la cima. Tenemos una guía muy abierta que cuenta regularmente lo que está sucediendo, qué tipo de noticias, y escucha con atención los comentarios sobre lo que le gusta a la gente, lo que no le gusta, cómo cambiarlo. Existen herramientas para dar esta retroalimentación a la gerencia, de forma anónima o abierta. La cultura de retroalimentación en todos los niveles está muy bien organizada. Y esto es lo primero que es muy diferente de mi experiencia previa en otras compañías.
La segunda cosa: el equilibrio entre el trabajo y la vida personal se observa muy claramente. 6 , , . , 18:00, , . : , . , .
— 6 : , , ? , , , , , 6 , ?— ( , ) , - . , - , , , .
— ?— , , , , . . research , , , . , , , .
— - ?— , , , , , . , , , . , , , , , , - . , . - , excel, . .