Programación a punta de pistola

En la automatización empresarial, el llamado. "Proyectos de prostitutas" (no se me ocurrió el término). Se trata de clientes cuyas tareas han sido resueltas por multitud de personas diferentes, sin un solo centro de toma de decisiones, ningún análisis, arquitectura reflexiva y sentido común. El cliente simplemente crea una lista de deseos, los programadores simplemente la implementan.



El motivo suele ser la larga duración de la automatización. Un pequeño equipo de aviones de ataque profesionales está trabajando en la implementación inicial, el proyecto dura varios meses, el dinero y las tareas fluyen como un río. Luego, la corriente principal se vuelve escasa, comienza el mantenimiento: pequeñas tareas que se asignan a pasantes o programadores intermedios. No es posible asignar uno o dos especialistas al cliente, porque tiene pocas tareas y la rotación de personal hace su trabajo.



El cliente, por supuesto, está molesto por este enfoque. Simplemente se acostumbraron a un especialista, o al menos recuerdan su nombre y número de teléfono, cuando obtienen otro. Debe volver a explicar todo, mostrarlo o incluso pagar por "analizar cómo funciona todo para usted"; por supuesto, nunca hay documentación. La mayoría de los clientes ya se han resignado, porque entendieron que este es el caso en todas partes, en cualquier oficina de automatización, incluso para autónomos.



Pero algunos clientes, por sus características individuales, no están preparados para hospedarse. Algunos contratan a un programador en el personal, otros seleccionan interminablemente a los "socios" y otros cortan el nudo gordiano periódicamente: lanzan un nuevo gran proyecto de automatización. Y algunos se paran sobre el alma de un programador con una pistola.



Entonces yo era ese programador de clase media; tenía algo de experiencia, pero no tan seria como para trabajar en brigadas de asalto. El gerente se acercó y dijo que había una tarea para el próximo proyecto de prostitutas. Es cierto, dice, que el cliente tiene algunas peculiaridades. Ignoré estas palabras: nunca se sabe quién tiene qué características.



Se le preguntó quién había trabajado anteriormente con este cliente. Resultó que más de la mitad de todos nuestros programadores. Y ahora, por alguna razón, nadie realmente quiere, ya sea ocupado, o los higos entienden qué. En resumen, vaya, dice el gerente, no hay nadie más. Afortunadamente, nos tomó de 5 a 10 minutos caminar desde nuestra oficina a pie.



La oficina estaba en un edificio de oficinas, pero la entrada, por alguna razón, era desde el patio trasero. Apreté el botón de llamada, me presenté, escuché "esperar". Esperó unos diez minutos (como supe más tarde, nos llamaron y nos preguntaron si les habíamos enviado tal o cual especialista) y finalmente entró. Una chica contadora me recibió, me llevó a una sala de reuniones y me sentó en una mesa grande. Me conecté a su sistema desde una computadora portátil, ella mostró lo que se debe hacer: modificaciones menores a un gran informe colorido. Bueno, ella se fue.



Durante media hora trabajé completamente solo, logré ponerme cómodo y relajarme un poco, ¿y por qué nadie quiere trabajar con esta buena gente? - cuando de repente un tipo extraño entró en la sala de reuniones. Silenciosamente procedió a la cabecera de la mesa y se derrumbó en la silla. Dije hola, pero no escuché una respuesta. De acuerdo, al diablo con él, nunca se sabe, de repente es el propietario, no es un negocio real saludar a los programadores.



El hombre era bastante notable. Lo primero que me llamó la atención fue el rostro lleno de cicatrices y la expresión de un típico representante de los exitosos sobrevivientes de los 90. En ese momento, estos personajes se encontraban a menudo, por lo que no me sorprendió particularmente. Pero, por si acaso, enderezó la espalda y miró el monitor.



Con la visión periférica, noté que el hombre me estaba mirando durante varios segundos, luego se dio la vuelta y comenzó a murmurar algo, o estaba tarareando una canción o simplemente hablando solo. Cuando levantó las manos y las puso sobre la mesa, la chaqueta se hinchó y noté un objeto extraño. Entonces me di cuenta de que era una funda. No sé qué contenía, pero por si acaso asumí lo peor, enderecé la espalda aún más, hice una cara extremadamente concentrada y toqué las teclas rítmicamente.



El tipo continuó murmurando algo, balanceándose en su silla y, a veces, mirando el teléfono. Traté de fingir que no le prestaba atención. Vivimos en el siglo XXI, estamos en el centro de una ciudad bastante grande, ¿me disparará, después de todo? Probablemente, simplemente enviaron a cuidarme. La misma contadora.



