Desafío aceptado o qué tareas resuelven los ingenieros de Lamoda

En el comercio electrónico provienen de una variedad de áreas: fintech, desarrollo de software, telecomunicaciones. Y rápidamente descubren que aquí también es bastante aburrido. Hablamos con representantes de varias áreas del departamento de TI sobre desafíos profesionales inesperados, tareas de trabajo y puntos de crecimiento.

imagen

Drive, zumbido y retroalimentación rápida


imagenMi nombre es Alexander Afenov, soy el jefe de desarrollo del departamento comercial, me llamo Timlid Timlid. Antes de unirse a Lamoda, participó en el desarrollo de outsourcing para operadores móviles. Durante 4,5 años en Lamoda, pasé de ser un desarrollador intermedio al jefe del departamento.

¿Cómo se organizó este crecimiento?

El proceso de incorporación está diseñado para que, durante el período de prueba, los desarrolladores implementen nuevas características (y, a veces, incluso proyectos completos) en producción. Las tareas y objetivos para la prueba se seleccionan según el grado y las características del nuevo empleado, e incluso después de los primeros tres meses continúan enseñándole y sumergiéndolo en el negocio y los detalles de los sistemas de TI: a través de las autoevaluaciones, muestran el curso de los procesos comerciales, en la revisión del código comparten los conceptos básicos de la cultura de desarrollo interno , explique qué partes de los proyectos se pueden refactorizar y lo que pronto se incorporará a los nuevos servicios. Sin embargo, una comprensión realmente profunda del funcionamiento del sistema no aparece de inmediato. Para esto, en mi opinión, tenemos que trabajar alrededor de un año.

Para acostumbrarse más rápido y sentir todo con las manos, y también para la rotación del conocimiento dentro de los equipos, hay una llamada de soporte (aquí sobre esto fue mi gran informe sobre Teamleadconf ). Dentro de una semana, uno de los ingenieros resuelve los problemas que vuelan alrededor del sistema, cuando finalizan las tareas prioritarias, las elimina del trabajo atrasado técnico.

Para los valientes y desesperados, y para aquellos que desean mantener el sistema, hay turnos de noche. Este es un desafío interesante para aquellos que desean bombear rápidamente. Por la noche, realmente puede entablar una estrecha relación con el sistema, porque parte de los procesos de negocios ocurren durante horas estrictamente no laborables.

Por ejemplo, me siento durante el día y programo algo, suelto el rollo y todo está bien, y luego voy a trabajar y al final de la tarde veo que se están recibiendo mercancías en uno de los almacenes de tránsito, y debido a un error en el sistema de TI, algo destrozando un proceso de negocios. En la práctica, resulta de esta manera: varios representantes de ventas están sentados en un almacén, no pueden terminar la jornada laboral e irse a casa. En este momento, puede y debe sentir sus manos en el proceso comercial, reparar, ayudar y comprender cómo funciona todo. Y en otras ocasiones no te encuentras con esto, y no tienes que enfrentarlo durante años. Combinado con motivación financiera e impulso, es muy bueno.

¿Ahora que?

Ahora tengo una tarea de gestión global: reunir y unificar a todos los equipos que trabajan con funciones comerciales. Resolveremos esto de dos maneras: mediante la rotación de tareas entre los equipos, y mediante la participación de nuestros "lobos lobos", arquitectos del sistema, que también supervisarán las conexiones horizontales dentro y entre los equipos. Para que cada equipo se vuelva independiente, a veces necesitas desarrollar a los chicos y darles diferentes tareas y la oportunidad de aprender nuevas tecnologías: a veces los desarrolladores de PHP se conectan a proyectos en Java y Go. Desde 2018, todos en mi área han estado trabajando con Kafka, que se ha convertido en una parte importante de nuestra infraestructura, la tecnología generalmente aceptada y una de las formas más populares de intercambio de datos entre sistemas. (Aquí hay un informe sobre cómo lo hacemos)

Todos los desarrolladores y otros miembros del equipo no solo deben cortar algo en la esquina, sino también entender lo que están haciendo los vecinos. Queremos que toquen los sistemas de otras personas con sus propias manos: en el futuro, esto hará que los equipos sean más independientes y les permita encontrar los sistemas necesarios para resolver el problema comercial.

¿Qué te sorprendió cuando viniste a e-com?

En Lamoda, la comunicación con un cliente y cómo las acciones de TI afectan la vida de las personas y su experiencia real han pasado a primer plano. Aquí, no están interesados ​​en el beneficio del momento, sino en la lealtad a largo plazo. Queremos que nuestro producto se use de forma regular. La principal especificidad para el desarrollo es la necesidad de responder rápidamente a los problemas. Por ejemplo, algo se nos ha roto y, en el momento de la entrega de los bienes, hay una persona viva que no puede pagar su abrigo.

