Here is the problem. This job advertized in English for an architect. I applied, and was completely honest about my strengths and weaknesses.
I have almost 20 years in software development and i have worked in all kinds of industries from healthcare to manufacturing to e-commerce to supply chain management. I have been both a team lead and a line developer, and i have been deeply involved in business process change, training, mentoring, interviewing and onboarding. I take my job extremely seriously, and when i am in the office i am constantly trying to find ways to improve my productivity, as well as that of my colleagues. In short, i totally know my shit.
But, also, i know there are guys who are far more skilled than me technically. Guys with PhDs and mountains of research papers. Guys who deeply understand the science and mathematics of coding. So i explain that in my interviews too. While it was clear that the CTO could see past that, it was also very clear that the CEO could not. When i mentioned i wasn't familiar with some of the buzzwords the CEO wants to use to sell our products, he sounded dejected, while still acknowledging the skills i do have and the contribution i could make.
I got the job offer as a senior developer. Hey, whatever. It's a small company. In my opinion it's kind of silly to hire an architect at this early stage anyways - especially when there is already an accomplished CTO in place.
What i didn't expect was that i would show up for work to find out that in the interim they have hired an architect (oh, i'm sorry, he's not just a lowly architect, he's a "senior architect") who has no PhD, no masters, no professional certifications, less years of experience in the field than me and - as i discovered within 5 minutes of talking to him - an attitude that would have him immediately fired from most jobs in the west.
S is the epitome of arrogance. In just two days of working with him i have seen him interrupt conversations in which he was not involved, grab both the mouse and entire laptops out of people's hands (including mine) to "show you how to do it properly", tell me to change my computer's colors/theme so that he can read it more easily, order another developer to go fetch him an eraser, order a coworker to stay behind at work even as she was one foot out the door because he has an extremely important topic to discuss "in 10 minutes"... I mean, it's just flabbergasting.
Friday he stormed into the office after 3pm because i don't know why he wasn't there all morning, interrupted another conversation i was having with a coworker, then abused me for committing some code yesterday. That is, fixing a bug in his code, which was not compiling and did not run on anyone's computer except his own. Then he had the nerve to tell me that i was wrong, and that one of the files i committed should never have been committed because that's not the architecture he designed. And. Like. Without getting into the nitty gritty, this file is considered a fundamental file that pretty much every software project in the whole world includes to help describe its configuration.
And that is far from the only thing wrong with the project that S "created" 7 days ago. The project runs on a version of Java that has been officially discontinued since 2015. It does not follow directory structure guidelines that were standardized in the Java world back in 2004. It uses an ancient framework that most of my peers in the industry associate with banks and airlines - that is to say, the two most user-unfriendly, heavyweight and bugged enterprise softwares that there is. It uses a proprietary front-end that costs money to license, and i am 99% sure he has not notified the CTO that including this front-end would require us to either eat the cost or tack on a significant surcharge for our customers. The reason i am so sure he hasn't notified the CTO of potential licensing issues is because if you open up the code he "wrote" that is all proudly copyrighted to him and dated as being created 7 days ago... it includes thousands of lines that are unused, where you can see that it has literally been lifted directly from another (banking) project.
Now, i know that arrogant people tend to be incompetent and insecure about the fact that they are incompetent. But knowing that they are pathetic individuals doesn't make them any easier to deal with. Especially when they are as aggressive and physically intimidating as this guy - he's Pakistani (not Chinese) and built like a linebacker. There were a few moments where his invasion of my personal space left me literally trembling and just a hair away from punching him squarely in the jaw.
What boggles me is that he got hired at all.
I had a 1-on-1 with my boss, the CTO, and before i even brought up any of this stuff he mentioned the issue of S. He says it's a challenge to get him to understand that we are a startup and that means every developer on the team - junior and senior alike - are all reporting to the CTO and that we should be working together, not directing traffic. When i shared my discomfort with my boss (who is in the US, so he hasn't seen any of the bad behavior first-hand), he was appalled. Then he tactfully revealed that he and the CEO have had some disagreements about this hire. I think i can piece together the rest. CEO thought i was too humble and not architect material. CEO thinks this raging douche canoe can talk a good game so he should be an architect.
Right. Fucking, whatever. I don't care about job titles. But i do care about my mental health, and the quality of life at work. At my last job there were (at least) three people who were exactly like S. Two French managers and one Indian manager. Completely incompetent. Constantly trying to one-up you on literally every topic - technical or not. Always shuffling the blame elsewhere when their team failed to deliver. Always treating their team like garbage - yelling at them, ordering them around, forcing them to do overtime and so on. I mean, what is this, a fucking slave galley?
And then it struck me that this aligns perfectly with my experience of expats in China. Incompetent fucks who could never make it in their own country come to China, and because there is a certain type of Chinese person who likes to shower praise on foreigners, that feeds the ego of these clowns. So, basking in their newfound celebrity, they join foreign companies as "China experts" where they get to lead a team of 码农 (code peasants), who are happy to have the slightly higher salaries and much higher prestige offered by working for a foreign company. Meanwhile the self-proclaimed China experts rake in fat salaries, live like kings and never bother to learn a single word of the language.
I mean, it's no wonder you end up with underperforming developers who build shoddy products. If they just sit there and eat all the shit these flop bosses feed them, no doubt they either grow to hate the software industry, or foreign bosses, or both.
But what i have learned in the last day of reading various articles about how to deal with arrogant coworkers, if you let them infuriate you, then these assholes have already won. You know you are better than them. Smarter. More personable. Trying to point out why you are right and they are wrong is only going to cause them to get even more defensive, and double-down on their bald-faced lying.
(To wit: S spent 20 minutes trying to convince me that you can buy a wide selection of ground coffee at any Walmart in China, despite the fact that he rarely drinks coffee, i am a 3-4 cup a day addict, i have been in China dealing with this coffee problem for 18 months and i literally live in the same building as a Walmart that only sells instant.)
According to the internets, the best way to deal with an arrogant coworker is to minimize contact with them, timebox your meetings, remain assertive about your personal space but generally just kind of nod and let them "win" battles. It occurred to me that the nodding and letting them "win" while privately considering them idiots is exactly the strategy of my Chinese coworkers, so perhaps i have something to learn from them. The other strategy is to keep marketing your own success to the bosses so that the praise will start to come your way. The theory is that when an arrogant person sees someone they consider to be more powerful than them praise you, the arrogant person will start to see you as someone to brown-nose instead of someone to bamboozle.
Although, dear lord, you would think that a manager seeking to build a high-performing team would just kick this kind of person out on his ass on day one. People like that should get therapy and learn to deal with their own insecurities before wreaking havoc on a collaborative workplace.
Then again, i guess a lot of people don't care about competence and only care about confidence. Witness the ongoing - baffling - popularity of the current American president, for one.
If anyone reading has tips of how to deal with a coworker like this, i'd greatly appreciate it.
I dunno, man. I mean, this company was supposed to be fun. A way to escape mediocrity and work for a passionate team. It's a good sign that even being 7500 miles away my boss is already aware of the problem, but... he's 7500 miles away. My boss said he wants me to start work on a different project where i can have my own team and make sure it's done right, but i don't know if i will be happy working on a good project for a good boss when in the very same room there is a dictatorial amateur abusing everyone around him.
But maybe that's just the shit i need to put up with until my Chinese gets fluent enough to get hired into a Chinese firm where there are no self-important expats.
Fuck, i hate expats in China. Seriously.
Let's give this a few months and see how it goes. Once i get my resident permit extended, i can breathe a bit easier.
Also. God fucking damnit. Robots! I should focus on the robots.