Place chicken, water, and salt into a large stock pot and at medium-high heat and bring to a boil. Once foam starts forming on the surface, skim and discard.
After removing the foam, add the onion, garlic, and celery. Partially cover the pot. Turn heat down and gently simmer for about 30 minutes. Do not boil.
Add the carrots, cilantro and if you are using other vegetables, add them 15 minutes later since carrots take longer to cook. Check the chicken for doneness and, once cooked, remove and set aside to cool.
Keep simmering the broth for about 10 more minutes until carrots are completely cooked.
When the chicken pieces have cooled, shred it or cut into small bite-sized pieces. Dice the carrots once they are cooked and set aside.
Strain the broth using a large fine mesh strainer. Return the broth to the pot and let it settle for about 8-10 minutes, remove the fat that rises to the surfaces using a large spoon. If you are not using the broth right away you can skim off the fat after placing the broth for some time in the fridge.
Turn the heat on to low to warm up and check if it needs more salt to your taste. When ready to serve, place some cooked rice (if using) in a medium-size bowl, a serving of shredded chicken, carrots, and stir in the warm broth. Let everyone garnish their own soup.