
Sidenis es una empresa de TI relativamente pequeña que a primera vista no es diferente de cientos de otras empresas de outsourcing. Pero estamos buscando historias sobre experiencias y situaciones únicas que no siempre se encuentran. Y aquí, por supuesto, también existen. Sidenis ha trabajado en la industria de seguros durante 20 años, trabaja para las corporaciones más grandes y trata de crear sus propios productos.
Según los resultados de la
evaluación de la compañía que Sidenis recibió en My Circle, los empleados están especialmente agradecidos con la compañía por su buen paquete social, sus cómodas condiciones de trabajo y su crecimiento profesional.
Hablamos con Viktor Klimov, entrenador ágil de Sidenis, e intentamos averiguar si es difícil conectar a doscientas personas entre zonas horarias, cómo lidiar con una lista de tecnologías prohibidas de un cliente, participar en proyectos personales en el trabajo y por qué los programadores ingeniosos necesitan saber inglés.
¿Qué es un entrenador ágil y por qué se necesita?
Victor KlimovTrabajo como entrenador ágil y solía ser programador. He estado en Sidenis por poco más de siete años. Tenía un largo camino desde el desarrollador java junior hasta el senior. Durante casi todo el viaje, también fui Scrum Master en el camino. Y me di cuenta de que las personas deberían hacer lo que mejor saben hacer. Por lo tanto, me cambié al coaching ágil. Comunicándome con la gente me pongo mejor que la programación.
"¿Y cuánto tiempo has entendido esto?"Ya un año Ahora no solo existe mi necesidad de esto, sino también la necesidad de la empresa. Hemos crecido, hay más empleados y el tiempo para trabajar con personas, discutir con ellos, explicarles algo, contarles, mostrarles cosas nuevas, comenzó a dejar mucho más.
Luego tomé una decisión importante para mí y terminé con el desarrollo. Tuve que sacrificar algo. No puedo decir que no me gusta el desarrollo, me gusta. Disfrutas haciendo y viendo el resultado. Pero, desafortunadamente, tarde o temprano tienes que elegir.
- Entrenador ágil: suena exótico. Dime que haces exactamente?Un entrenador ágil es una persona que inspira al equipo a aprender algo nuevo, ayuda a aplicar nuevas prácticas, ayuda a reducir la resistencia de la empresa a estos cambios y puede explicar qué es, para qué sirve y a qué puede conducir. Dar características comparativas. Lleva el conocimiento a las masas.
Realizo capacitaciones para equipos, incluso para personas nuevas, hablo sobre los valores básicos, qué tipo de pensamiento ágil es y por qué funciona. Esto es útil tanto para principiantes como para hablar con los equipos existentes para desarrollar un estilo común, un pensamiento común.
- ¿Quizás contarás una historia específica en la que los equipos están haciendo algo que crees que está mal y vienes y me ayudas a arreglarlo?Por ejemplo, tenemos un equipo, digamos, decepcionado con el scrum. Intentaron traducir una versión más de libro, sobre una corazonada, y sintieron que el scrum, en principio, no era aplicable en su trabajo. Querían abandonar este marco ya y se inclinaban hacia Kanban.
Llevamos a cabo un entrenamiento con ellos, repensaron su enfoque, pensaron que lo que tenían antes estaba mal. Hablamos sobre qué es Agile, cuáles son sus principios, discutimos sobre Scrum, todos sus rituales: qué es, para qué sirve y cómo aplicarlo. Después de eso, los muchachos volvieron a pensar, pensaron de nuevo y se dieron cuenta de que esto podría funcionar. Le dieron al marco una segunda oportunidad. Ahora están trabajando con éxito.
¿Qué productos hace Sidenis?
- Cuando llegaste, ¿la empresa ya tenía muchos años?Ella es mucho mayor La empresa existe desde hace más de 20 años. Durante todo este tiempo, ella brinda servicios para el desarrollo de soluciones de TI para el negocio de seguros y reaseguros. Nuestros principales clientes son grandes corporaciones como SwissRe o Allianz. Ocupan posiciones de liderazgo en el campo de reaseguros y seguros.
Tenemos oficinas en cuatro ciudades. En San Petersburgo, hay mucha gente. Hay una oficina en Tomsk, Kaliningrado y Zúrich. En Zurich, la parte comercial se concentra principalmente, en San Petersburgo, Tomsk y Kaliningrado - centros de desarrollo.
- Según tengo entendido, ¿la compañía fue creada específicamente para trabajar con SwissRe?SwissRe es nuestro socio más grande y antiguo. Pero esto es solo una parte del negocio, tenemos otros clientes y nuestros propios productos. Por ejemplo, el servicio de seguros en línea RiskMarket. El servicio está integrado con los sistemas informáticos de las compañías de seguros y le permite buscar un seguro con las mejores condiciones a las tarifas actuales. Sidenis es un socio de TI de Ooniq, una plataforma de seguro social basada en blockchain.
También hay una plataforma de TI integrada llamada Actus. Ayuda a actuarios y aseguradores a resolver sus tareas cotidianas de manera más fácil y eficiente. Hay varios módulos, bibliotecas matemáticas básicas que contienen todo el conjunto de funciones necesarias para actuarios y aseguradores. Existe una aplicación web para calcular riesgos y varios gráficos.
- ¿Tiene más proyectos propios o proyectos para otras empresas?Hasta ahora tenemos más proyectos a medida, pero nuestro objetivo es hacer que su relación sea de 50 a 50. La mayoría de los clientes son grandes compañías de seguros y reaseguros, y trabajamos con infraestructura de TI que incluye cientos de aplicaciones y sistemas diferentes. Además, los requisitos para las compañías de seguros cambian cada año; se deben agregar nuevos criterios.
Hay una aplicación web donde maneja datos y obtiene el resultado. Hay operaciones matemáticas registradas, modelos matemáticos. Existe una aplicación que proporciona interfaces para calcular y guardar datos en transacciones concluidas. El proyecto brinda a la gerencia una idea de si el precio del contrato cumple con las expectativas o no. Todos estos proyectos ayudan desde diferentes ángulos para facilitar la vida de los aseguradores.
Estructura de la empresa y trabajo entre zonas horarias.
"Dijiste que estás creciendo". ¿Hay más tareas en el proyecto actual o hay nuevos clientes?Si, estamos creciendo. La cartera de pedidos de los socios actuales está creciendo, están apareciendo nuevos clientes y el desarrollo de nuestros propios productos también requiere más recursos. Ahora en nuestra compañía en las cuatro oficinas hay más de 200 personas: unas 140 en San Petersburgo, unas 50 en Tomsk, 15 en Kaliningrado y unas 20 personas en Zúrich. Contamos con un equipo internacional. Hay personas de Rusia, Suiza, Alemania, Austria, Francia, China y otros países.
- ¿Cuál fue la lógica de tal distribución entre ciudades? Entre Tomsk y San Petersburgo lejos, diferentes zonas horarias. Probablemente incómodo.Diferentes zonas horarias imponen algunos inconvenientes. Pero estamos acostumbrados a trabajar en equipos distribuidos. Hay universidades técnicas en Tomsk, y puedes encontrar especialistas allí. Además, Tomsk está más cerca de la India, donde también tenemos colegas. Esto simplifica la situación.
Para el desarrollo, es inconveniente cuando hay cuatro horas de diferencia. Pero al mismo tiempo, los chicos de Tomsk vienen a trabajar antes que nosotros: si de repente alguna aplicación no funciona, el servidor falla o algo más, pueden reiniciarla rápidamente. Entonces también puede beneficiarse de esto.
- ¿Sus empleados trabajan solo en oficinas o hay remotos?Solo en oficinas. Existe la oportunidad de trabajar de forma remota desde casa un día a la semana, pero principalmente: el trabajo se realiza en la oficina. Cuando encontramos empleados en otras ciudades, les ofrecemos mudarse a San Petersburgo, Kaliningrado o Tomsk. Sucedió históricamente. Nunca hemos tenido empleados remotos.
- ¿Cómo se dividen las personas en equipos?Algunos equipos incluyen personas de las cuatro oficinas, pero esto es raro. Los equipos son bastante autónomos y pueden realizar independientemente cualquier tarea que reciban. Esto incluye probadores, diseñadores, desarrolladores, representantes comerciales, productos y analistas.
- ¿Cómo va el trabajo, desde la aceptación del pedido hasta la entrega del producto al cliente?Trabajamos en carreras cortas, de dos a tres semanas, según el proyecto. Cada equipo tiene un producto-oouner, una persona que tiene una visión de dónde ir. Las tareas de desarrollo provienen de él, ya que se comunica con el cliente y con aquellos que utilizarán este sistema.
Describe las tareas, las proporciona al equipo, el equipo hace preguntas aclaratorias, el producto aclara los detalles y el equipo toma la tarea para trabajar. Durante dos o tres semanas, trabaja en ellos, y al final de la iteración muestra el resultado. El lanzamiento de alguien en producción ocurre una vez en un sprint, el tiempo de alguien en dos sprints. Hay equipos que no se lanzan con tanta frecuencia, por ejemplo, dos o tres veces al año. Sin embargo, después de cada iteración, muestran al producto y a los usuarios lo que pueden ver en la próxima versión de producción.
Toda la documentación, toda comunicación con el cliente se realiza en inglés, por lo que el conocimiento del idioma es importante para nosotros. Incluso damos la bienvenida a las comunicaciones de desarrolladores con el cliente. Aún así, los desarrolladores están más cerca del código y saben mejor cómo funciona todo.
"¿Toma mucho tiempo para reuniones y negociaciones?"Bueno, los desarrolladores a veces se quejan. Ellos, por supuesto, responderán eso. Pero cada reunión y reunión tiene un objetivo, para que los desarrolladores también aprendan cómo se está desarrollando nuestro proyecto, hacia dónde se mueve, qué están haciendo otras personas. Todos deben ser conscientes de que la comprensión no depende de una sola persona.
- ¿Crees que los desarrolladores realmente necesitan saber cómo funcionan los demás?Yo creo que si. Para mí personalmente, fue importante. Conocía áreas en las que otros empleados estaban versados, y podíamos ayudarnos mutuamente. Las tareas están fluyendo, puede resultar que en un momento necesitará comprender una nueva área, por lo que ya lo ha escuchado.
Datos específicos del cliente y lista de tecnologías prohibidas
- ¿Puede hablar sobre las características y detalles de trabajar con una compañía de seguros?Como se trata de una gran empresa, tienen una lista bastante estrecha de tecnologías que podemos usar. De vez en cuando lo atravesamos, pero la posición necesita ser defendida. Si podemos demostrar que esto es realmente necesario e importante, entonces aceptan nuestro punto de vista y hacen concesiones.
Pero hay una lista. Por un lado, esto es malo porque limita a las personas. Pero, por otro lado, evita el caos, porque mantener una gran cantidad de aplicaciones idénticas y versiones diferentes es costoso, difícil y lento.
- ¿Cuéntame sobre esta lista?En su mayoría, el desarrollo de Java está en marcha, y varios proyectos .NET, pero en general mucho más pequeños. Es decir, Java 8 y .NET, RabbitMQ para la transferencia de datos están definitivamente permitidos. En principio, esto cubre la mayoría de las necesidades de desarrollo industrial, pero el mundo está creciendo y desarrollándose.
Por ejemplo, necesitábamos el framework Spring para Java, pero estaba prohibido. Solo se permite Java Enterprise Edition. Logramos demostrar que esto es importante para nosotros y que acelera el desarrollo.
En la interfaz, Angular 6, JavaScript con React y TypeScript están permitidos.
- ¿Para qué es la lista de tecnologías?Cuando hay una lista clara y comprensible, da previsibilidad. De lo contrario, el soporte será muy costoso. Una aplicación que funciona se juzga por la cantidad de usuarios que les gusta. Pero hay un control técnico mínimo por parte del cliente: analizadores de códigos estadísticos o servicios que son responsables de la calidad del código y verifican nuestros repositorios (esto es principalmente solo en proyectos nuevos).
Pero no tenemos reglas súper estrictas para el código. Nada sobrenatural, no "asegúrese de escribir un paréntesis en una línea y no en la otra".
Vivimos con esta lista. No quiere decir que estamos muy contentos, pero no hay nada de malo. Nos limita dentro de los límites de la razón. No existe tal cosa que usemos solo tecnologías antiguas, y nadie escucha nuestros consejos.
- ¿Hay tecnologías que le gustaría aplicar, pero no puede?Queremos escribir en Go. Le siguen solicitudes de todos los lados, porque el lenguaje es liviano, ocupa menos memoria que Java y funciona más rápido. Pero hay un proceso de discusión. Algunos proyectos lo usan en sus servicios.
En casos excepcionales, puede abandonar la lista, lo principal es que el cliente comprende por qué esto es necesario y qué problema queremos resolver. No podemos venir y decir: "hoy usamos un marco JS y mañana otro". Nacen todos los años, y si cambias constantemente, los clientes no entenderán lo que está sucediendo.
Contratar una empresa sin una marca anunciada
- ¿Dónde buscas gente?Principalmente en HeadHunter, My Circle, Linkedin, en conferencias. Este año realizamos un pequeño experimento en Tomsk y lanzamos varias academias en Java, pruebas y desarrollo front-end. Entrenaron a personas con diferentes antecedentes allí. Ahora el segundo set ya está en marcha, y creo que continuaremos con esto. En promedio, reclutamos a la mitad de los capacitados, lo cual es un muy buen resultado.
Con el boca a boca es más complicado, hasta hace poco, no promovíamos activamente nuestra marca de recursos humanos. Pero al mismo tiempo, si la gente nos conoce, está dispuesta a ir. Incluso fue tal que algunos trabajaron para nosotros, se fueron, trabajaron para otras compañías y finalmente regresaron. Dice algo sobre algo.
- ¿Cómo se entrevista?Se lleva a cabo en dos etapas. El primero va por Skype. Tratamos de aprender cosas generalmente aceptadas: alfabetización técnica, material teórico, dar tareas prácticas no muy difíciles, para que pueda estimar el nivel de una persona.
La segunda entrevista tiene lugar en la oficina de la empresa. Es posible que ya se hayan asignado tareas de programación. Observamos cómo una persona escribe código, cómo piensa. Es interesante ver cómo se obtienen las respuestas, si se hacen preguntas aclaratorias, cómo se formulan y si su código se ajusta a medida que avanza.
Hacemos preguntas teóricas más profundas para comprender con qué experiencia nos llegó una persona.
- ¿No parece que un buen desarrollador pueda ser eliminado por la teoría? Todavía buscó en Google.La capacidad de analizar rápidamente la información y llegar a la respuesta: esto es importante. Si una persona ha encontrado problemas y los ha resuelto, podrá justificar razonablemente por qué esto se resuelve de esta manera y no de otra manera. Una persona experimentada siempre tiene argumentos, no solo un don, y me parece que esto es más valioso. Un estilo e inspiración en el espíritu de "Lo he hecho diez veces y siempre he trabajado" es, por supuesto, bueno, pero estrecho.
No estoy diciendo que una persona deba saberlo todo a fondo. Pero si comprende lo que está haciendo, puede encontrar una mejor solución que simplemente copiar fragmentos de código de StackOverflow sin conocer la teoría.
- ¿Hay algún rasgo por el cual definitivamente rechazarás al candidato?Falta de ingles. Si una persona no puede hablar, nos vemos obligados a negarnos. Por lo tanto, en la entrevista dedicamos tiempo al idioma, por favor hable con nosotros en inglés.
- Si el desarrollador es brillante, pero no sabe inglés, ¿todavía no lo toma?Lamentablemente si. Además, los desarrolladores ingeniosos son difíciles de enraizar en el desarrollo empresarial. ¿Cómo se comunicará con el cliente? ¿Cómo resolverá sus problemas?
- A través del producto.Trabajar siempre a través de un producto no es muy efectivo. Y cuando se usa scrum es casi imposible.
Pero en nuestro tiempo, casi todos saben inglés, lo leen con seguridad. Muchos intentan hablar. Además, nuestra empresa tiene sus propios cursos de inglés y alemán. Los maestros pueden detenerse. Si una persona es un genio de la programación y al menos de alguna manera habla inglés, se le ayudará a desarrollarse.
- ¿Cuánto tiempo pasa desde la solicitud del candidato a la oferta?De hecho, todo va rápido. Después de la entrevista, nos tomamos uno o dos días para pensar, para conversar. Luego nombramos una segunda entrevista, y qué tan pronto pasará, depende del candidato si tiene tiempo en los próximos días. Después de la segunda entrevista, también uno o dos días. Entonces pasa una semana, un máximo de dos, y el candidato ya recibe una oferta o rechazo.
- Un hombre entra en la empresa. Que sigueTenemos un entrenamiento de bienvenida. Allí se cuenta todo sobre la empresa, cómo vivimos y trabajamos. Una persona es presentada a la oficina, personas y proyectos, y luego la responsabilidad de cómo se une al equipo recae en el equipo.
Al principio, hay un estudio del negocio de seguros. Esto es algo bastante específico. Cuando vea esto por primera vez, puede que no se vea muy claro. Por lo tanto, al principio hay una inmersión, no es del todo fácil, pero todos se las arreglan. Además, cuando llega una tarea, el contexto se da con ella: ¿por qué se hace para que una persona no piense en escribir código sin pensar, sino que comprenda por qué escribirlo?
- ¿Qué atrae generalmente a las personas para que vayan a trabajar para usted?Yo diría galletas ...
"No sorprenderás a nadie con galletas".... pero tenemos frutas!
De hecho, nos dimos cuenta de que las cookies son realmente malas y cambiamos a frutas y verduras. Tenemos un paquete social bastante bueno, tenemos cuentas VHI y virtuales.
Vida interior, cuentas virtuales y tiempo para el autodesarrollo.
- ¿Cómo motiva y alienta a los empleados?Tenemos cuentas virtuales para cada equipo. Se emite una cuenta virtual de inmediato por un año y se calcula según la cantidad de personas en el equipo. Administran la cuenta como quieren. Pueden notar, por ejemplo, su liberación, sentarse en un bar, conversar en una atmósfera que no funciona, realizar alguna búsqueda, saltar en trampolines.
La misma cuenta virtual es para cada persona individual. Se puede gastar en mejorar el lugar de trabajo, la forma física, la educación, las conferencias, los libros.
- ¿Y cómo lidias con el agotamiento?Tenemos un sistema de seguimiento del tiempo y controlamos cuánto tiempo pasan las personas en un proyecto, cuánto están involucradas. Si hay mucho procesamiento, tratamos de enviarlo de vacaciones o de darle días de descanso adicionales. Trabajar al mismo ritmo y mostrar la misma productividad es difícil.
Además, las personas mismas eligen sus tareas entre las que están en el sprint. Las tareas interesantes mantienen a una persona en un estado de flujo. Pero a veces hay rutinas, no hay forma de evitar esto.
A menudo, no es muy notable que una persona se queme. Todavía va a trabajar, pero no le interesa nada. Y si esto ya sucedió, entonces algo salió mal. Esto debe discutirse con cada uno por separado y decidir qué hacer específicamente. Conozco a una persona que resolvió este problema transfiriendo a otro proyecto. Obtuvo una motivación para trabajar debido a un cambio de actividad, las tareas trajeron más alegría.

Es importante que nuestra gente pueda lidiar no solo con proyectos de trabajo. Dentro de la empresa hay "gremios" que unen a desarrolladores, evaluadores y diseñadores. Asignamos hasta 200 horas por año para cada empleado, que pueden dedicar al autodesarrollo y la creatividad. , , . , , .
— ?, , . — . , , — . , .