Luego, de acuerdo con la propia ley de la naturaleza, la niña regresó. Pregunté cómo estaba el progreso, mostré que estaba casi listo. Juntos cavaron más profundo, retorcieron y volvieron el informe, el resultado le convenía. Ella dijo que terminara y llenara la base de trabajo, y fue a charlar con el tipo.



Hablaron de alguna manera inusualmente alto, aunque, tal vez, me pareció así, después de una larga programación en silencio. Hablaron de personas desconocidas, eventos y hechos, después de lo cual el hombre de repente sacudió la cabeza en mi dirección y preguntó: "¿Cómo es?" La niña también me miró y respondió "nada parecido, más inteligente que la anterior". Ambos sonrieron y la niña salió de la sala de reuniones. Finalmente, una chispa de esperanza apareció en mi alma de que hoy cenaría en casa.



Pero entonces el tipo dijo en voz alta: "y yo siempre dije: deberías hablar con chicos inteligentes con una pistola en la mano". Al mismo tiempo, estaba mirando hacia un lado. Por si acaso, decidí fingir que no había escuchado nada. No funcionó para enderezar aún más la espalda.



La siguiente media hora pasó en completo silencio. El tipo, por alguna razón, dejó de murmurar y se sentó en silencio. La tensión aumentaba. Me pareció que estaba callado porque estaba esperando una respuesta a su comentario. Intenté desesperadamente pensar en qué decir. Mi espalda recta, por la que ya era posible pasar geometría descriptiva, estaba desagradablemente húmeda.



No pude soportar más este estrés, decidí que no empeoraría. Y preguntó dónde se puede beber agua aquí. Por alguna razón, el tipo no reaccionó de ninguna manera: se sentó y miró el teléfono. Lo miré y esperé. Pensé en agitar mi mano, pero con el tiempo me di cuenta de que era mejor no hacerlo; de repente, su memoria muscular de alguna manera no reacciona tan bien y comienza a disparar contra mi palma.

Así que seguí mirándolo. Después de un par de minutos repetí la pregunta y finalmente me escuchó. Y cambió su rostro de una manera que solo Leonardo DiCaprio puede.



Me miró, esbozó una sonrisa de bienvenida y cortésmente dijo: "Le ruego que me disculpe, no lo escuché". Repetí: ¿dónde puedes beber agua aquí? El tipo se inclinó hacia adelante y dijo en un tono un poco culpable: "Estoy sordo después de una conmoción, te ruego que me disculpes, ¿puedes hablar un poco más alto?" En este punto no pude contenerme y sonreí. Bueno, empezamos a hablar.



Resulta que el tipo es el asistente de seguridad (lo que sea que eso signifique). Ella ha estado cuidando a los programadores durante mucho tiempo, y el arma es la característica específica de la profesión y el puesto. Pero, en general, es blanco y esponjoso, e incluso respeta mucho a los trabajadores del conocimiento. Más precisamente, respetado, hasta un caso.



Solo una vez, otro "socio" resolvió un problema elemental de una manera muy exótica. Tienen un proveedor con un montón de cuentas corrientes. Debido a las características específicas del negocio, el dinero debe enviarse al proveedor a cuentas estrictamente definidas, según la transacción y los bienes y servicios adquiridos. El proveedor no emite facturas para el pago, todo funciona con un algoritmo comprensible para los humanos. Decidimos automatizar este algoritmo.



En principio, el programador hizo todo bien: las condiciones para elegir una cuenta corriente funcionaron adecuadamente. Solo aquí los detalles para el pago (número de cuenta, BIC, cuenta corta) el programador, por una razón conocida, ingresó directamente en el código. Y vivió bien, hasta que el Banco Central cerró otro banco por el infierno.



La persona encargada de los pagos sabía de esto e hizo cambios por adelantado en el directorio de cuentas de liquidación: editó el registro existente, cambió el número de cuenta, el banco, etc. Para que los informes sobre el movimiento de dinero no se dividan en dos líneas. El algoritmo del programador, naturalmente, no podía tolerar esto: el número de cuenta estaba codificado en el código. Entonces el dinero fue al banco que se hundía.



En general, la situación es generalizada: existe algún tipo de retraso entre el anuncio del cierre del banco y la terminación de las transacciones a través de él. Si alguien logró ejecutar dinero durante este retraso, entonces es problemático recuperarlo: debe actuar de manera muy rápida y decisiva.



Aquí están los chicos con una pistola y corrieron y saltaron. Especialmente porque no pudieron hacer nada: el dinero terminó en la cuenta corriente del proveedor que se cerró. Y hay gente sentada seria y delicada. También, probablemente, pistolas. A ellos, en general, no les importa: no recibieron dinero y pueden exigir una repetición del pago, solo en una cuenta corriente normal.



En resumen, rodamos por la mitad con dolor. Pero ahora crean una atmósfera especial para los programadores. Por si acaso.



All Articles