- Tras la muerte del fundador, la empresa familiar quedó con casi nulo control de la información y visibilidad contable; pese a un gran flujo de efectivo, las cuentas mostraban pérdidas y crecía el temor de una quiebra
- El nuevo sistema centralizó el almacenamiento de archivos, el archivo documental y el control del uso de internet sobre un servidor basado en NetBSD con VM de XEN, Samba NAS, Archivista, Squid y DansGuardian
- Cuando comenzó la centralización, una persona con influencia previa exigió la contraseña de administrador y el borrado del servidor, presionando en particular para eliminar “ese servidor” y con ello los mecanismos de control
- Días después, el servidor fue hallado con los discos desaparecidos, tras una falla del UPS, una reconexión eléctrica incorrecta y una caída de red, pero los datos de ese momento se conservaron gracias a un respaldo externo aparte
- Un técnico puede construir sistemas, pero no puede salvar todos los problemas si dentro de la organización faltan la autoridad y la cooperación necesarias en medio de desconfianza y presiones internas
La falta de control que salió a la luz tras la muerte del fundador
- Hace unos 16 años, el fundador de una empresa familiar que administraba y poseía varias compañías murió de forma repentina
- Al desaparecer la persona que concentraba en sí misma todas las decisiones y la información, la familia que quedó se encontró en una situación difícil para sostener la operación del negocio
- Uno de los hijos decidió apartarse del negocio familiar y concentrarse en su propia carrera
- Otros familiares siguieron involucrados en la operación diaria
- La esposa, ya mayor y retirada, quedó a cargo de la empresa, pero la situación excedía sus capacidades
- El mayor problema era la ausencia de flujo de información
- La empresa no tenía un sistema digital adecuado
- Los empleados usaban sus propias PC o laptops personales
- Los datos contables y administrativos estaban dispersos en equipos individuales, y a veces se los llevaban a casa al terminar la jornada
- Desde la perspectiva de los dueños, entraba mucho efectivo, pero las cuentas siempre mostraban pérdidas, y crecía la preocupación de que “a este paso podrían quebrar en pocos años”
Construcción de un servidor central y un sistema de gestión documental
- La solución era implementar un sistema formal de TI que hiciera la gestión de datos transparente y trazable
- Se aprobó de inmediato la compra de un router, switches, varios equipos de red y un servidor con múltiples discos
- Como sistema operativo se eligió NetBSD, como era costumbre en ese momento
- Se configuraron varias VM con XEN
- Una VM asumió el rol de NAS basado en Samba, para que las PC guardaran archivos en un repositorio central
- Otra VM ejecutaba Archivista
- Como la interfaz de Archivista aún no tenía localización al italiano, también se hizo una traducción manual para que fuera fácil de usar
- Siguiendo la práctica común de la época, también se añadieron un proxy de caché Squid y el filtro de contenido DansGuardian
- La conexión a internet era muy lenta y solía colapsar cuando se cargaba demasiado
- Según los logs, gran parte de la carga provenía de usos recreativos durante el horario laboral, como descargar películas
- No había supervisión ni control del uso de internet
La resistencia que provocó la centralización
- Tras poner en marcha el sistema, se capacitó al personal, y muchos empleados recibieron de forma positiva que los archivos quedaran reunidos en su lugar y la gestión documental se centralizara
- El OCR, el archivado y la gestión documental centralizada reducían mucho el tiempo de trabajo y mejoraban la eficiencia
- Parte del personal contable seguía siendo escéptico
- La persona que más se opuso fue el antiguo brazo derecho del fundador fallecido
- Sostenía que no hacía falta el nuevo sistema
- Su estilo de vida había cambiado drásticamente, y las compras incompatibles con su salario eran una señal de alerta
- En la empresa no había supervisión y abundaban las transacciones en efectivo
- Cuando el sistema ya estaba estabilizado, se contactó alguien que decía ser el responsable técnico de la suite de software usada en la empresa, y pidió el diagrama completo del servidor y la contraseña de administrador
- Esa persona daba por hecho que el servidor era Windows, pero la configuración real era NetBSD ejecutando VM de NetBSD y Linux
- Dijo que, como no tenía tiempo, al día siguiente borraría ese servidor e instalaría Windows
- Borrar el servidor habría sido devastador para todo el nuevo flujo de trabajo
- También rechazó la propuesta de proporcionar otro servidor en cuestión de horas
- El ingeniero interpretó esto como un intento de eliminar el sistema central de archivos y los mecanismos de control
La presión por “ese servidor”
- Los dueños, desconcertados por su falta de experiencia y por no saber cómo responder, llegaron incluso a pedir que se le dejara borrar el servidor y luego ellos asumirían el costo de nuevo hardware y del trabajo posterior
- El ingeniero rechazó esa propuesta
- El nuevo servidor y el sistema central de archivos eran mecanismos de control que permitían a los dueños y auditores ver los datos contables
- Consideraba que cada día desaparecían miles de euros mediante “transacciones”
- La persona opositora terminó diciendo que no necesitaba “cualquier servidor”, sino ese servidor
- Presionó con la idea de que, si no cooperaba, sería difícil trabajar en esa región
- El ingeniero respondió que no tenía clientes allí ni los quería, y que prefería hacer bien su trabajo por sus amigos antes que conseguir nuevos clientes
- Durante la conversación, el ingeniero reveló que se trataba de alguien que lo conocía desde que era niño
- La otra persona lo reconoció tarde y cambió de actitud
- Se disculpó, dijo que buscaría otra solución y colgó
- Nunca volvió a contactarlo
Los discos desaparecidos y el respaldo que sobrevivió
- Aunque se informó a los dueños que el problema estaba resuelto, en pocos días el servidor sufrió una serie de “incidentes desafortunados”
- El UPS falló
- El servidor fue “desconectado por accidente” y luego reconectado de forma incorrecta
- Finalmente dejó de responder en la red
- Al abrir el servidor, los discos duros habían desaparecido
- Por suerte, ya estaba funcionando un respaldo separado que solo conocían los dueños
- Los datos del servidor se respaldaban externamente hacia un pequeño equipo PCEngines Alix instalado discretamente en la casa de los dueños
- Ese equipo estaba compuesto por NetBSD y dos unidades USB
- El hardware y los discos eran lentos, pero funcionaban con fiabilidad
- Ese equipo hoy sigue funcionando en otro lugar, ahora con FreeBSD, prestando servicio
- El ingeniero entregó a los dueños los datos disponibles hasta ese momento y les preguntó cómo querían proceder
- Los dueños lo pensaron durante días y semanas
- Al final dijeron que quizá podrían investigar si había base para denunciar un robo
- Después no volvió a saber nada más del asunto
La oferta rechazada y los límites que quedaron
- Más adelante, la empresa le hizo una oferta alta para encargarse de la infraestructura de red y de una reforma de los procesos internos
- Dijeron que pagarían lo suficiente como para compensar incluso haber comprado una casa lejos y tener que dejar de lado a otros clientes
- Un conocido en común recomendó aceptar, diciendo que el flujo de efectivo era grande pero demasiada gente se estaba aprovechando de la empresa por falta de controles, y que asumir ese trabajo sería de gran ayuda
- El ingeniero rechazó la oferta de inmediato
- Habría tenido que renunciar a la dirección que llevaba en su trabajo y su vida
- Tendría que librar una pelea que no disfrutaba y que quizá ni siquiera podría ganar
- También pensaba que, a veces, la gente deshonesta gana
- Según supo después, los dueños fueron retrocediendo poco a poco
- Más tarde hubo otra solicitud, y cuando todo estuvo listo volvió a bloquearse
- Al final, no le quedó más remedio que irse
- No le dieron las herramientas ni la autoridad para hacer lo necesario
- Los dueños estaban abrumados y no preparados, y con frecuencia cedían a la presión de quienes les hacían daño
- Algunos lectores especularon con una implicación del crimen organizado, pero no era el caso: la situación era muy problemática y deshonesta, pero no se trataba de crimen organizado
- “La peor parte” eran las dinámicas internas, el abuso de confianza y las conductas inapropiadas
- Por privacidad y por la carga de contar toda la historia, no se dan más detalles
- Un técnico puede resolver problemas, pero cuando las personas involucradas intentan proteger el problema en vez de corregirlo, no puede resolverlo todo
1 comentarios
Opiniones de Hacker News
Hace tiempo trabajé en una organización sin fines de lucro, y el nivel de aprovechamiento de intereses propios que ocurría dentro del marco legal era enorme.
Una vez nos auditó una agencia gubernamental, y esa misma agencia tenía muchas restricciones operativas por el lobby del sector sin fines de lucro.
Después de la auditoría, el responsable de la agencia emitió un comunicado de prensa en el sentido de que “no solo deberían poder publicarse las ilegalidades claras, sino también los hallazgos relacionados con los estándares que los ciudadanos esperan de las organizaciones sin fines de lucro. La gente debería saber cuánto de las donaciones se usa realmente para los fines de la organización y cuánto termina, en la práctica, como regalos para directores y empleados”, y eso resumía muy bien el punto central.
La corrupción continúa; simplemente encuentra vías legales.
A grandes rasgos, la estructura es: fideicomiso → póliza de vida entera grande y personalizada → la póliza de vida entera financia el nuevo fideicomiso y los seguros de vida de la siguiente generación → el remanente de los fideicomisos antiguos que no se puede extraer de forma fiscalmente eficiente se dona a una organización benéfica controlada por la familia → esa organización benéfica apoya a organizaciones sin fines de lucro controladas por la familia.
En una configuración así, la organización sin fines de lucro termina siendo básicamente una caja de efectivo privilegiada, y un medio para impulsar intereses propios mediante puestos cómodos como empleado o en el directorio, o, en raras ocasiones, mediante obras benéficas alineadas con los objetivos económicos de la familia.
Lo que aquí parece corrupción es el valor real, y lo que parece caridad se parece más al costo que se paga en lugar de impuestos sobre esa pila de dinero.
El verdadero problema es que este tipo de comportamiento también se vuelve posible en organizaciones benéficas que operan recaudando donaciones de personas comunes.
Por eso cambió mucho mi forma de ver a estas organizaciones en general.
Quienes crean las restricciones son los funcionarios públicos y los políticos electos; los lobbistas no pueden obligarlos a hacer nada.
Si quienes toman decisiones son corruptos y no actúan en favor del interés público, hay que hacerlos responsables.
Tanto en HN como en la vida real, casi nunca veo a alguien decir “seguí cómo votó mi senador sobre cierto proyecto de ley y, al ver que apoyó una mala ley, le envié una carta”, o que votó en contra en la siguiente elección; de hecho, la mayoría no hace eso.
La democracia no consiste solo en votar, sino también en vigilar las acciones de las personas elegidas y exigirles responsabilidad, y ahí es donde la ciudadanía falló.
Si sigues votando sin hacer seguimiento de lo que hace tu representante, estás contribuyendo activamente a empeorar la situación.
Por supuesto, en muchos países el lobby debería regularse con mucha más fuerza o prohibirse, pero aunque se prohíba el lobby, si no se hace seguimiento de la conducta de los representantes, ellos pueden seguir actuando en beneficio propio y sacrificando los intereses de la ciudadanía.
El problema de raíz no es el lobby en sí, sino la corrupción y la falta de rendición de cuentas.
Ya he visto situaciones así, y por eso las copias de seguridad externas son realmente importantes.
Incluso he restaurado desde respaldos y entregado datos que alguien había intentado borrar deliberadamente para evitar responsabilidades.
Esta historia también muestra un patrón común incluso cuando la gente no destruye datos a propósito: algunas personas derriban todo lo que heredaron y luego culpan a sus predecesores por los problemas resultantes.
Heredé una base de código mala e hice lo mejor posible por mejorarla, pero el tiempo era limitado, y después de que me fui, la siguiente persona culpó de inmediato a mi gestión por las partes malas que aún quedaban.
Siempre me resulta interesante lo fácil que surge la corrupción.
Uno pensaría que contabilidad revisa dos veces y todo eso, pero he visto demasiadas empresas donde alguien crea una cuenta, el dinero empieza a salir y nadie se entera durante años.
También llegué a crear facturas automáticas para algunas empresas y descubrí que, aunque faltaban datos de varios meses, aun así se habían pagado montos considerables.
Sentí que habrían pagado aunque el contenido de la factura hubiera sido casi cualquier cosa.
Hace poco, un proveedor simplemente olvidó cobrarnos miles de dólares durante varios meses, y solo lo recordó cuando pedimos un aumento de cuota.
Hace poco, el exadministrador municipal de La Cañada-Flintridge, California, fue acusado de fraude: enviaba a aseguradoras de autos, con formato de oficio y el logo de la ciudad, facturas por daños a propiedad municipal, y luego se quedaba con el dinero.
Hace unos años, alguien también envió facturas a FB, Google y otros, y les sacó 100 millones de dólares.
Siento que me estoy perdiendo algo.
Más adelante le pidieron a esa persona que resolviera el problema y, en la práctica, le ofrecieron darle lo que quisiera; él se negó y luego se quejó de que no le dieron las herramientas necesarias.
“Ponle precio” debería incluir las herramientas y la autoridad necesarias, incluida la propiedad del proceso.
Adivinando a grandes rasgos, quizá la persona que “causaba el problema” tenía una relación privilegiada con los dueños, y los dueños no querían excluirla por completo del negocio.
Así que decir que no le dieron las herramientas necesarias podría significar que no le dieron autoridad para apartar a esa persona.
Cuando me piden asesoría técnica, todavía intento dar buenas recomendaciones.
Pero en cuanto dicen “vamos a seguir parte de tu consejo, pero esto otro queremos hacerlo de la manera equivocada”, normalmente digo “entonces mucha suerte” y me retiro.
Nota del autor: debido a la gravedad del incidente, muchos lectores especularon con la participación del crimen organizado, pero no fue así.
Es cierto que la situación era extremadamente problemática y deshonesta, pero la “peor parte” a la que aludí tenía que ver con otras dinámicas internas, abuso de confianza y conductas inapropiadas; para proteger la privacidad y reducir la carga del texto, no voy a entrar en más detalles.
Algunas regiones de habla italiana son tristemente célebres por sus organizaciones de crimen organizado, así que me pregunto si a alguien le sorprendería que también hubiera sido el caso aquí.
De hecho, cuesta más imaginar que no lo fuera.
Habría que indicar la época para poder estimar qué tecnologías estaban disponibles entonces; no entiendo por qué omitir una parte tan importante.
También me da curiosidad qué herramienta usaron para sincronizar y hacer backups en la casa del dueño.
Personalmente, también me intriga por qué lo migraron a FreeBSD. Me gustaría saber si era para otra aplicación o uso.
Es una historia realmente genial y, con un enfoque actual, imagino algo como Nextcloud/ownCloud con funciones de colaboración, y rsync/Syncthing para sincronizar con un NAS externo, por ejemplo en la casa del dueño.
En cuanto a las decisiones, yo habría aceptado el puesto de director y contratado a un MSP local para que trabajara como yo quería.
En situaciones así, muchas veces basta con tener ojos y oídos confiables fuera de la estructura interna corrupta.
El ejército y las organizaciones diplomáticas usan un principio similar: tienen un XO contratado y controlado por la sede, separado de la estructura de personal local, y ese XO reporta a la sede, no a la estructura local.
Para los backups usamos sincronización basada en rsync, y manteníamos el historial usando hard links y rsync encima de eso.
También había un script en Perl que automatizaba todo, pero hace mucho olvidé su nombre.
Entiendo el resto y estoy totalmente de acuerdo. Solo que en ese momento era joven y, sinceramente, me interesaba más construir algo con clientes sanos que de verdad querían crear algo bueno, que intentar salvar una situación casi irrecuperable.
Cambié el ALIX a FreeBSD para otro trabajo, y el soporte nativo de solo lectura de FreeBSD encajaba perfectamente con la nueva carga de trabajo.
Italia. ¿El dinero no era problema, pero no usaban una consultora, y tampoco estaba involucrado el crimen organizado? Sí, claro ;-)
Me pregunto si podrías explicar por qué no hiciste esa llamada que habría podido hacer que la otra persona cambiara de actitud.
Supongo que fue por respeto al fallecido o por algún secreto enterrado.
La persona a la que pensaba llamar era alguien muy cercano a mí, y se habría sentido extremadamente decepcionada si se enteraba de lo que estaba pasando.
Esa persona estaba muy orgullosa de haber ayudado, en una época difícil, precisamente a la misma persona que ahora me estaba amenazando.
Además, esa persona cercana a mí tenía problemas graves de salud, pero seguía teniendo autoridad, así que al final decidí no causarle más dolor por algo que en ese momento habría sido inútil.
¿Por qué hay saltos de línea en cada oración?
Poner un salto de línea después de cada oración no es lo habitual. Aun así, el texto en sí fue interesante.
También encaja bastante con ese tono inútil de “lecciones aprendidas” aunque en realidad no se haya logrado nada.