The Good and Not So Good from Week 1 of 49ers OTAs

Ricky Pearsall actually caught a pass.
May 10, 2024; Santa Clara, CA, USA; San Francisco 49ers rookie wide receiver Ricky Pearsall (14) runs drills during the 49ers rookie minicamp at Levi’s Stadium in Santa Clara, CA. Mandatory Credit: Robert Kupbens-USA TODAY Sports
May 10, 2024; Santa Clara, CA, USA; San Francisco 49ers rookie wide receiver Ricky Pearsall (14) runs drills during the 49ers rookie minicamp at Levi’s Stadium in Santa Clara, CA. Mandatory Credit: Robert Kupbens-USA TODAY Sports / Robert Kupbens-USA TODAY Sports
In this story:

SANTA CLARA -- The 49ers just finished Week 1 of OTAs. Here's who stood out.


1. WR Deebo Samuel. He was the only veteran star on the offense who showed up and practiced. Everyone else either was injured or absent. Meanwhile, Samuel looked like he had something to prove. He looks trim, which is rare for him at this time of year. Maybe that's because he's filming the Netflix show "Receiver," or maybe it's because the 49ers drafted his replacement last month. Either way, he seems motivated and focused, which is a good thing.

2. DE Nick Bosa. He was the only veteran star on the defense who showed up and practiced. Bosa usually skips OTAs and stays in Florida, but he's coming off a down season and he's the highest-paid player on the team, so the least he can do is show up and practice. As opposed to Fred Warner, who observed but didn't participate.

3. WR Ricky Pearsall. Started in place of Brandon Aiyuk who didn't show up. Didn't beat Deommodore Lenoir, but caught two passes for 30 yards when matched up against Ambry Thomas (more on him in a minute). The better Pearsall plays this offseason, the less leverage Aiyuk will have in his contract negotiations, so you can expect to see Pearsall face Thomas quite a bit in practice.

4. RG Dominick Puni. He's playing right guard, which means he has a real chance to start as a rookie. In college, Puni played left guard, left tackle and right tackle, so it was unclear where the 49ers would play him. Today, Puni was the backup right guard, Spencer Burford was the starting right guard and Jon Feliciano was the starting center in place of Jake Brendel (more on him in a minute).

5. TE Brayden Willis. Clearly the second-best tight end on the roster. Cam Latu is still injured and Eric Saubert looks like a stiff, but Willis is extremely athletic and difficult to cover -- he can beat man-to-man coverage. Now we have to find out if he can block.

6. CB Isaac Yiadom. Started outside in the nickel defense and shut down a deep fade pass from Brock Purdy to Deebo Samuel. Yiadom is a significant upgrade over Ambry Thomas, who had been the 49ers' no. 3 cornerback at times the past two years.

7. CB Rock Ya-Sin. Started outside in the backup nickel defense and broke up a pass from Joshua Dobbs to Ricky Pearsall who was running an out route. Ya-Sin seems healthy for the first time in a few years.

8. WR Danny Gray. Caught three passes and dropped zero, which is big for him because he was a drop waiting to happen the past two offseasons. Today, he caught the ball confidently with his hands away from his frame. If he continutes to play like he did in this practice, he'll make the team.

9. RB Jordan Mason. Made two difficult catches during 7 on 7s and ran the ball as violently as ever during 11 on 11s. Mason continues to improve and show that he's the most underrated player on the team.

10. QB Joshua Dobbs. Completed 8 of 11 pass attempts in his first 49ers practice, which indicated he's picking up the offense quickly. He also made a nice throw while rolling to his left, which is something Brock Purdy can do and Brandon Allen can't do.

11. WR Trent Taylor. Caught a touchdown pass during 7 on 7s, which is nice. But if he makes this team, I'm going to snap.


1. CB Ambry Thomas. He's one of the worst practice players I've ever seen. He gets beaten so consistently, he doesn't even seem to compete. He doesn't break up passes or commit penalties because he's so far away from the receiver when he catches the ball. I'd be shocked if he makes the team.

