I’m not sure how you can write,
“ We re-released the product to this group. It consisted of 10% of Rick’s original code which was pretty stable. It also had a few thousand lines of new code to replace about 150,000 lines of incomprehensible mess.”
“ Rick was a very talented developer. Rick could solve complex business logic problems and create sophisticated architectures to support his lofty designs.”
He clearly was NOT a talented developer, if he churns out undocumented, overwrought code. Being a good developer is not just about how many lines of code you write, but about how efficiently you execute on your job (e.g. completing project deliverables, which he was clearly terrible at), just like every job.