I believe the company I work for has very poor software&people management practices. I want to approach upper management about this. I believe I should have a concrete explanation on what the problem is and what possible solutions could be applied.
A few years ago, I've joined this company where I expected the work to be mostly related to mechanical/electrical engineering. The manager and director of the department are former public employees who worked in the field. They are used to managing project schedules by asking suppliers about their delivery times (I mean to say they do it poorly). They don't take part on the actual work being performed and don't enjoy managing people. Often, they fail to communicate very basic things to employees. I'm currently under the impression that if someone needs to hear something from our managers, I need to schedule myself a meeting with the manager, the other someone and myself to ensure that the thing was said.
More recently, the company has been turning to software development activities. However, the bosses have only professionally worked with small FORTRAN software pieces, they never used a versioning control system themselves. They know nothing about scrum, agile or whatever similar management approach. To make things worse, most employees are recent graduates (including myself) and some are interns. Furthermore, a lot of code being developed by people from mechanical/electrical engineering backgrounds. Because managers rarely explain things clearly and openly, nothing and no one around here resembles a tech lead, a scrum master, a product owner and so on. Rarely anything has clearly one responsible person. It is not uncommon that some employees will spend hours talking loudly about non-work related subjects, never to be approached by the managers about it.
This leads to very poor practices by the team, no rules being enforced, not so critical decisions being the reason for very heated disputes, project advancements being "overly optimistically" reported to managers, the few rules in place not being respected, not so few people quitting the company and so on. Ultimately, I'm concerned that the deliveries won't be met, and meanwhile the workplace environment is becoming more and more toxic as good people leave and deliver pressure builds up.
I have made complaints to both the manager and the director of the department. Their responses range from "forgetting" whatever I requested to be addressed or considered, to even poor attitudes with handling people. For example, I once complained that I was concerned over some issues with the code being developed by another team, and gave software pieces from an employee who had already quit as an example. I asked back then that the managers should do some following up and possibly inspecting randomly pieces of code and documentation (they don't even access the repositories used for code development). Instead of doing so, they reported my complaint during a department meeting (mentioning my name) and tasked a recently graduated recently hired employee with developing a document with guidelines to avoid similar issues (who considered ignoring the assignment, then did it poorly, while the managers have never read nor tried to enforce such document).
Quite a few people have reached the director asking to be "pseudo-managers" within some projects. Some of them had some temporary title (which was never really enforced by the managers on daily life). None actually got a promotion, nor did a good job. I do believe that a couple of them have overstepped what a non-manager coworker should do when treating colleagues. I believe most of these people actually thought they would soon be promoted as a natural consequence of their temporary responsibility.
The lifecycle of each project is quite long (2 years+), so allowing someone to try crazy ideas so he/she can later be judged by end-results or customer feedback are both out of question.
I'm considering reaching out to the CEO (who claims to be receptive of any order of complaints), but I'd like to avoid telling stories about past issues, and to be able to propose a few solution options. It would be also nice if I could provide some reference on how good companies manage this kind of projects. My first suggestion would be to hire a consultant to develop and enforce good practices (i.e. establish a good VCS is properly used by the whole company, establish and enforce tech-lead and product owner roles and so on). Much of the work is very field-specific, so there is hardly any chance that an outsourced senior employee could replace either the manager or director and perform well. I don’t expect the CEO to have the time and patience to coach the director and manager to improve their management and communication. Due to several reasons, the CEO cannot fire any of them.
I work in an industry where finding jobs is not exactly easy, and I enjoy the work itself, but this is really worrisome and I'd like to find approaches to improve this situation.