Holmes made the New York Jets roster in 1980 as a rookie free agent. While primarily a backup his rookie season, he became a starter by early 1981 on a vastly improved Jets defense that helped lead the team to its first playoff berth in 12 years. Holmes intercepted a Joe Ferguson pass in a 31–27 AFC Wild Card playoff loss to the Buffalo Bills. Holmes notched 3 interceptions during the 1982 regular season and recovered a fumble by Los Angeles Raiders WR Cliff Branch in a playoff game, quashing a potential late first half field goal in a game ultimately won by the Jets 17-14. On September 2, 1983, Holmes signed a future contract with the Pittsburgh Maulers of the USFL to begin in 1984. The contract reportedly tripled his salary and earned him a signing bonus, in addition to being personally guaranteed by Maulers owner Edward J. DeBartolo Sr. in case of injury during his remaining Jets time. Despite his lame duck status, Holmes had several big plays during the season that keyed Jets wins. In week 4, Holmes returned a blocked field goal 57 yards against the Rams for his first career touchdown in a 27-24 OT victory. In week 9, he picked off a Joe Montana pass late in the game and returned it 43 yards for a touchdown to clinch and upset victory at San Francisco.
USFL - Pittsburgh Maulers/New Jersey Generals
Holmes started all 18 games for the expansion Maulers in 1984 and had two interceptions. The Maulers franchise folded and Holmes' contract was assigned to the New Jersey Generals for the 1985 season, for which he started and contributed three interceptions.
New York Jets
After the USFL announced it was suspending its fall 1986 season on August 4, 1986, Holmes re-signed with the Jets late in training camp. He led the team with 6 interceptions in the regular season and added one more in a Divisional playoff loss at Cleveland. Holmes was released by the Jets during 1988 training camp and signed with the Detroit Lions.
Detroit Lions
Homes started for the Lions in 1988-89 and swiped 7 total interceptions, including 6 in 1989 which tied him for third in the NFC. He scored his last career touchdown on November 12, 1989, against the Green Bay Packers.
Green Bay Packers
Holmes finished his career as a starter for the Packers in 1990-91, totaling four more interceptions for a career NFL total of 25. He announced his retirement during 1992 training camp.
Coaching career
He was the head coach for the Hampton Universityfootball team for the 2008 season, producing a record of 6 wins and 5 losses. He was fired after the season was over because it was believed that he was searching for a job in the NFL, which hurt the team's recruiting.