Se ha desempeñado como profesor de derecho en la UNAM, el ITAM (donde además fue Coordinador del Diplomado de Derecho e Instituciones Electorales durante 1998 y 1999), y el CIDE (donde fue miembro del Consejo Directivo desde 1999 hasta 2004).