Snap the woody ends off the asparagus and cut into 1-inch pieces. If using frozen peas, thaw under cold running water and drain well. Mince the garlic, finely dice the shallot, zest and juice the lemon, and grate the Parmesan.
Bring a large pot of water to a rolling boil over high heat, then add a generous amount of salt — it should taste like mild sea water.
Cook linguine according to package instructions until al dente, then reserve ½ cup pasta cooking water before draining. Do not rinse the pasta.
Heat olive oil in a large skillet over medium heat. Cook the shallot for 2–3 minutes until soft, then add garlic and red pepper flakes and cook for 1 minute until fragrant and lightly golden.
Add the asparagus to the skillet, season with salt and pepper, and cook for 4–5 minutes, stirring occasionally, until bright green and just tender-crisp.
Stir in the peas and cook for 1–2 minutes just until warmed through. Season with salt and pepper to taste.
Reduce heat to medium-low, add lemon juice and zest, then stir in ¼ cup pasta water. Add Parmesan a little at a time, stirring to create a light creamy sauce, adding more pasta water as needed.
Add the drained pasta to the skillet and toss with tongs until every strand is coated and vegetables are evenly distributed. Taste and adjust seasoning, then divide into bowls and top with extra Parmesan, fresh herbs, pine nuts, and a crack of black pepper.