Hacker News new | ask | show | jobs
by pfedor 4782 days ago
This reminds me of something I witnessed when I worked at Google. There was this long-standing problem, I don't want to go into details but it had to do with websearch indexing and it had gone unsolved for years though it was regularly affecting search results in a negative way.

Then one guy solved it. The changelist he prepared wasn't even that long but it was crazy complex. Helpful comments contained links to a 100-pages long academic paper on top trees. Since it had been long established on the team that the guy was (a) a genius and (b) hundred percent reliable, it was generally assumed that the solution would work, however all code changes at Google need to be reviewed and nobody was able to review that CL. A number of people tried but they all dropped out, even though, unlike the ABC Conjecture professor, the author was absolutely willing to answer any questions you had.

Eventually the powers that be decided to trash the CL, not because there was any doubt regarding its correctness, but on the principle that you can't let anything that only one person can comprehend enter the codebase.

2 comments

As someone newly entering the workforce, this is a really depressing view into how bureaucracy can squash innovation.
Do not be depressed, at least because of this. Few people will ever write anything that is correct, can not be meaningfully simplified, yet incomprehensible and essentially unreviewable. The only other thing that comes to mind are the top-grade encryption algorithms. (They are reviewed, but even after extensive, extensive review by the very smartest people in the field, there's still an irreducible part when selecting an algorithm where everyone still just has to sort of hope there isn't some fatal flaw in there somewhere. Often, years and years later, there is.)
> Do not be depressed, at least because of this. Few people will ever write anything that is correct, can not be meaningfully simplified, yet incomprehensible and essentially unreviewable.

You don't have to write something that is essentially unreviewable to end up in the scenario described earlier. You just have to work with a team that isn't prepared to learn new things and rejects thing that they don't understand.

I've been studying functional programming lately and can easily imagine being told my code is "incomprehensible" because I wrote it in a functional style instead using loops and variables.

Wow, that's horrible.
Why? Look at it from an organizational perspective. If the code can only be understood by one person, then that person leaves, you have a piece of code that cannot be maintained or modified without potentially months of effort. Moreover, because it's a particular algorithm, this effort cannot be shortened or distributed across multiple developers. I would argue that whatever efficiency gain Google would get is totally outweighed by the risks of the developer leaving.
Just simply because the outcome was much less than the ideal outcome. Yes, accepting the reality that no one else could understand his output (assuming the output was correct), then that organizational outcome was the correct one. But it's a tragedy (again, assuming this guy was correct) that his knowledge couldn't be taken advantage of. I just think it would be really tough to feel the realization of being so powerful that you you are impotent.