Bring a large pot of salt water to boil. Add the orzo. Cook for about 8 minutes, or until the orzo is al dente and not quite ready. Add the asparagus pieces; cook for another 2 minutes. Add the peas and cook for 1 more minute. Drain the pasta and vegetables.
While the pasta water is coming to a boil, whisk together the olive oil, lemon juice and zest, shallots, garlic (if using), salt, and pepper.
When the pasta and vegetables are ready, transfer them to a large mixing bowl. Add the dressing and toss everything well to combine. Finally, fold in the chopped parsley and dill, along with the parmesan, if you like. Taste the salad and adjust salt and pepper as needed. Serve.