The San Francisco 49ers had the first of two days of minicamp on Tuesday, and after several days off, the rust showed. Garoppolo dealt with inaccuracy and interceptions, with an offense that committed too many penalties and had too many drops.

On Wednesday, head coach Kyle Shanahan spoke to the media about the struggles, and offered some glass half full commentary. He acknowledged that if he was simply the offensive coordinator, he would have been upset about practice. But as the head coach, he got to see some solid work by the defense.

More importantly, Garoppolo and company stuck around after practice to work on some of the issues that arose. Shanahan said there were a lot of mental mistakes, and part of it came from time off. The team had not practiced the previous four days, and the players also knew they were in the final stretch of “school before summer break.” But they were comfortable sticking around after practice to get some make-up work done and prepare for their final practice, set for Wednesday.

There is the saying, “practice makes perfect,” and of course, the similar saying, “practice makes permanent.” If you continue to practice poorly, you will play poorly. Fortunately though, the team is at a point in the offseason where they can address the concerns and make sure they improve their practice performance. Shanahan said he is not concerned about “dominating practice,” so much as putting in the work and continuing to improve.

This applies to everybody on the roster, but for Jimmy Garoppolo there is something to be said for this. He joined the 49ers last year at the trade deadline. He was not tossed in the deep end of game action, but he did have to take a crash course in Kyle Shanahan’s offense. And that means that this offseason is about taking the time to understand and get comfortable with everything. Last season, he had to learn the basics of the offense, and likely then focus more on the weekly game plan. This offseason, there are no individual game plans to learn yet, and instead he can focus on the many nuances of the scheme. He won’t be a complete master of it by the time the first preseason game arrives, but he will be considerably further along than he was in December.

Which brings us back to Tuesday’s practice. Shanahan said it was the worst offensive practice he has seen this year. We would love to see good practices, but in the meantime, bad practices provide the kind of learning experience that should only serve to benefit the development of Jimmy Garoppolo and the offense. This requires rebounding with good practices, and showing they are learning from the mistakes, but so far, it seems like they recognize what they need to do — and that’s a good thing!