My post follows this one: How to make young software engineers improve the quality of their output?
Without getting into the details of the previous post, we have a software project which was rushed, and we found a lot of bugs at the end of the project only. It was conducted by a small group of young software engineer and a senior engineer promoted recently to manager (let's call him Bob). Bob reviewed the code only at the end of the project when the bugs appeared, but took an active role in management.
Now we have an issue between one of the young engineer (let's call him Dave) and Bob. Bob had kept on telling us that Dave is a very good engineer. Dave received an award from Bob last year among a very small number of other engineers. But Dave just came to us saying that Bob criticised him very harshly in private for his code, that his management's style is terrible and can't stand it any longer.
- Dave's perspective:
He reported that working with Bob is very stressful: he is consistently receiving non constructive comments/feedbacks and blames from Bob ("you know nothing about [...]", "you have serious improvement to make", "if I was responsible for hiring, I would have not hired you", etc...). When Dave asks questions, Bob sometimes doesn't answer. He claims to loose self confidence and said to be afraid of seeking advices from Bob. Bob didn't take into account the fact that the project was rushed. He just looked at Dave's code and told him "your code sucks" while ignoring the context. He claims to not receive a true mentorship from Bob, but criticism instead. Bob's strategy is to "save the team's face" in front of other employees while ignoring the problems to solve; Bob is defending and praising the team very hard in front of other people but says unacceptable things in private to him. He lacked some skills at the beginning and got no skills improvement plan from Bob but has learned a lot on his own, thinks he progressed and could work much better under better management. He was aware of the bugs and knows that bugs need to be fixed as early as possible, but was afraid about what Bob would say if he would spend time fixing them.
- Bob's perspective:
At our surprise he complains now that Dave's code needs improvement, and that Dave is responsible for most of the bugs. Bob said he commited a lot of effort to develop Dave's skills, spent so much time managing him, and it is such a pity that Dave isn't progressing. His role as a manager when an employee lacks some skills or writes bad code is to inform him, give him documentation, and the employee is responsible for growing his own skills. He doesn't want to spend time "teaching" Dave. Dave asks too many basic programming questions. Dave also has a tendency to "ignore" about requirements and given tasks/assignments. He needs to often repeat instructions/assignments to Dave. He thinks Dave brings his own problems to other people and feels humiliated that Dave doesn't recognize Bob's efforts. He claims to have never criticized Dave, and thinks Dave is oversensitive. He also points out that in China (Bob is Chinese), this is how management is done, and his management style works well with other team members. Also other team members were able to make a good work under tight deadline, why wasn't Dave able to do so as well? He acknowledge Dave's qualities: hard worker, good communicator, always available to help.
- Other team members perspective:
Although Dave's beginning was difficult, he worked hard and made a lot of progress during the last years. He is proficient in the technologies we use. No real answers about why the project had so much bugs.
I don't know what to think of this situation. At best it is very ambiguous. Until now we have considered Bob as being a very resourceful, talented and smart manager. What to think of Dave's performance and Bob's management style? Also since our company is in China (we have 10+ nationalities in our office, Dave is American, Bob is Chinese) any related information about the Chinese philosophical/psychological/economical context is welcome.