1974-ben a Haditengerészeti Akadémián (USAF Academy) repülőmérnöki diplomát kapott. A Craig Air Force Base (AFB) keretében kapott pilótaképzést követően szolgálati repülőgépe az F–4 Phantom II lett. 1982-ben a Golden Gate Egyetemen közigazgatási oklevelet szerzett. 1983-ban tesztpilóta kiképzést kapott. Az F–16C különböző variációit tesztelte. Több mint 6000 órát repült (repülő/űrrepülő), több mint 30 különböző repülőgépet vezetett vagy tesztelt. Ejtőernyős ugrásainak száma 749, Mester Ejtőernyős címmel rendelkezik.
1985. június 4-től a Lyndon B. Johnson Űrközpontban részesült űrhajóskiképzésben. Kiképzett űrhajósként az Űrhajózási Iroda műszaki integrációs asszisztense. Négy űrszolgálata alatt összesen 42 napot, 18 órát és 38 percet (1026 óra) töltött a világűrben. Az első Space Shuttle pilóta/parancsnok, aki 1000 órát meghaladó szolgálatot teljesített. Űrhajós pályafutását 1997. október 31-én fejezte be. 2010-ig a „McGraw- Hill Aviation Week ” elnöke New Yorkban.
STS–44, az Atlantis űrrepülőgép 10. repülésén a küldetés pilótája. A küldetés célja sikeresen telepíteni a Defense Support Program (DSP) műholdat. Több tudományos kísérletet és kutatási tevékenységet végeztek. Első hosszú távú űrrepülés orvosbiológiai kísérletéhez végeztek méréseket. A program technikai okok miatt három nappal előbb befejeződött. Negyedik űrszolgálata alatt összesen 6 napot, 22 órát 50 percet és 44 másodpercet töltött a világűrben. 4651 112 kilométert tett meg, 110 alkalommal kerülte meg a Földet.
STS–55, a Columbia űrrepülőgép 14. repülésének pilótája. A Spacelab küldetését a DFVLR német űrügynökség szponzorálta. Az amerikai/német legénység két váltásban napi 24 órán keresztül dolgozott a tervezett 88 kísérlet elvégzésén az alábbi tudományágakban: folyadékok fizikája, anyagtudományok, élet– és biológiatudomány, földmegfigyelés, légkörfizika és csillagászat. Második űrszolgálata alatt összesen 9 napot, 23 órát és 40 percet (240 óra) töltött a világűrben. 6701 603 kilométert (4164 183 mérföldet) repült, 160 alkalommal kerülte meg a Földet.
STS–70, a Discovery űrrepülőgép 21. repülésének parancsnoka. A legénység pályairányba állította a Data Relay Satellite (TDRS), híradástechnikai műholdat. Harmadik űrszolgálata alatt összesen 8 napot, 22 órát és 20 percet (550 óra) töltött a világűrben. 6000000 kilométert (3700 000 mérföldet) repült, 143 alkalommal kerülte meg a Földet.
STS–78 a Columbia űrrepülőgép 20. repülésének parancsnoka. A mikrogravitációs laboratóriumban 46 kísérletet (10 nemzet és öt űrügynökség programja) vezényeltek le az élet (orvostudomány) és az anyagtudomány kérdéskörében. Az élet kísérletek között a növények, az állatok és emberek mellett az űrrepülés körülményei is szerepeltek. Az anyagok kísérletei között vizsgálták a fehérje kristályosítást, a folyadék dinamikáját és magas hőmérsékleten a többfázisú anyagok megszilárdulását. Negyedik űrszolgálata alatt összesen 16 napot, 21 órát és 48 percet (406 órát)töltött a világűrben. 11000000 kilométert (6800 000 mérföldet) repült, 272 alkalommal kerülte meg a Földet.