Vemos cuándo, debido a nuestros errores, las personas en el almacén y en la entrega sufren. Y nos regocijamos con nuestros clientes, por ejemplo, cuando rediseñamos por completo el proceso de procesamiento de pagos y lanzamos tarjetas de regalo, que todos estaban esperando.

Rehacer todo desde cero


imagenSoy Alexandra Kamzeeva. Solía ​​trabajar en la integración de sistemas, hace tres años y medio comencé a trabajar como analista de sistemas en Lamoda.

¿Por qué necesito un analista en desarrollo?

Esta es la primera pregunta de muchos desarrolladores. Pero luego, cuando trabajan con un buen analista de sistemas, prueban y se les pide que llamen a analistas para cada proyecto. Los desarrolladores no están dedicados a las complejidades de los procesos comerciales, y sin este conocimiento es difícil hacer una solución que sea ideal para los negocios. Se necesita un analista para hacer un estudio detallado antes del inicio del desarrollo, hacer preguntas, obtener respuestas y tener todo en cuenta en la especificación compilada. Esto minimiza el número de iteraciones y errores y ahorra tiempo y nervios a los desarrolladores.

¿Cuál fue su primer gran desafío de comercio electrónico?

Mi desafío más global e interesante hasta ahora es un nuevo sistema para automatizar el proceso de devolución de dinero a la tarjeta de un cliente. Esta fue una de las debilidades de nuestro sistema, fue escrito cuando Lamoda era una startup. Hubo muchas operaciones manuales que aumentaron el riesgo de errores. Comenzamos a pensar acerca de los enfoques para cambiar este sistema, y ​​luego hubo una "patada mágica" del estado: se aprobó la Ley Federal No. 54. Según esta ley, todas las compañías que ofrecen bienes y servicios a individuos deben transferir datos de ventas a la oficina de impuestos a través de la OFD (operador de datos fiscales), indicando qué vendieron, cuándo y a través de qué intermediarios. Todo esto está impreso en el cheque. Funciona en la dirección opuesta: además de la información sobre lo que se vende, debe transferir, para lo cual se devuelve el dinero e imprimir el cheque.

Dividimos el proyecto en 7 fases, esto nos permitió centrarnos en una característica específica en cada fase y lanzarlas en el producto una tras otra. Como resultado, automatizamos automáticamente todo lo posible para devolver los datos correctos al impuesto sin correcciones manuales innecesarias.

No solo un intérprete, sino también un coautor


imagenMi nombre es Igor Grammatchikov, y hace un año y medio me uní al equipo de desarrollo de la tienda en línea de una gran empresa de automatización de procesos comerciales. Ahora soy un desarrollador frontend, hago un sitio web de Lamoda. Antes de eso, desarrollé interfaces para sistemas de automatización internos en grandes tiendas de red, donde era solo un desarrollo para algún tipo de cliente abstracto. Ahora siento que este es mi producto, y quiero que me gusten no solo los usuarios, sino también yo mismo. Yo mismo compro regularmente en Lamoda, todos mis colegas y amigos lo usan, y a veces nosotros mismos vemos jambas que podemos arreglar.

Las tareas son diferentes. Por ejemplo, tuve la tarea de hacer una cesta desplegable en el sitio para que funcionara en todas las páginas que ya se habían reescrito en el nuevo marco vue.js y en aquellas que permanecían en el antiguo código backbone.js, jquery. Durante más de un mes estuve acumulando esta tarea y me encontré con muchos problemas. Pero al final, después de mucha deliberación conjunta, desarrollamos un método, lo perfeccionamos y ahora todos pueden usarlo de manera fácil y sencilla.

No solo estamos lidiando con problemas de masas. Recientemente, tuvimos problemas con un error específico que ocurrió solo para un usuario. En mis trabajos anteriores, todo el mundo simplemente habría presentado una explicación educada y calificado, pero aquí reparamos todo lo que no funciona como debería.

Esta es la primera vez que realmente trabajo en ágil: tenemos stand-ups diarios, muchas reuniones con el gerente y el diseñador. Y el desarrollador no solo es un intérprete, también es coautor. En todas las reuniones, realmente escuchan mi opinión, y no solo: la escribieron y fueron a ver. Dices que no funcionará, ¿vamos a rehacerlo? Y el equipo comienza a pensar lo mejor.

Comentarios de los usuarios y revisión de código como controladores de desarrollo


imagenSoy Viktor Barsukov, el desarrollador de uno de los equipos de automatización de almacenes. He estado trabajando en el equipo durante seis meses, y antes trabajé en fintech y en el operador de datos fiscales. Nos comunicamos constantemente con los empleados del almacén, usuarios de nuestros sistemas que nos brindan comentarios de calidad. En fintech esto no era, escribimos y olvidamos. Y luego es probado por alguien, desplegado por alguien. El hecho de que nos comuniquemos con nuestros usuarios directos todos los días y la revisión del código duro me motiva mucho para un mayor desarrollo. Tenemos un eslogan directo: ¡los chicos hacen una revisión de código el uno del otro! Para que la tarea avance, dos ingenieros y uno de los líderes del equipo deben analizarla. Esta es una práctica muy interesante: además de stand-ups, reseñas y flashbacks, puedes ver un cambio de código en vivo. Entonces aparece la imagen general del desarrollo.

