Herrera was born and raised in Jordan, Guimaras. He is the son of Rodrigo Herrera, an establishment janitor, and Nenita, a former housekeeper.[6]
Herrera started running at high school[7] although, for a time, he was primarily an amateur boxer, competing in that event until the age 17. He stopped boxing with a record of 20 fights and 5 loses.[1][7] Subsequently, Herrera entered the annual Milo marathon that he won, enabling him to qualify for national competitions.[7]
Herrera is a Philippine Navy seaman, 2nd class and has competed in Southeast Asian, Asian and Olympic Games.[8]
In 2012 London Olympic Games, Herrera made his Olympics racing debut in the 5000 metres.[9] He qualified for the Olympics after winning silver at the Hong Kong Intercity Athletics Championships and becoming a five time gold medalist for the Southeast Asian games.[6]
He was the oldest competitor for the Philippines at the Olympics[7]
On August 8, 2012 in Olympic stadium, Herrera finished in 41st place, in a time of 14:44.11, his personal’s best in the 5000 metres.[10] However, Herrera did not advance at heats to the finals.[11]