In a large pot, heat the vegetable oil over medium-high heat. Add the beef cubes and brown them on all sides, about 5-7 minutes. Remove the beef and set aside.
In the same pot, add the diced onion, garlic, and ginger. Sauté for about 3-4 minutes until the onion is translucent.
Return the browned beef to the pot. Add the beef broth, water, soy sauce, fish sauce, brown sugar, and black pepper. Bring to a boil, then reduce the heat to low and let it simmer for 1.5 to 2 hours, or until the beef is tender.
After the beef is tender, add the egg noodles, bok choy, and carrots to the pot. Cook for an additional 5-7 minutes, or until the noodles are cooked through.
Taste the soup and adjust seasoning if necessary. Serve hot, garnished with chopped green onions and cilantro if desired.