¿Qué procesos de negocio automatizas?

Hay muchas tareas al trabajar en la automatización del almacén: trabajar con el suministro de bienes, colocar bienes en los estantes, gestionar la clasificación, el embalaje y la recogida de pedidos. También hay interacción con los empleados del almacén: desde contar los KPI hasta elegir la ruta óptima para moverse entre los estantes.

Tenemos tareas pequeñas, y hay una historia de detectives similar, cuando miras los registros, dónde y cuándo las cosas salieron mal. Esto es emocionante. Ahora estamos resolviendo un problema global: cambiar de Java a Kotlin en una aplicación de Android, esto brindará más oportunidades desde el punto de vista del desarrollo.

¿Cuál es el mayor desafío empresarial que está resolviendo ahora?

Ahora el equipo de desarrollo del almacén está implementando otro proyecto importante: Warehouse-2. Anteriormente, trabajamos con un almacén físico, y conectar el segundo requerirá cambios importantes en todos los procesos comerciales y, por lo tanto, en los sistemas que los automatizan. La segunda unidad al comienzo será similar a la primera (sobre la primera escribimos un artículo separado ). Pero en el futuro, el segundo almacén será más grande y el nivel de automatización de los procesos comerciales será más alto y más moderno.

Una de las tareas es sincronizar datos entre sistemas futuros para que los datos entre ellos no se dupliquen y no entren en conflicto.

Configuré el bus de comunicación basado en el marco Camel. En realidad, esta fue mi primera experiencia con Camel, por lo que la tarea no solo era refinar las rutas teniendo en cuenta el segundo almacén, sino también tratar con el marco en sí.

Axapta por tres meses


imagenSoy Elizaveta Naumenko, y durante un año he estado trabajando en el equipo de soporte y desarrollo del departamento ERP (Enterprise Resource Planning) como consultor de soporte. Nuestro departamento se dedica a la automatización de todos los informes financieros, contabilidad y distribución.

El sistema está construido principalmente en Axapta y un poco de 1C. Axapta interactúa con docenas de nuestros sistemas internos, ya que es la fuente de datos maestros sobre adquisiciones y finanzas. Nuestras otras plataformas acceden constantemente a Axapta, por lo que hay mucha integración y soporte.

El principal desafío para mí fue una rápida inmersión en el proceso, tuve que aprender y desarrollarme muy rápido. En los tres meses del período de prueba, aprendí cómo funcionan nuestros procesos en Axapta. Sentí que estaba recibiendo otra educación superior (más sobre cómo compartimos el conocimiento dentro del equipo aquí ).

¿Cuál es la parte más difícil de tu trabajo?

La parte más difícil son las tareas urgentes de soporte. Según SLA, hay literalmente unas pocas horas para resolver errores críticos. También hay tareas complejas que se pueden extender porque se necesita un análisis más profundo. Si no puede hacer frente solo, entonces puedo ir a mi supervisor y pedir ayuda. Incluso diríjase al jefe de desarrollo de ERP y diga que no sé qué hacer y cómo resolver el problema. Y esto es bastante alentador, porque todos entendemos que si el error no se corrige a tiempo, entonces es posible una situación de parada para el negocio, y esto es crítico para el equipo, ya que este es el dinero de la empresa. Si esto sucediera, seguramente habrá un análisis retrospectivo del incidente: qué hacer y cómo evitar errores la próxima vez.

Diversidad tecnológica: zoológico, pero contacto


imagenSoy Timur Nurutdinov, soy responsable de todo el desarrollo en Lamoda. Desde mi punto de vista, tenemos un gran e-com con una gran cantidad de procesos, en el que muchas personas trabajan, y aún más personas usan nuestros servicios. Para que todo esto funcione, utilizamos casi todas las tecnologías modernas, ya que tenemos que resolver casi todos los posibles problemas de TI. Nuestro radar técnico tiene un zoológico real, pero es un contacto, puedes probarlo todo. Por supuesto, tenemos menos desarrollo interno que los gigantes de TI, pero las tareas y los proyectos no son más fáciles que los de ellos.

¿Y qué te gusta personalmente de tu trabajo?

El departamento de TI de Lamoda tiene muchos usuarios: clientes, clientes comerciales, empleados de la empresa. Y para mí es un placer especial ver el resultado de nuestro trabajo, cuando resolvemos rápidamente sus problemas. Hice un informe completo sobre esto en HL ++ 2019, donde conté en detalle qué otros desafíos plantea la industria del comercio electrónico a un ingeniero y por qué lo disfrutamos.


All Articles