2. QB Brock Purdy. Threw lots of short passes and completed nearly all of them, as we've come to expect from him. But he had opportunities to be aggressive and push the ball down the field considering the defense didn't have Maliek Collins, Fred Warner, Dre Greenlaw, Charvarius Ward or Talanoa Hufanga. And Purdy did throw three deep passes -- one to Ronnie Bell, one to Deebo Samuel and one to Tay Martin. And Purdy airmailed all three passes. We know he's a good quarterback, but today he didn't look like one who's worth $55 million per season.

3. RB Christian McCaffrey. Completely ghosted the 49ers for no clear reason. Last year, McCaffrey practiced in OTAs and drew rave reviews for his intensity and work ethic. This year, he didn't even show up to watch. Is he upset about something? Does he want to renegotiate his contract after winning the Offensive Player of the Year Award? We'll find out soon.

4. WR Brandon Aiyuk. Also didn't show up, which is to be expected. He wants a contract extension and the 49ers haven't given him one yet. If he doesn't get it, he could sit out the first 11 games of the season. I don't expect he'll get the extension he wants.

5. WR Jauan Jennings. Also didn't show up, which is surprising, because the 49ers gave him a second-round tender, which would be a nice raise for Jennings. But he hasn't signed his tender, which suggests he wants an even bigger raise, which he won't get. No wonder the 49ers drafted two wide receivers this year.

6. WR Jacob Cowing. He's the second wide receiver the 49ers drafted, and he was nowhere to be seen during practice, which suggests he's probably injured. I've never heard of a rookie who's under contract simply choosing to miss a day of OTAs.

7. CB Renardo Green. Played nickelback on the second-team defense and broke up a pass over the middle intended for Deebo Samuel but was flagged for pass interference. The biggest knock on Green is that he commits too many penalties, which was apparent today.

8. TE Eric Saubert. Hopefully he can block, because as a receiver he seems like a complete stiff. He's also one of 18 players on the team that's 30 or older. Ideally, someone younger such as Cameron Latu will take his spot.

9. TE Cameron Latu. Still injured from last year. It will be interesting to see if he has improved his game because he has spent the last nine months rehabbing.

10. WR Ronnie Bell. Dropped a pass over the middle that was thrown by Joshua Dobbs. Bell needs to play much better to make this team.

11. DT Maliek Collins. He didn't show up, which is a bad look because he's replacing Arik Armstead who's better than Collins and always showed up to OTAs.

12. C Jake Brendel. Missed practice because he has knee tendinitis, which never is good for a player in his 30s. The 49ers may need a new center soon.

Grant Cohn


Grant Cohn has covered the San Francisco 49ers daily since 2011. He spent the first nine years of his career with the Santa Rosa Press Democrat where he wrote the Inside the 49ers blog and covered famous coaches and athletes such as Jim Harbaugh, Colin Kaepernick and Patrick Willis. In 2012, Inside the 49ers won Sports Blog of the Year from the Peninsula Press Club. In 2020, Cohn joined FanNation and began writing All49ers. In addition, he created a YouTube channel which has become the go-to place on YouTube to consume 49ers content. Cohn's channel typically generates roughly 3.5 million viewers per month, while the 49ers' official YouTube channel generates roughly 1.5 million viewers per month. Cohn live streams almost every day and posts videos hourly during the football season. Cohn is committed to asking the questions that 49ers fans want answered, and providing the most honest and interactive coverage in the country. His loyalty is to the reader and the viewer, not the team or any player or coach. Cohn is a new-age multimedia journalist with an old-school mentality, because his father is Lowell Cohn, the legendary sports columnist for the San Francisco Chronicle from 1979 to 1993. The two have a live podcast every Tuesday. Grant Cohn grew up in Oakland and studied English Literature at UCLA from 2006 to 2010. He currently lives in Oakland with his wife.