
Alexander Baranov trabaja en Veeam como director de I + D y vive entre los dos países. Pasa la mitad de su tiempo en Praga, la otra mitad en San Petersburgo. Estas ciudades tienen las oficinas de desarrollo Veeam más grandes.
En 2006, fue una startup de dos hombres de negocios de Rusia relacionados con el software para realizar copias de seguridad de máquinas virtuales (el nombre V [ee] [a] M, una máquina virtual, provenía del mismo lugar). Hoy es una corporación gigante con más de cuatro mil empleados en todo el mundo.
Alexander nos contó cómo es trabajar en una empresa así y lo difícil que es entrar en ella. A continuación se muestra su monólogo.
Tradicionalmente, le informaremos sobre la evaluación de la compañía en My Circle: Veeam Software recibió una calificación promedio de 4.4 por parte de sus empleados. Es apreciado por un buen paquete social, un ambiente de trabajo cómodo en el equipo, por tareas interesantes y por el hecho de que la compañía hace del mundo un lugar mejor.

¿Qué productos desarrolla Veeam?
Productos que proporcionan resistencia a la infraestructura de TI. Afortunadamente, con el tiempo, el hierro se ha vuelto bastante confiable y las nubes proporcionan tolerancia a fallas. Pero los errores de las personas aún existen.
Por ejemplo, el clásico problema de incompatibilidad de actualizaciones con la infraestructura de la organización. El administrador lanzó una actualización no verificada, o se produjo automáticamente, y debido a esto, la operación de los servidores empresariales se vio interrumpida. Otro ejemplo: alguien realizó cambios en un proyecto común o conjunto de documentos, considerándolo apropiado. Más tarde, se descubrió un problema y se requirió devolver el estado hace una semana. A veces, tales cambios ni siquiera están asociados con acciones humanas conscientes: los virus cryptolocker han ganado popularidad recientemente. Un usuario lleva una unidad flash con contenido dudoso a una computadora que funciona o visita un sitio web con sellos, y como resultado, las computadoras en la red están infectadas.
En una situación donde el mal ya ha sucedido, le damos la oportunidad de revertir los cambios. Si los cambios solo se planifican, nos permitiremos verificar su impacto en una infraestructura aislada, recreada a partir de una copia de seguridad del centro de datos.
A menudo, las copias de seguridad actúan como un "testigo silencioso" cuando auditan en una organización. Las empresas públicas deben cumplir con los requisitos de los reguladores externos (por ejemplo, la Ley Sarbanes-Oxley), y esto no es un accidente. En 2008, el estado de la economía mundial se vio sacudido debido al hecho de que algunos participantes en el mercado financiero, en términos generales, falsificaron los resultados de sus actividades. Esto lanzó una bola de nieve y la economía bajó. Desde ese momento, los reguladores han monitoreado de cerca los procesos en las empresas públicas. La capacidad de restaurar el estado de la infraestructura de TI, el sistema de correo, el sistema de gestión de documentos para los períodos de informes es uno de los requisitos de los auditores.
Microsoft, Amazon, Google y otros proveedores de la nube tienen soluciones nativas que respaldan los recursos dentro de la nube. Pero sus decisiones son "cosas en sí mismas". El problema es que las grandes empresas en la mayoría de los casos tienen una infraestructura de TI híbrida: parte de ella está en la nube, parte está en el suelo. Los proyectos basados en la web y las aplicaciones orientadas al cliente generalmente viven en la nube. Las aplicaciones y los servidores que almacenan información confidencial o datos personales suelen estar en el terreno.
Además, las organizaciones usan varias nubes diferentes para construir un híbrido para minimizar los riesgos. Cuando una empresa multinacional ha construido una nube híbrida, necesita un sistema de tolerancia a fallas único y común para toda la infraestructura.

