Code Has a Tell
I can usually tell who wrote a function before I look at the blame.
Not from the formatting. Formatters killed that tell years ago. It lives in the choices a formatter cannot reach, how you break a problem into functions, and whether you guard every input or let it crash and recover upstream.
Work beside someone for a year and you can recognise their code with the author stripped off it. No name, no commit, just a function on a screen, and you know whose hand it came from. One engineer checks every argument at every boundary, because a system burned him once. Another lets it crash and trusts the layer above to catch what falls. Neither is wrong. The difference holds even when they are solving the same problem, in the same language, on the same team.
I assumed for years that this was only familiarity, the way you know a friend's handwriting. It turns out to be sturdier than that. Researchers have attributed authorship from compiled binaries, with the variable names stripped out and the structure rewritten by the compiler. What survives is the deep part, how the logic is shaped, how a problem was carved up before a single name was chosen. Names and formatting are clothing you can change. Structure is the gait you cannot.
None of it matters until the day it changes.
A careful engineer starts shipping at three in the morning, and the functions grow longer while the guard clauses thin out. The commit messages turn polite. The tests still pass and the review still comes back clean, because there is nothing wrong with the code. There is something wrong behind the keyboard.
Review culture has a blind spot the size of a person. We check that the code works. We check that it is safe, if we are good. We almost never check that its author was free. The only instrument that could see the difference is a record of how somebody writes when nothing is wrong, and nearly no team keeps one on purpose. None of mine ever did.
In The Chain a team does exactly this. A colleague has gone quiet and her commits keep arriving, so they stop reading her code for correctness and start reading it for her. Forced merges at odd hours. Review patterns that do not match how she works. Commit messages in a cadence that is not hers.
They can see she is not free. That is all the code can tell them. It cannot tell them where she is.