JJ aint worth 15 mil a year, much less 20. Hes just a slightly above average CB. If you shell out contracts to slightly above average players you end up a mediocre team that is cap saddled.
The correct move was to trade him at the deadline, and poles blew that. Now, the correct move is to let him walk and get overpaid by someone else...I have a feeling Poles will screw up a 2nd time with JJ and pay him
I will have to disagree with JJ being "slightly above average," as I think he is firmly in the "good" category. I put him there because even with a couple errors last week, the "floor" of his performance on a week to week basis is fairly high.
A healthy contract that doesnt result in a cap-saddled team is one that is short enough in duration and organized in a way that moving on from him would not burden the team for more than a year. 3 Years, 15M a year, is not out of the question and would retain a player that keeps the FO from having to replace him. And while it may be easy to replace him, I would bet that with the philosophy of our GM, it would be with either a short term contract for a veteran that is worse than JJ, or he will go into the draft with the idea to get another CB.
An overpay is to sign him at a top-of-the-market price. Paying him like he is the 10th-20th best CB in the league, with a contract organized so that the team can easily move him if he underperforms, is the correct move by my estimation. Keep the CB room strong as it stands and focus on the positions that will compliment them and make them better (Pass rushers, FS, and more pass rushers!)