I work at a commercial software company, for which I've filed and been granted some patents. I do so even though the pittance my company provides as a "patent bonus" doesn't begin to compensate for the paperwork, writing, iterating with a lawyer, etc. involved in the process.
In principle, it's possible one of my patents will either defend my employer from litigation, or be a poker chip in some licensing deal in the future, but honestly the odds of that are small. My selfish reason for writing patents is that they provide a way of publicly recording my technical contributions. An alternative venue is academic publications, but that's inherently a crapshoot. Granted patents have your name on them, are freely available unlike a lot of CS journals, and usually provide better technical detail about the problem and solution than a typical 5-page academic CS paper.
In what sense are academic publications more a crapshoot than patents? I hope you don't mean that because they might be rejected! That would completely convince me of Carmack's correctness.
In principle, it's possible one of my patents will either defend my employer from litigation, or be a poker chip in some licensing deal in the future, but honestly the odds of that are small. My selfish reason for writing patents is that they provide a way of publicly recording my technical contributions. An alternative venue is academic publications, but that's inherently a crapshoot. Granted patents have your name on them, are freely available unlike a lot of CS journals, and usually provide better technical detail about the problem and solution than a typical 5-page academic CS paper.