The (True) Story of The Programmer Who Could Not

I often found Ubisoft to be a weird place, but nothing was more weird than Ubisoft Montreal’s hiring practices in the late aughts. Maybe it was government tax incentives, maybe constantly increasing the headcount looked good… I’ve heard a lot of stories about why things were the way they were, so I don’t know which are real. But I do know for a fact that Ubisoft would hire people who literally could not do their jobs, who never had a chance in hell of doing their jobs, who actively avoided doing their jobs… and who would never get fired for it.

There won’t be any names because for one, it’s been so long that I’ve forgotten them, but also of those I do remember, I don’t want anyone to get in shit.

SO ANYWAY

There was this one programmer on Assassin’s Creed 2 who just always shoved his work on other people. To the point where I suspected he didn’t actually do anything. Of course, he wasn’t on my direct team, nor was he one of my reports, so I just kind of gave him some side-eye and generally went about my day. At least, until the one time he came to me, and said “Hey, my manager told me that your team was going to implement this feature. So I’m just going to assign you the task.”

Now, I was on good terms with his manager. We literally started at Ubi Montreal on the same day, and he was the most pleasant, happy, and good natured guy I ever met. It was strange that he didn’t tell me himself, so I wandered over to his desk to ask about it.

“So-and-so said you told him to pass this task over to my team? Just curious what’s up with that, doesn’t seem like something we should be handling.” Of all the responses I could expect, I did not expect this guy, who had never not been smiling, to IMMEDIATELY turn red and lose his shit. I don’t remember exactly what he said, but it was very angry and along the lines of “That jackass doesn’t do any of his work! He’s constantly handing it to other people behind my back!”

Yeah okay. Stage is set.

So fast forward a few months, and I’ve signed up for some low level debugging in release training (say what you will about Ubi back then, they went all out for internal training). Who is sat beside me, but the aforementioned programmer. He took a lot of training.

Anyway, the course gets rolling and not long in, dude leans over to me and whispers “What’s a stack?”

Dot dot dot.

I mean, I’m an anglo working at a french company so I assume it’s a language barrier thing. After all, a stack is a very easy concept. It is largely explained by the word that is used. I am confident I could explain the concept of a stack to someone’s 80 year old grandparent.

So I quickly explain it in generic computing terms (he is, ostensibly, a programmer after all). He glazes over for a second, and then says “I don’t get it.”

(If you don’t know what a stack is, it’s a computing concept where you “push” an element onto a “stack” and you “pop” an element to remove it. Like putting books on a pile. Push to the top, pop them off. There, you now know more than this guy.)

I tried for a few more minutes to teach this guy what a stack was, in vain, and then hushed him so I could continue with the course.

After the training was over, I went immediately to the lead programmer. This is about how the conversation went:

“Hey, figured you should know. There’s a programmer on the team who literally does not know how to program. So-and-so.”

His face fell, and I was not ready for his reply: “Yeah, I know.”

“What the FUCK do you mean you know??”

“He was the least bad candidate and I was told we had to hire someone.”

“So you hired someone who literally couldn’t program.”

“Yes. Everyone else was worse.”

Honestly at this point the story is done. I still shake my head sometimes remembering it. But there were lots of other little interactions with other bad programmers during my time there which reinforced the idea that you couldn’t get fired for not working. Like the time a UI programmer told me he wasn’t comfortable adding an entry to an enumeration.