Playing well in practice is one thing.
But jobs are really won and lost on the field against an actual opponent.
The Ravens coaching staff got its first look at the team's 90-man roster in game action against the San Francisco 49ers Thursday night, giving them a chance to assess where the group is at this point of training camp.
Here's an overview of how the 23-3 victory over the 49ers affected the stock of several players competing for playing time and roster spots:
Linebacker C.J. Mosley– The first-round pick lived up to his billing in his first game action. Most veteran starter played one series, but Mosley played the entire first half as a rookie and made plays all over the field. He showed good instincts to shoot the gap on running plays and also ran toe-for-toe with tight ends in coverage. He led the Ravens with five total tackles, and his day finished with a fitting highlight as he brought quarterback Blaine Gabbert down for a sack to end the first half. He seems to have a strangle hold on the starting job next to Daryl Smith.
Cornerback Asa Jackson – Jackson made a strong big for the No. 3 cornerback spot against the 49ers. He came away with an impressive leaping interception on a pass by Gabbert, where he perfectly read the pass and jumped the route. He also didn't get beat once during the game. In addition to a strong defensive performance, Jackson was also the first-string kick returner and punt returner. Jackson didn't break any big plays in the return game, but the Ravens want to give him plenty of looks there in the preseason to potentially spell Jacoby Jones.
Cornerback Chykie Brown – The fourth-year cornerback is battling for a No. 3 cornerback spot, and didn't have a strong showing to help himself earn the job. While Jackson came up with an impressive interception, Brown was penalized twice on pass interference calls. Brown started the game alongside Jimmy Smith, but Brown was quickly flagged for two early penalties. Brown played most of the first half without making much of an impact.
Cornerback Dominique Franks – The former Atlanta Falcon has been quiet so far during training camp, but he came up with a second-half interception of 49ers third-string quarterback Josh Johnson. The Ravens signed him after a minicamp tryout in June, and he's in the mix for one of the final cornerback spots. More games like this could earn him a clear spot on the roster.
Wide receiver Kamar Aiken – The 25-year-old journeyman continues to make a strong case for himself to win one of the final wide receiver spots. He led the Ravens with four catches for 46 yards, and some of those catches came over the middle of the field in heavy traffic. Aiken has been one of the team's most impressive receivers in training camp, and he carried that production into Thursday. Aiken did have one drop where he let an easy catch bounce off his hands, but it was one slip-up during a solid overall debut.
Wide Receiver Jeremy Butler– The undrafted rookie didn't let Aiken gain much separation in the race for a final receiver spot. He had a pair of nice catches himself, including a touchdown snag in the fourth quarter. On that touchdown, Butler caught the pass just short of the goal line and then overpowered the defender to reach out for the score.
Wide receiver Michael Campanaro– The seventh-round draft pick had a quiet debut in Baltimore. He didn't have any receptions or targets during his second half of work. The Ravens also gave him a shot at punt returner, and he didn't flash in that area. He allowed one punt to bounce behind him that ended up getting pinned at the 1-yard line. He'll need to show more with other receivers shining.
Running back Bernard Pierce – In his first game since offseason shoulder surgery, Pierce showed no lingering signs from the injury and was impressive running the ball. He scored the opening touchdown on a two-yard plunge, and finished the game with 37 rushing yards on 10 carries. The running game as a whole showed great potential and finished with 237 yards on 48 carries. Pierce is in line to start during the first two weeks of the regular season, and early signs show he'll be ready.
Running back Lorenzo Taliaferro– The rookie had a great start to the preseason, racking up a game-high 71 yards on 13 carries. He ran hard through the line of scrimmage, and was physical once he got into the second level. Taliaferro had been quiet during training camp, but he showed off his bruising running style Thursday night. He was going up against the 49ers third-string defense, but it was still a good start to his young career.
Right tackle Rick Wagner – Wagner made a strong case to win the starting right tackle job during training camp and he continued that against the 49ers. Wagner started and was part of the first-team offense that marched down the field on an 80-yard touchdown drive. Wagner stayed in the game while several of the other starters came over to the bench, and he still played well on the next few series. Wagner has done well with his opportunities and has the edge over Jah Reid on the battle for starting job.