1980-ban a Massachusetts Institute of Technology (MIT) keretében fizikából kapott oklevelet. 1980-1981 között Japánban végzett tudományos kutatást. 1984-ben az University of Chicago keretében fizikából doktorált (Ph.D.). 1988-ban megvédte doktori diplomáját.
1992. március 31-től a Lyndon B. Johnson Űrközpontban részesült űrhajóskiképzésben. 2003-2004 között a NASA vezető kutatója. 2009-ben a Space Telescope Science Institute Baltimore igazgatója.
Öt űrszolgálata alatt összesen 58 napot, 15 órát és 3 percet (1407 óra) töltött a világűrben. Nyolc alkalommal végzett űrsétát, összesen 58 óra és 30 perc időtartamban. Űrhajós pályafutását 2010. január 4-én fejezte be. 2010. januártól a Space Telescope Science Institute (Baltimore) igazgatóhelyettese, valamint Johns Hopkins Egyetem kutatóprofesszora. 2012-től a NASA Science Mission Igazgatóság (SMD) vezetője.
STS–67, a Endeavour űrrepülőgép 8. repülésének küldetésspecialistája. Az ASTRO–2 csillagászati űreszköz kutatási programjának segítése. Első űrszolgálata alatt összesen 16 napot, 15 órát és 8 percet (399 óra) töltött a világűrben. 11 100 000 kilométert (6 900 000 mérföldet) repült, 262 kerülte meg a Földet.
STS–81, az Atlantis űrrepülőgép 18. repülésének küldetésspecialistája. A Mirűrállomással 5. alkalommal dokkolt, több mint 3 tonna teheráru és csere legénység szállítása, szemét visszahozása. SpaceHabmikrogravitációs laboratóriumban kereskedelmi jellegű kísérleteket, kutatásokat és gyártásokat végeztek. Negyedik űrszolgálata alatt összesen 10 napot, 4 órát és 56 percet (245 óra) töltött a világűrben. 6 100 000 kilométert (3 800 000 mérföldet) repült, 160 kerülte meg a Földet.
STS–103, a Discovery űrrepülőgép 27. repülésének küldetésspecialistája. Hubble űrtávcső elemeinek harmadik javítása. Harmadik űrszolgálata alatt összesen 7 napot, 23 órát és 11 percet (191 óra) töltött a világűrben. Két űrsétán (kutatás, szerelés) összesen 16 óra és 23 perces űrsétát végzett. 5 230 000 kilométert (3 250 000 mérföldet) repült, 119 kerülte meg a Földet.
STS–109, a Columbia űrrepülőgép 27. repülésének küldetésfelelőse. Az űrhajósok a negyedik nagyjavítás alatt, öt űrsétán szereltek fel új berendezéseket a Hubble Space Telescope (HST) Hubble űrtávcsőre. Negyedik űrszolgálata alatt összesen 10 napot, 22 órát és 10 percet (262 óra) töltött a világűrben. Három űrsétán összesen 21 óra 9 percet töltött az űrrepülőgépen kívül. 6 300 000 kilométert (3 900 000 mérföldet) repült, 165 kerülte meg a Földet.
STS–125, az Atlantis űrrepülőgép 30. repülésének küldetésfelelőse. Az űrhajósok az ötödik nagyjavítást végezték a Hubble űrtávcsövön (HST). Ötödik űrszolgálata alatt összesen 12 napot, 21 órát és 38 percet (309 óra) töltött a világűrben. Három űrséta alatt 20 óra 58 percet töltött az űrrepülőgépen kívül.8 500 000 kilométert (5 300 000 mérföldet) repült, 197 alkalommal kerülte meg a Földet.