Place nopales in a large pot, cover with cold water, and bring to a boil.
Boil for 5 minutes. Drain, rinse well, and repeat with fresh water.
Simmer until tender, 10-15 minutes total. Rinse well with cold water.
Whisk together the olive oil, garlic, vinegar, and lime juice, and season with salt and pepper.
Add the nopales, jicama, tomatoes, onion, Serrano chile, and cilantro. Taste and adjust seasoning.
Marinate for at least 30 minutes for flavors to mingle. Just before serving, fold in the avocado