The most talked-about competition on the 49ers is also for a job coach Kyle Shanahan hopes is the most superfluous position on the team during the 2019 regular season.
"You really hope Jimmy stays healthy so it's irrelevant who's the No. 2 guy," Shanahan said before the 49ers broke off last week at the conclusion of the offseason program.
"These guys have both proven that they can play in this league and we're going to have to make a tough decision at the end of preseason to which one we want to give that No. 2 job to."
At the beginning of the past two seasons, there was never a question that Beathard would serve as the team's backup quarterback -- behind Brian Hoyer in 2017, then Garoppolo last season.
But things are different this summer after Mullens became one of the bright spots of a thoroughly disappointing 49ers season. He played well during his eight-start stint to close out the season.
Mullens compiled a respectable 90.9 passer rating while putting up big numbers after taking over for Beathard for the 49ers' Week 9 game against the Raiders. Mullens averaged 285 yards passing per game, ranking him fourth all-time through eight games behind Patrick Mahomes, Andrew Luck and Cam Newton.
Yet, Mullens earned nothing other than the right to compete with Beathard for the backup job. And Shanahan seems to be pleased with both players, based on what he witnessed during the nine-week offseason program.
"C.J.'s had a real good camp," Shanahan said. "He's been playing real well. So has Nick. So I've been excited about both of them."
Beathard was a third-round draft pick in 2017. The 49ers signed Mullens immediately following that same draft as an undrafted rookie. Mullens was among the final cuts before the starts of the '17 and '18 seasons. After he cleared waivers, Mullens immediately signed back to the 49ers' practice squad.
Mullens was promoted to the 49ers' 53-man roster last season after Garoppolo sustained a season-ending knee injury in Week 3.
First-year quarterbacks coach Shane Day has outlined some areas of improvement for both players. Shanahan said the true competition for the backup job will begin in training camp, but there's little he does not already know about both men.
"I know both of them so well, because we've been here two years with them and we've gotten a chance now to see both of them in practice and both of them in games," Shanahan said.
"They've both been doing a real good job, both playing at a high level, so that's been exciting. But to sit there and really stress over, from a coaching standpoint, trying to make the decision, we're not there yet because a lot could change."
Here is a closer look at the decision that Shanahan could face – assuming one of the players is not dealt in a trade -- when the final cuts must be made by Aug. 31 at 1 p.m.
PROS: The 49ers selected Beathard in the third round, which provides a strong indication that he had the physical tools necessary to make all the throws in Shanahan's offense. But that investment was also two years ago. So, now, the decision is less on potential and more on what the player has done.
Still, Shanahan's offense is predicated on taking advantage of the weaknesses in the defense. If the play call and defense sets up a deep shot, Shanahan wants to see it thrown deep. Beathard can make the deep throws and has the arm strength to carry the ball outside the numbers.
[RELATED: C.J. Beathard enjoys backup QB competition]
Beathard has shown his toughness through his 10 NFL starts. (That's also not necessarily a positive, as we'll explain later.) He has played well at times. He has also struggled. With a better supporting cast, Beathard's production would also be expected to elevate. Beathard also says the competition has made both players better.
CONS: While Beathard's toughness can be seen as one of his better qualities, you never want your quarterback taking hits that can be avoided. Beathard must make quicker decisions to get the ball out of his hands and not absorb nearly as many hits he has taken through the course of his first two seasons.
Beathard got pounded way too many times (one sack for every 10.4 dropbacks). Those hits started to have an obvious impact on him, too. He got banged up while making his five starts last season and he began to look shell-shocked.
Physically, he needed a break at the time Mullens took over. But he also appeared to need a mental break, too. In 10 starts over his first two seasons, Beathard threw 13 interceptions with 12 TD passes.
Beathard must improve his pocket awareness. It's easy to stand in the pocket during offseason drills and training camp in order to make the throws. The big test for Beathard will be to process information and get rid of the ball when he's going up against an enemy pass rush.
PROS: Mullens is a gamer. He has been underestimated his entire career, and he continues to prove himself at every level he's played.
Mullens took his preparation to peculiar levels even when he was on the practice squad. He practiced called plays in the huddle while cranking up crowd noise in his headphones. Mullens knows the offense very well. He also never showed any signs of getting rattled – other than his annoyance with Shanahan, who continued to talk in his ear after delivering the play call.
Mullens' arm strength (more on that later) is questionable, but he can make up for some of his limitations with his timing -- his knowledge of the offense, reading the defense and anticipating his throws.
CONS: Despite some very good statistics, including an 8.3-yard average per attempt, Mullens did not grade well with some Pro Football Focus metrics.
His 64.2 completion percentage topped Beathard (60.4) and Garoppolo (59.6), but Mullens ranked near the bottom of the league in completion percentage in small windows as well as passes of 20-or-more yards down the field. The takeaway from PFF is that Mullens thrived because Shanahan was able to scheme receivers to be open.
Where his arm tends to be a problem is that defenders tend to get their hands on Mullens' passes. In college, he threw 46 interceptions in 44 games. Last season, he was intercepted 10 times in eight starts with 13 TD passes.