SANTA CLARA – Cornerback Rashard Robinson was prepared to face a deep threat when the 49ers traveled to Buffalo last season in Week 6.

Afterward, he did not seem all that impressed. He posted a photo on social media of himself covering the Bills wide receiver. Robinson wrote dismissively about the assignment on his Instagram account, “They said he was a deep threat guy.”

Goodwin had just two receptions for 22 yards in the game. Robinson’s post got his attention. He responded on Twitter, “Truth be told, you can’t cover me & couldn’t all game.”

Less than a month later, Goodwin signed with the 49ers as a free agent. They never revisited their social-media feud, according to both men.

“I was trying to make a point,” Goodwin said. “But I honestly stepped out of my character. I shouldn’t even said anything back. I should’ve just waited until we faced each other. But I did, so I had to hold my end of the bargain when I got here.”

Said Robinson, “Once he got here, we were like, ‘Hey, you ready? Let’s go.’ And we’ve been like that ever since.”

Now, they’re working together to be part of the reason they both enjoy breakout seasons.

The 49ers might not have more promising playmakers on either side of the ball than Robinson and Goodwin.


In Buffalo’s offense, Goodwin disappeared for long stretches of time. He is running a wider variety of routes with the 49ers, which should make his deep speed even more dangerous. If Goodwin remains healthy, it would be a shock if he does not post career-best numbers in Kyle Shanahan’s offense.

Robinson, who has a rare blend of size and speed, started six games as a rookie and is clearly the team's top cornerback.

On Day 2 of 49ers training camp Saturday, both players provided glimpses of why the coaching staff has such high hopes for them.

Goodwin took advantage of the split second it took the 49ers’ defense to make an adjustment in coverage to get behind the secondary for a long touchdown pass from quarterback Brian Hoyer. (Shanahan spoke in depth about the play after practice.)

How Robinson responded after that play gives a good indication of what the 49ers like most about him.

First, Goodwin was not Robinson’s responsibility. Yet, Robinson held himself accountable for not doing something to prevent the long pass play.

“I do put some of that on me because I could’ve been there,” he said. “I was on the field. I should’ve been there or at least help make the pass harder.”

A short time later, Robinson ran stride-for-stride with Goodwin to break up a deep back from Hoyer.

“Sometimes he might get me,” Robinson said. “Sometime I might get him. At the end of the day, we’re just trying to make each other better.”

--Defensive lineman Solomon Thomas lined up with the second-team defense -- behind Tank Carradine and bumping Ronald Blair to the third unit – in his first practice since signing his rookie contract on Friday. Thomas batted down a pass and had a quarterback pressure against veteran right tackle Garry Gilliam.

--Goodwin, Matt Breida, Raheem Mostert and Victor Bolden returned kickoffs. A day earlier, Jeremy Kerley, Bruce Ellington, Trent Taylor, DeAndre Carter and Bolden returned punts.

--Rookie running back Joe Williams fumbled on his first carry of the day.

--Receiver B.J. Johnson sat out practice with a left hamstring injury. Rookie center JP Flynn sustained a leg injury during practice. There was no immediate word on his status.

--Taylor dropped a pass early in practice but then had five receptions, including a deep pass down the middle of the field that quarterback Nick Mullens dropped over safety Chanceller James.

--Rookie cornerback Ahkello Witherspoon, a third-round draft pick, surrendered deep passes to Aaron Burbridge and Kendrick Bourne.

--The 49ers will hold their first padded practice of training camp on Sunday. Said veteran pass-rusher Elvis Dumervil, “When the pads go on we start to separate the men from the T-shirt guys.”

--Undrafted rookie safety Lorenzo Jerome showed his range to roam from the middle of the field to the sideline to intercept a Matt Barkley pass late in practice.