Bring a large pot of salted water to a boil. Cook the spaghetti according to the package instructions until al dente. Reserve 1/2 cup of pasta water, then drain the pasta.
In a large skillet, heat the olive oil and 2 tablespoons of butter over medium heat. Once the butter has melted, add the minced garlic and red pepper flakes (if using), and sauté for about 1 minute until fragrant.
Add the shrimp to the skillet. Cook for 2-3 minutes until the shrimp is pink and opaque, stirring frequently.
Pour in the white wine and lemon juice, and allow it to simmer for about 2 minutes until slightly reduced. Season with salt and black pepper to taste.
Lower the heat and add the remaining 2 tablespoons of butter, stirring until melted. Incorporate the cooked spaghetti into the skillet, tossing to combine. If the pasta seems too dry, add reserved pasta water a little at a time until you reach your desired consistency.
Remove the skillet from heat and add lemon zest and chopped parsley. Toss again to mix all ingredients thoroughly.
Serve immediately, garnished with extra parsley if desired.