I always start by washing and dicing my tomatoes, onion, bell pepper, and jalapeño into small, even pieces. Keeping everything roughly bean-sized helps every bite have a good mix of flavors. I remove the tomato seeds and jalapeño seeds first so the dip doesn't get watery or overly spicy.
Next, I open my cans of black beans and black-eyed peas and give them a good rinse under cold water. This step removes the canning liquid and extra sodium, which keeps the flavor clean. I let them drain in a colander for a few minutes before adding them to the bowl.
In a large mixing bowl, I toss together the tomatoes, onion, beans, black-eyed peas, corn, bell pepper, jalapeño, and cilantro. I like to stir gently at this point so the tomatoes and corn don't get mushy. This is the heart of the dish, so I make sure everything is evenly distributed.
In a separate small bowl, I whisk the olive oil, lime juice, red wine vinegar, sugar, salt, pepper, and garlic powder until it's smooth and slightly thickened. I taste it here and adjust the salt or lime if needed. This dressing is what ties all those fresh flavors together.
I dice my avocado last and add it right before I'm ready to dress the salad. Adding it early can cause it to turn mushy from all the tossing, so timing really matters here. I try to keep the pieces neat so they hold their shape in the final dish.
Finally, I pour the dressing over the vegetable mixture and gently toss everything until it's well coated. I try not to overmix at this stage so the avocado stays intact. Once it's combined, I give it a taste test and adjust the seasoning one more time.
I like to refrigerate my cowboy caviar for at least 30 minutes before serving so the flavors have time to meld. If I'm short on time, I'll serve it right away, but a little chilling really does make a difference. Just remember to give it a stir before setting it out.