Bruce Shepherd completed an MMath (1987) and PhD (1990) in Combinatorics and Optimization after completing a combined Mathematics and Computer Science BSc at the University of Victoria. His Master's thesis was in Graph Theory under the supervision of Dan Younger, and his PhD thesis was in Polyhedral Combinatorics under the supervision of William Pulleyblank. During his doctoral work he also produced train scheduling software with Pulleyblank for Canadian Pacific Railway (CPR). He went on to hold a NATO Postdoctoral Fellowship working with Lex Schrijver in CWI, Amsterdam and a Von Humboldt Fellowship working with Bernhard Korte in Bonn.
His first academic appointment in 1992 was joint between Math and Operational Research at the London School of Economics. During that time he also performed consulting in Optimization for firms such as British Telecom, Rio-Tinto, and Reuters. In 1997 he joined Bell Labs in Murray Hill, NJ where he continued to divide his time between applications of optimization and the fundamental theory of Combinatorial Optimization. He designed algorithms and produced software in areas such as optical network design, real-time network management, scheduling and internet measurement. He also kept a healthy interest in the theory behind these problems including producing the first model (with Griffin and Wilfong) for the analysis of the world's defacto interdomain routing protocol BGP. With the exception of 2011-12, which he spent in the Theory Group at Microsoft Research, he has held the position of James McGill Professor (internal equivalent of a Tier 1 Canada Research Chair) in the Department of Mathematics and Statistics at McGill University since 2007.