1986 – na Florida Atlantic University(inne języki) uzyskał tytuł magistra w dziedzinie systemów komputerowych. Po studiach pracował w firmie GTE w Phoenix, stan Arizona. Zajmował się tam oprogramowaniem systemów telefonicznych.
1987 – rozpoczął pracę w NASA w Johnson Space Center w Wydziale Operacji Lotniczych (Aircraft Operations Division) na symulatorze wahadłowca STA (Shuttle Training Aircraft). Uczestniczył w lotach doświadczalnych i treningowych z wysokości 10km.
1989 – został latającym inżynierem doświadczalnym STA. Zajmował się doskonaleniem systemów kierowania i kontroli STA.
1998 – stopień doktora w dziedzinie techniki komputerowej zdobył na Texas A&M University.
Praca w NASA i kariera astronauty
4 czerwca 1998 – został przyjęty do korpusu amerykańskich astronautów (NASA-17(inne języki)) jako kandydat na specjalistę misji.
1999 – zakończył przeszkolenie podstawowe, po którym otrzymał przydział do Biura Astronautów NASA do działu kierowania lotem ISS (Space Station Operations Branch). Później skierowano go do działu zajmującego się robotyzacją (Robotics Branch). Pełnił również funkcję operatora łączności (CapCom).
2005 – 9 lutego został wyznaczony do lotu STS-117 w charakterze specjalisty misji. Termin startu wyznaczono na 2007.
2007 – 8 czerwca na pokładzie wahadłowcaAtlantis wystartował w kosmos do blisko dwutygodniowego lotu STS-117. W październiku po raz kolejny został wyznaczony do lotu. Został specjalistą misji STS-119.
2009 – w dniach 15-28 marca wziął udział w blisko 13-dniowej misji STS-119.
2014 – 25 marca poleciał statkiem Sojuz TMA-12M na stację ISS, gdzie wszedł w skład Ekspedycji 39 (jako inżynier pokładowy) i 40 (jako dowódca). Na Ziemię wrócił 11września w kapsule lądującej Sojuza TMA-12M.
W trakcie swoich trzech lotów wykonał pięć spacerów kosmicznych (EVA). Łącznie przebywał w otwartej przestrzeni kosmicznej 27 godzin i 58 minut.
2015 – 30 sierpnia opuścił korpus astronautów NASA.
Nagrody i odznaczenia
medal NASA „Za szczególne zasługi” (NASA Exceptional Service Medal)