Qué difícil es desarrollar tales productos.
Constantemente surgen nuevas tecnologías que requieren estudio, adaptación y experiencia. Cuando aparecimos por primera vez y éramos una startup, pocas personas se tomaron en serio la virtualización. Hubo aplicaciones para respaldar centros de datos físicos. Los centros de datos virtualizados fueron vistos como juguetes.
Comenzamos a admitir copias de seguridad teniendo en cuenta la virtualización desde el principio, cuando la tecnología era utilizada solo por entusiastas. Y entonces su crecimiento explosivo y reconocimiento por el estándar sucedió. Ahora vemos otras áreas que esperan el mismo salto cualitativo e intentamos estar en la ola. La capacidad de mantener la nariz a favor del viento está cosida en algún lugar del ADN de la compañía.
Ahora la compañía ya ha sobrevivido al momento del inicio. Ahora la estabilidad y la confiabilidad son importantes para muchos grandes clientes, y la decisión sobre la tolerancia a fallas puede durar varios años. Adaptación, verificación del producto, cumplimiento de numerosos requisitos. Resulta una situación divertida: por un lado, debe garantizar la confiabilidad y la confianza en los productos y, por otro, mantenerse moderno.
Pero lo nuevo siempre está asociado con un cierto nivel de ignorancia de la tecnología, el mercado o ambos.
Por ejemplo, después de varios años de trabajo, nos dimos cuenta de que necesitábamos usar las capacidades integradas de los sistemas de almacenamiento para acelerar las copias de seguridad. Así nació una dirección completa para la integración con los productores de hierro. Hoy, los socios de Veeam en este programa son los principales actores en este mercado: HP, NetApp, Dell EMC, Fujitsu, etc.
También nos pareció que la virtualización reemplazaría a los servidores clásicos. Pero la vida ha demostrado que permanece el último 10% de los servidores físicos, cuya virtualización no es posible o no tiene sentido. Y también necesitan ser respaldados. Así es como surgió Veeam Agent para Windows / Linux.
En un momento, sentimos que era hora de que Unix tomara su lugar en el museo, y nos negamos a apoyarlo. Pero tan pronto como llegamos a clientes con una larga historia, nos dimos cuenta de que Unix está más vivo que todos los vivos. Sin embargo, escribieron una solución para él.
La misma historia fue con las unidades de cinta. Pensamos: "¿Quién los necesita en el mundo moderno?" Luego trabajamos en características como la recuperación de datos granular o la copia de seguridad incremental con una copia completa sintética, y no puede hacer esto en una cinta, solo necesita un disco. Luego resultó que las unidades de cinta funcionan como uno de los medios para proporcionar copias de seguridad sin cambios que se necesitan para el almacenamiento a largo plazo, para que en 5 años, tome una cinta de un estante y realice una auditoría. Bueno, el tamaño de los clientes, comenzamos con pequeños, y nadie usa las cintas allí. Y luego se convirtieron en clientes que nos dijeron que no comprarían un producto sin cintas.

Qué tecnologías se utilizan en Veeam
Para tareas relacionadas con la lógica empresarial, utilizamos .NET. Comenzamos con él y seguimos optimizando. Ahora en una serie de soluciones usamos .NET Core. Cuando se acaba de formar la startup, el equipo tenía varios partidarios de esta pila. Es bueno escribiendo lógica de negocios, velocidad de desarrollo y la conveniencia de herramientas. Entonces no era la solución más popular, pero ahora está claro que esos partidarios tenían razón.
Al mismo tiempo, escribimos bajo Unix, Linux, trabajamos con hardware, esto requiere el uso de otras soluciones. Las partes del sistema relacionadas con la información sobre los datos que almacenamos en la copia de seguridad, los algoritmos de recuperación de datos, los algoritmos relacionados con la operación del hierro, todo esto está escrito en C ++.

Cómo se distribuyen los empleados en todo el mundo
Ahora la compañía emplea a unas cuatro mil personas. Alrededor de mil de ellos están en Rusia. La compañía tiene dos grandes grupos. El primero se dedica al desarrollo y soporte técnico de productos. El segundo hace que los productos sean visibles para el mundo exterior: las ventas y el marketing son de su competencia. La relación entre los grupos es de aproximadamente treinta a setenta.
Tenemos una treintena de oficinas en todo el mundo. Las ventas se distribuyen más ampliamente, pero el desarrollo tampoco se queda atrás. Algunos productos se están trabajando simultáneamente en varias oficinas, en parte en San Petersburgo, en parte en Praga. Algunos se desarrollan en uno solo, por ejemplo, un producto que proporciona una copia de seguridad física de Linux se está desarrollando en Praga. Hay un producto en el que solo Canadá está trabajando.
Realizamos desarrollo distribuido para cumplir con los requisitos del cliente. Los grandes clientes se sienten más seguros cuando el desarrollo se encuentra en la misma región donde funciona el producto.
Ya tenemos una oficina muy grande en la República Checa, y el próximo año planeamos abrir otra oficina en Praga, para 500 desarrolladores y evaluadores. Quienes se mudaron a la capital checa en la "primera ola" en Habré están felices de compartir sus experiencias y trucos de vida con todos los que estén interesados en la oportunidad de trabajar en Europa. En Rusia, la oficina está ubicada en San Petersburgo, parte de los proyectos internos están en marcha en Izhevsk, y el apoyo está parcialmente en Moscú. En general, varios cientos de personas en todo el mundo se dedican al soporte técnico. Hay especialistas de diferentes niveles de capacitación técnica y especialización. El nivel más alto son las personas que pueden entender el producto a nivel de código fuente y trabajan en la misma oficina con el desarrollo.

