Jef Claes

On software and life

26 Aug 2014

Solomon, the architect

Two junior developers who started working for the company at the same time, had been quite competitive with each other from the get-go. They had once been assigned to the same team, but because of the constant bickering, which had put a serious amount of stress on the team, one of them was pulled off the project and reassigned.

A good year later, just the two of them were assigned to a new smallish, but interesting in-house project. When management assigned them to the same project again, they had just been shuffling resources around, and had no idea of the history these two had. An architect was also assigned to the project, but this was not more than a formality. As soon as the enterprise architecture diagram was updated and the paper work was out of the way, he would do an official hand over, but he would only occasionally check in on the project from then on.

The Friday morning after the hand over, the architect was making small talk with one of the project managers in the coffee corner. His agenda for the day was almost empty - exactly how he liked it on Fridays. He planned on making the rounds this morning to check in on projects he was involved with, to attend a meeting at noon, and to spend the afternoon reading up on micro services, for then to go home early. While he charged the coffee machine with another coffee pod, he heard an uproar that had to be coming from the other side of the floor. He couldn’t quite make out what it was about, but he recognized the voices immediately: the two juniors.

He hurried over to the source of the noise. Prying eyes looked curiously over their monitors, ignoring the architect as he passed by. He found the two juniors standing next to the white board, yelling at each other, gesturing vigorously, crossing out parts of the drawings. The architect broke up the fight, and commanded them to get in the meeting room right away. Startled at first, but red-faced just a few seconds later, they shuffled towards the meeting room, not saying one more word, staring at their shoes.

The architect closed the door behind him, and started questioning them. What was this all about? He learned they had a big disagreement on how they should design a part of the new system. The architect, after hearing them out, thought he understood both their solutions. Given the information he had at that time, he thought both solutions were good enough for now - each made trade-offs, and only time would tell them more.
“There are still dozens of possible alternatives out there. I should try to show them how to come to a consensus together,” he thought. “Before I do that, I’m curious to discover their incentives though, so let me try something here.”

He told them that he liked both of their solutions, but that he couldn’t decide  which was the better one. Instead, he would take random parts of each solution and throw them together, to come up with a hybrid solution. This way, nobody loses.

Junior number one seemed relieved. He nodded and glanced at his partner. To his surprise, his partner didn’t look very happy. Junior number two blurted out that he’d rather see his own solution in the bin, than to give up conceptual integrity, just because two people can’t agree.

With that, the architect learned that junior number one had fallen into the trap of making it personal, and was trying to save face. Number two however, was wise enough to favor conceptual integrity over getting his way. The architect complimented the kid, and acknowledged that sometimes giving in might be the wise thing to do - not always, you have to pick your battles. Then he rolled up his sleeves, picked up a bunch of post-its and a pen for both of them and said that it was time for them to “fight the problem together instead of fighting each other”. But not before he made another coffee.