Periodista desde 1989. Es director general y fundador de Animal Político. Ha sido reportero en medios como Unomásuno, El Economista y el Financiero, así como en Reforma, periódico en el que participó en su fundación y del que fue reportero y Coordinador de Información Política, entre los años 1993 y 2000. En el año 2001 fue editor de la revista Cambio, cuando la dirigía Gabriel García Márquez, y más tarde fue subdirector del periódico El Universal. Fue subdirector general de Milenio Diario y director general editorial de Excélsior, responsable del rediseño gráfico y editorial del diario. Dirigió W Radio, estación integrante del Grupo Prisa.
Actualmente es profesor en la maestría de Periodismo del CIDE y colaborador radiofónico en los grupos Fórmula, Televisa Radio y MVS.
Warning: mysqli_num_fields() expects parameter 1 to be mysqli_result, bool given in /home/apolitico/web/wp-includes/wp-db.php on line 3403