He estado trabajando para una gran empresa (más de 8000 empleados) durante casi 2 años y me contrataron justo después de que terminé mi curso de estudio.
Todo el mundo aquí tiene que lidiar diariamente con el código heredado que a menudo está muy mal diseñado y lleno de piruetas. Al principio, mantuve un perfil bajo, tratando de no criticar demasiado las cosas. Pero la situación, tal como está, se ha vuelto muy difícil de manejar y parece que nadie está dispuesto a mejorar / reemplazar las herramientas que utilizamos.
Para ser más explícitos tenemos:
- Una herramienta de control de origen obsoleta (Visual SourceSafe)
- Makefiles antiguos simples que solo admiten la reconstrucción completa
-
.def
archivos que deben mantenerse manualmente y por separado para todas las arquitecturas existentes - los encabezados monolíticos archivos y proyectos con muy pocos archivos diferentes (pero cada uno tiene alrededor de 3000 líneas de código, que a veces se ocupa de tareas muy diferentes)
- no se usan los "nuevos" recursos de idiomas (el pozo
std::string
no es tan nuevo, pero nadie lo utiliza excepto yo)
Decidí, hace unos meses, hacer algo al respecto, diseñando un nuevo entorno de compilación. Podría conseguir que las compilaciones incrementales funcionen de manera confiable, tiempos de compilación más rápidos, proyectos mejor estructurados, generación automática de archivos .def
. Incluso creé un puente de / a Git a / desde Visual SourceSafe.
Mostré mis logros a varios colegas y a nuestro jefe, pero fue como si a nadie le importara. Eran todos como: "Bueno ... la gente está acostumbrada a hacerlo de esa manera ahora. ¿Por qué cambiaríamos las cosas?"
Los cambios que sugerí se diseñaron para que pudiéramos tener una transición suave del sistema antiguo al nuevo. Cada mejora podría aplicarse por separado y de forma segura.
Incluso intenté involucrar a algunos de mis compañeros de trabajo en los cambios. Pero hasta ahora, no hay éxito.
¿Ya te has enfrentado a una situación similar? ¿Qué se puede hacer cuando "predicar con el ejemplo" no funciona?