I'm trying not to turn this into a culture war, please let me know how to be respectful about this topic.
How does one get past the "saving face" or obedience / Confucius mindset on software teams? Have other people experienced this issue below?
Picture a scene:
* We have a critical bit of work that needs to get done, make a current implementation of something work with new data-types. ASAP, it's quoted to be 2 days work roughly (i eventually took it over and got it done, so it is around that size.)
* Current implementation is a boiled down, maybe "non-intuitive" version. (It's to deal with money amounts, and with a bit of maths, you can figure it one way quicker than the brute-force/naive implementation).
* We give the work to team-mate who says "yes i get it" to the problem, and "yes i get it" to the solution / implementation that we need to change. "do you understand why we do it this way?" - "yes"
* 2 weeks pass, for what is meant to be a 2 day change - he's spinning wheels. adding little changes to 3000 tests trying to make all the tests work to whatever his version is. getting stuck in the debugger for tests, not understanding what the tests are trying to do, etc, not understanding why the tests aren't working. getting frustrated.
* i take it over, 3-4 changes at the right place makes all tests pass and implementation good to go.
* he won't admit that he didn't understand it, because it makes him sound dumb (his word). He understood, but he understood his version, which was different to reality (this is how he explained it). -- any further "ok, that's acceptable, how do we test our assumptions against reality?" causes him to worry and get upset, and walk it back "no i did actually understand it." - there's a notion of "saving face" here because he doesn't want to be the person who didn't know this.
* There's also no answer to "why don't we just delete the code? why do we have this code in the first place?"
* After a short whiteboard session, he does understand it. it clicks for him, he know how we do it, but still agrees that he would do it the brute force way because that is more easily understood by looking at the code at first glance.
We have a debrief:
"did you learn something from this whiteboard session?" "yes, i've said that multiple times, it was good!" "does that mean you got something new from it?" "yes" "... to get something new, it means that you didn't have that knowledge before the whiteboard session, right?" "... no. perhaps that is an overstatement, i already understood everything, but this was good overview."
We try to encourage an open "no stupid questions" mindset across the team, and everyone for the most part gets it. We find it acceptable for people to not even understand the tests they wrote 6 months ago (because we have a big problem domain so naturally people forget) - but this is a case where the person needs to be comfortable with the notion that they don't understand something..
I've had Chinese friends talk about saving face culture (not to look bad) and the Confucius / cram-schooling /copy-the-master methodology in China and other communist countries: the master knows all. if you don't understand it, you will fail/be beaten, so you must understand and don't question the master.
If teammembers don't feel comfortable saying they don't understand, they won't get help to unblock them, and so work slows down. I don't feel like it came from our team, this has to be more the cultural aspects at play, like looking at the code like a master, rather than having mastery over the code itself.
Has anyone had similar?
This is a culture I know well, although I wasn’t born into it. The vast majority of my family are Chinese but it took me 20 years really to understand how alien their culture is to me and vice versa. You have an excellent surface knowledge of face-saving culture which is already unusual in the West.
I cannot begin to explain how uniform this kind of attitude is in China, and how deep it runs. Obviously, thousands of Chinese come here every year who are better structured to handle your way of thinking, but many many of them will never learn. This employee sounds like one of them. I am not criticizing him at all. It is his obsessive application of Chinese customs that made him a success in China and probably got him to the West.
At this point, I think you have to balance what other positive traits he might have against this attitude and assume he will not change. You have done your compassionate best, but I think he’s not yet ready to accept your help.
I've had a boss that used our team as his scapegoat to cover his ass whenever he fucked up. When I was fresh out of college at my first real job said boss fucked up his budgeting and blamed us for being unproductive. I offered to work extra to get us back on track and while I was successful... The fact that the project went way over budget and that only 3 people on a 16 person team was at 100% utilization made it to senior management (who was responsible for assigning out work? The boss). Guess who got thrown under the bus for it? It was eventually sorted out but that was the most miserable week of my career at the time wondering if I was seriously about to be fired for sacrificing my time to help on a project that wasn't even mine. Ever since that I made it a point to get between "bosses" and my teammates to try and prevent anyone else from going through the hell I went through until I finally left that job.
Flash forward some years, a colleague missed a key deadline and I wasn't as aggressive about offering assistance as I really should have been. When leadership came knocking I had to fight the urge to defend myself and openly admitted my mistake, because although it wasn't my task to do the work it WAS my responsibility to see it through and I was the one accountable for it. My logic was "just as it felt shitty to get blamed for something I didn't do, I refuse to let someone else take the fall in my place. Give me liberty or give me death." It stung and it stung hard. I got absolutely no reward for the honesty and got reprimanded anyway- lost half my bonus, skipped over for senior even though I had the same responsibilities as the seniors, and didn't get a merit raise that year or the year after- but I felt good for sticking to my beliefs even when the only outcome was punishment. It was even more amplified when that same coworker went on to become an analyst and later a product owner years after the incident, showing growth and confidence that may not have been realized had I thrown them under the bus like my boss did to me all those years ago.
I think this is 100% a leadership problem. If the guys at the top are too afraid to take their whooping like a man how can they expect the grunts to do it? If leadership won't formally implement a "no stupid questions" policy what do they think their staff is going to do when they NEED to ask a "stupid question?"
Nobody needs to lie to cover their asses if their asses aren't at risk just for being human, but (on the US, at least) many walk on eggshells to avoid being the goose/gray duck in a sea of ducks/not-gray ducks.
It's not clear whether you are working for a Chinese company (like a team of foreigners working for a Chinese corp?) or are you a Western company (based out of where/which culture?)?
What's your team makeup like, outside of this one person? Is it cross-cultural from many different countries, or are the rest of you all from the same culture and this one person is the odd man out?
If everyone else is from the same culture, maybe you can use that as an excuse and gently approach him 1 on 1, off the record, and not about the problem itself but to just chat about the underlying cultural differences? Maybe even over a beer or some similarly "casual" outing, if your company culture allows for that.
You can start the conversation just with some honest humility: "Hey, I was thinking about our conversation last time, and I realized I don't fully understand your side of the story either. I need your help. It's my first time handling such a situation, and I'm not sure if I understand all the cultural implications here. Will you help me understand? What would happen in your culture with a similar situation? Maybe there are some assumptions I've made in my head, unconsciously, that could use some thought."
There are entire books written on this topic (cross cultural comms and businesses) that might be worth reading/skimming, but they often center around removing blame/fault (it's not any one person or culture who's right or wrong, it's two sides working towards a common goal), nonviolent communications (asserting your own experience but giving the other person room to state theirs, once comfortable, without projecting your own assumptions onto theirs) and then finding common ground with shared needs/desires, etc.
This takes a lot of active listening and empathy, but it might work better than going at it headfirst? Like rather than insisting "you were wrong, why don't you get it, what do we have to do to make you understand", something like "how would this have played out where you were from?", "how do people learn and grow best, in your personal experience?", "what do you think is the best way to resolve this sort of situation?" etc. It's not about blame or who was right or wrong, but in reaching a common understanding that balances the company's needs (like for a certain code style or whatever) with individual needs for dignity, self-respect, etc. Make it collaborative, don't pull rank (i.e. explain the merit of doing things a certain way, rather than just insisting "we do it this way just cuz we do, shut up and listen"). If he asks legitimate questions (like about readability) than address them honestly and patiently.
That is, if you actually value this employee and and a collaborative team culture and don't want him on the defensive. A direct approach may work in other cultures, but if it's not working with this employee and his culture, then don't keep pushing that way if it's just backfiring.
Even the Confucius wise master thing... you can directly address that too. "When I told you these things, it was because that's what worked in my experience. But I'm not always right either, and when I'm not, you should feel free to discuss it. Doesn't matter if I'm your boss or coworker. In my culture we try to emphasize the actual idea over who said it, and it's OK to challenge it. But instead of authority, you have to use evidence to convince the others. It might seem disrespectful at first, but thought of another way, it's also a way of showing respect for the other person's intelligence and reasonableness. From what I know of Chinese culture, it doesn't work quite the same way there. But since we are working in this environment, I don't think we can make the rest of the company and country change their ways, so we have to find some way to work within it. What do you think is a good way to approach that so different teammates can work together effectively despite cultural differences?"
That lays out the issue, acknowledges their need for face (self-respect), but also plays to their collectivist tendencies (we do this for team harmony, not because you're wrong) in a non-judgmental way. This isn't just a cop-out feel-good reply, but an honest rethinking of the situation: is this person slow because he's just a bad worker (you don't know that yet) or is he being slowed down by a cultural misunderstanding that, once resolved, could boost productivity and morale for the whole team?
Keep in mind that as in any culture, individual differences still apply and there's no guarantee such a strategy will work. A humble person might appreciate your time and candor. A proud person might feel it to be condescending. But at the end of the day all you can do is give it a good-faith effort, and if after several attempts you can't resolve the tension, honestly, maybe it's just not a good cultural fit on your team.
Sometimes cultural differences CAN be insurmountable enough that it's just not worth the time or emotional energy and both parties would be better served just by parting ways... so do your best and hope it improves, but don't dwell too much on it if it doesn't. It's not easy for anyone to resolve, or we wouldn't have cultural conflicts and wars lol.