Justin attended Schaumburg High School, before moving on to Arizona State University.
He became the starter at quarterback in the seventh game of his sophomore season, after passing Daniel Ford on the depth chart. He completed 56% (84 of 150) of his passes, threw for 1,063 yards, 5 touchdowns and 2 interceptions, while helping the team post a 6–5 record.
In 1989, he completed 33 of 47 passes for 534 yards (school-record) and 4 touchdowns in a 44–39 upset of No. 23 ranked Washington State University. He finished the season with a 6–4–1 record, 2,591 yards, 17 touchdowns and 10 interceptions.
In 1990, the Sun Devils opened the season with victories over Baylor University and Colorado State University, but would lose 4 consecutive games, 3 of them while Justin was out with a dislocated left shoulder suffered during a 30–9 loss against the University of Missouri. He also spent two days in a hospital with a probable case of appendicitis, that was later diagnosed as a gastrointestinal problem and caused him to lose 17 pounds. He posted a 4–7 record, 1,876 yards, 10 touchdowns and 10 interceptions.
Justin was selected by the Chicago Bears in the seventh round (190th overall) of the 1991 NFL Draft. He was waived on August 26 and later signed to the practice squad. He was cut on August 31, 1992.
Justin played flag football, before signing with the Arizona Rattlers of the Arena Football League in 1993. He completed 226 of 404 passes, for 2,846 yards, 45 touchdowns and 15 interceptions.
On April 11, 1994, he signed with the Indianapolis Colts, but was released on August 28. He was re-signed in 1995 and was allocated to the Frankfurt Galaxy of the World League of American Football, after basically being out of football for two years. He led his team to the World Bowl III championship.
In 1995, he started one game and also shared playing time with Jim Harbaugh against the New Orleans Saints. The next year, he started 2 games, winning both of them.
In 1997, he started 4 games, while Harbaugh recovered from a fractured right hand he suffered when he scuffled with NBC sportscaster Jim Kelly. Against the Buffalo Bills, he was winning 26–0 in the first half, but the lead disappeared after the Bills outscored the Colts 30–3, Justin made it close again at 37–35 with 14 seconds remaining, but could not complete the potential game-tying two-point conversion. The Bills recovery from a 26-point deficit at the time was the second-largest comeback in NFL history. Coming in with an 0–10 record against the defending Super Bowl champions Green Bay Packers, he led the team to a 41–38 win, completing 24-of-30 attempts for 340 passing yards. On December 5, he was placed on the injured reserve list.
On March 26, 1998, he was traded the Cincinnati Bengals in exchange for a fifth round draft choice (#135-Antony Jordan).
The Cincinnati Bengals acquired him after the retirement of Boomer Esiason to compete with Jeff Blake for the starting job. He appeared in 5 games with 3 starts, before being cut on April 20, 1999.
On August 18, 1999, he was signed as a free agent by the Oakland Raiders. On August 30, he was traded to the St. Louis Rams in exchange for a seven-round draft choice (#238-Rodregis Brooks).
The St. Louis Rams acquired Justin to provide depth at quarterback, after Trent Green suffered a serious left knee injury in the last preseason game and Kurt Warner was named the new starter. He was a part of the Super Bowl XXXIV winning team.
On March 30, 2000, he was signed as a free agent by the Dallas Cowboys, to replace the departed Jason Garrett as the backup quarterback. After struggling in preseason (he accounted for 6 critical turnovers in the first two games) and the signing of Randall Cunningham, he was waived injured on August 24.
On May 1, 2001, he signed with the St. Louis Rams. On August 10, he was placed on the injured reserve list with a torn anterior cruciate ligament in his right knee.