Heat 1 tablespoon of olive oil in a large skillet over medium heat. Add the asparagus and sauté for 3-4 minutes until slightly tender. Remove from the skillet and set aside.
In the same skillet, add the remaining olive oil and butter (if using). Stir in the minced garlic and cook for 30 seconds until fragrant.
Add the shrimp, season with salt, black pepper, and red pepper flakes (if using). Cook for 2-3 minutes per side, or until shrimp turn pink and opaque.
Stir in the lemon juice and zest, tossing to coat everything evenly.
Return the asparagus to the skillet, mix well, and cook for another minute to blend flavors.
Garnish with freshly chopped parsley and serve immediately.