2

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.

  • 1
    may god have mercy on your soul. But how is it different from workplace.stackexchange.com/questions/13910/… and other Qs – aaaaaa May 15 at 22:22
  • 1
    @aaaaaa: If lack of VCS were my only problem I'd be so happy. – Mefitico May 16 at 3:11
  • "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." Have you thought about trying to get that changed? Set things up so you can go Agile, and deliver continuous business value. – nick012000 May 16 at 4:11
  • i mean, VCS is one example of the possible changes. You might be interested in reading Peopleware – aaaaaa May 16 at 4:48
6

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.

Your intention is noble. You are seeing problems and you can describe a path towards a solution or at least a better place.

The problem is that you are talking about change in an organization. That's a very difficult thing to do, even for a CEO, let alone someone in the middle of the organization. It doesn't matter what kind of change you talking about. What matters is the size of the org and the scope of your change.

There are models for how change occurs. It is not easy and it takes A LOT of time, more time than you think. You need to overcome organizational inertia and network effects that grow non-linearly with the size of the org. The name for this theory is called "diffusion of innovation." See https://www.youtube.com/watch?v=9QnfWhtujPA

As you might have noticed, a well-stated fully logical case in favor of your ideas for change falls flat. You're not going to be able to pull the CEO or other exec aside and convince them no matter how right you are and no matter how airtight your argument is. Miraculous epiphanies aside, things just don't go down that way in real life.

The most practical thing you can do is to gain the cooperation of like-minded people. Start small with small projects that are robust to failures and learning experiences and that don't have visibility to the larger org. This means finding "innovators" who are willing to take risks just for the excitement and learning rewards it brings.

Use these to develop adherents to your ideas and then keep working in a positive, non-confrontation way towards larger acceptance of your ideas. You'll have to eventually target other groups of people that aren't motivated by newness for it's own sake, but are looking to some material advantage to your new ideas.

Eventually, you'll need to gain management's approval and backing. At that point, your ideas will have momentum, and if you're lucky will evolve to something that looks like success.

  • 1
    Start to unofficially initiate a "pilot" project with proper project management and it's tools to make an example how to do it right is the easiest way to go. If it works management will see it because it saves money, if it does not work they will probably not notice it. – GittingGud May 16 at 11:20
1

All the way to the last paragraph, my main thought was 'polish up the old resume'... Your company seems to be heading fast for the proverbial brick wall.

There are have been several rounds of badly-run companies making an appearance here recently. The consensus was that the most effective thing you can do is set a good example. Setup some good version control software, use it religiously, and find some good tutorials to pass around to the interns/junior people. Have some theoretical articles handy so you can defend your work methods.

And the management will probably be atrocious till the bitter end. But you could setup a meeting with those of your peers who are interested, and discuss things like agile methods and how you can use them in your personal work if nothing else, explore communication/project management tools and report to each other about them etc. Grassroot education can at least bring some improvement.

0

Maybe those managers can understand the value of backups. Having a single place for code repositories would mean that it would be easier to make backups of potentially very valuable code. Maybe some third party service provider could do this so there would be no need to have some expert in house.

This is assuming that those bad practices include not taking care of backups.

Having those code repositories would at least be one small towards better practices.

0

I'll second what @GeorgeM said in passing: start looking for a new job.

If things are as you described, then the company itself is being put at risk because of the inept management. So you are in an industry where the job hunt is slow, and your current ship is slowly sinking. JUMP SHIP!

You can enjoy the work at a competitor, hopefully with less drama.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.