Since the OP is a software engineer he might well be interested in the fact that there is an alternative way to wire a pair of what we in the US call "3-way" switches. The traditional way in the US is called 2-wire control, and the new alternative is called 3-wire control.
To implement 2-wire control there needs to be a /3 cable between the two switches and to implement 3-wire control there needs to be a /4 cable between the two switches.
AFIK the advantage of the 3-wire control is that there is a continuing line hot in both switch boxes whereas with 2-wire control the line hot in one switch box is interrupted during the process of switching at the other box. AFIK this would only be important if there was an active device in that box that required a constant line hot.
One thing though would that if later you wanted to put a receptacle near that switch box, you would be able to get an unswitched line hot and neutral from that switch box.
EDIT
Another feature of 3-wire control is that the same wire between the switches is always the line hot in both boxes. With 2-wire control the hot switches from one traveler to the other when the "line switch" is flipped.
With 2-wire control one switch is the "line switch" (common connected to the line hot) and the other switch is the "load switch" (common connected to the load).
But with 3-wire control both switches are hard connected to the line hot, and both switches are hard connected to the load. Any active device that will work in one switch box will work in the other. The arrangement is symmetrical.