In a large bowl or stand mixer, beat 1/2 cup butter and 1/2 cup shortening for 2 minutes, scraping the sides and bottom.
Add 1 cup brown sugar and 3/4 cup white sugar. Beat for 2 minutes, until light and fluffy, scraping the sides and bottom of the bowl.
Add 1 cup peanut butter and beat until incorporated.
Add 2 eggs and 1 teaspoon vanilla. Beat well, scraping sides and bottom.
Add 1 and 1/2 cups flour but don't mix it in. Use a small spoon to stir 2 teaspoons baking soda and 1 teaspoon salt into the flour. Then beat the dry ingredients gently into the wet ingredients. Stop mixing when there are still flour streaks.
Add 1 cup quick oats and 1/2 cup old fashioned oats. Stir until incorporated but do not over mix. Make sure you scrape the sides and bottom.
Cover the bowl and chill the dough in the fridge for 1-3 hours (or overnight).
When the dough is chilled, preheat the oven to 350 degrees F. Line 2 baking sheets with silicone baking mats or parchment paper.
Use a 1 inch cookie scoop to measure out the dough.
Bake the cookies at 350 for 8-10 minutes until the centers have just barely lost their shine. The edges should be firm. Do not over bake.
Let cool on the sheet for 5 minutes before removing to a cooling rack. Let cool completely while you make the frosting.
Make the frosting: In a large bowl or stand mixer, beat the butter until it is smooth and creamy. Add 1/2 cup peanut butter and combine.
Add 1 cup powdered sugar and beat, scraping the sides.
Add 2 tablespoons of milk or cream to start. Add 1 teaspoon vanilla.
Add more milk or cream, a couple teaspoons at a time, until it has reached a good spreading consistency that you like.
Spread about a tablespoon of frosting on the bottom of each cookie, then sandwich with another cookie. Devour! So good dipped in milk.