I work in deep learning and image processing, but I have skills in software development, information security and IT. My company seems hell-bent on doing everything wrong in these three domains, and it impacts my work.
On the development side, all production code is hacked together in the quickest and dirtiest way possible, with zero comments and uninformative names, and sometimes not even checked into a central repository. I have a hard time understanding what happens in it, and even with the code's author's help (most of it is from a senior researcher), changing anything requires hours and hours of debugging and retries.
Security is non-existent. All machines are required to not have strong authentication (same username and password everywhere), and changing the username would break some of the internal tools that everyone uses. Nobody updates anything by fear of breaking something; as a result, most computers still run Windows 7 or out-of-date Linux systems. This is more of a problem for the company long-term than for me.
IT isn't managed by anyone, except an employee who explicitly doesn't want this responsibility and doesn't have enough time for it. They have been asking the CEO to hire someone for this task for a long time, in vain. Since I'm somewhat competent in this, I accepted to occasionally help with it, as long as it doesn't impact my job.
The more senior engineers are aware of all that, but since the CEO refuses to hire someone to manage IT or improve the code full-time, we developers and researchers have to struggle by ourselves when something breaks. The CEO doesn't understand or care about development and IT, and only rewards new developments.
I like what I do here, and I get good experience in deep learning despite the lack of organization. The company is reasonably successful (in a niche market). But I spend more time struggling with unmaintainable code than actually doing my research-and-development job. I would ideally like to re-write the software I depend on to be more robust, but I don't want to spend all my time doing someone else's job.
Is there anything I should do, apart from looking for other positions and internally advocating for change?