Cómo se organizan los procesos
Aproximadamente una vez al año lanzamos lanzamientos grandes con nuevas funciones, y cada dos o tres meses, actualizaciones con correcciones de errores y mejoras que cumplen con los requisitos urgentes del mercado o cambios de plataforma. Se asignan prioridades a los requisitos, de menores a críticos, sin los cuales la publicación es imposible. Estos últimos se llaman "epopeyas".
Existe un triángulo clásico: calidad, cantidad de recursos, términos (en personas comunes, "de forma rápida, eficiente y económica, elija dos"). No podemos hacerlo mal, la calidad siempre debe ser alta. Los recursos también son limitados, aunque estamos tratando de expandirnos todo el tiempo. Hay mucha más flexibilidad en la gestión del tiempo, pero a menudo también se soluciona. Por lo tanto, lo único que podemos variar es la cantidad de funcionalidad en el lanzamiento.
Epikov, por regla general, intenta mantener no más del 30-40% de las fechas proyectadas del ciclo de lanzamiento. Podemos cortar el resto, transferir, modificar, modificar. Este es nuestro espacio de maniobra.
Para cada requisito, se crea un equipo temporal en la versión. Puede tener tres personas y cincuenta, según la complejidad. Nos adherimos a una metodología de desarrollo flexible, una vez a la semana organizamos revisiones y debates sobre el trabajo realizado y próximo para cada funcionalidad.
La mitad del tiempo del ciclo de lanzamiento se dedica al desarrollo, la mitad a la finalización del producto. Pero tenemos un dicho: "la deuda técnica de un proyecto en quiebra es cero". Por lo tanto, es más importante hacer un producto que funcione y tenga demanda que lamer el código sin cesar. Si el producto es popular, entonces ya vale la pena desarrollarlo más y adaptarlo para futuros cambios.

Cómo Veeam emplea a las personas
El algoritmo de selección es de varias etapas. El primer nivel es una conversación entre un candidato y un reclutador sobre los deseos de la persona misma. En esta etapa, estamos tratando de entender si somos adecuados para el candidato. Para nosotros es importante que seamos interesantes como compañía, porque introducir a una persona en un proyecto es un placer costoso.
Si hay interés, en el segundo nivel ofrecemos una tarea de prueba para comprender qué tan relevante es la experiencia del candidato y qué puede demostrar como especialista. Por ejemplo, haga un compresor de archivos. Esta es una tarea estándar y muestra cómo una persona se relaciona con el código, que se adhiere a la cultura y el estilo, que utiliza soluciones.
En la tarea de prueba, todo suele ser perfectamente visible. Una persona que acaba de familiarizarse con una carta y que primero escribió una carta es notablemente diferente de una persona que escribe cartas constantemente.
Luego llevamos a cabo una entrevista. Por lo general, se lleva a cabo de inmediato por tres líderes de equipo para que todo sea lo más objetivo posible. Además, ayuda a reclutar personas técnicamente compatibles que tengan aproximadamente los mismos métodos y enfoques de desarrollo, incluso si al final trabajan en diferentes equipos.
Durante la semana, llevamos a cabo varias entrevistas para una vacante abierta y decidimos con quién seguiremos trabajando.
A menudo, los muchachos vienen a nosotros y dicen que están buscando trabajo, porque no tienen a dónde ir en el actual: puede esperar un aumento solo cuando el jefe se jubila. Tenemos una dinámica ligeramente diferente. Hace doce años, Veeam era una startup con diez empleados. Ahora es una empresa donde trabajan varios miles de personas.
La gente llega aquí como un río tormentoso. Nuevas direcciones aparecen constantemente; los desarrolladores de rango de ayer se convierten en líderes de equipo. La gente crece técnicamente, crece administrativamente. Si está desarrollando una característica pequeña, pero desea desarrollarla, entonces la mitad de la batalla ya se ha hecho. El soporte será a todos los niveles, desde el líder del equipo hasta los propietarios de la empresa. No sé cómo hacer algo administrativamente: hay cursos, formadores internos, colegas experimentados. No hay suficiente experiencia en desarrollo, hay un proyecto de Veeam Academy. Así que estamos abiertos a todos, tanto para profesionales como para principiantes.
El proyecto de la Academia Veeam es un C # intensivo fuera de línea gratuito para programadores principiantes con la perspectiva de empleo en Veeam Software para los mejores estudiantes. El objetivo del proyecto es reducir la brecha entre el volumen de conocimiento y las habilidades prácticas de un graduado universitario promedio y la cantidad de conocimiento que se requiere para interesar a un buen empleador. Durante tres meses, los chicos estudian los principios de OOP en la práctica, se sumergen en las características de C # y estudian el espacio de la campana .Net. Además de conferencias, pruebas, laboratorios y proyectos personales, los chicos desarrollan su proyecto conjunto de acuerdo con todas las reglas de estas empresas. El tema del proyecto no se conoce de antemano: se elige junto con todos en los primeros días después del inicio del curso. En la última transmisión, se convirtió en el Banco Virtual.
Ahora abra la marcación a un nuevo hilo .