After attending the University of Kentucky, he went undrafted in the 2016 MLS SuperDraft and subsequently joined Rio Grande Valley FC Toros.
After a short-term loan spell at Houston Dynamo, Irving joined Ottawa Fury in December 2016.
[3] On January 13, 2016, Irving signed a contract with Major League Soccer ahead of the 2016 MLS SuperDraft, where he was expected to go early on in the draft.
[5][6] He signed with United Soccer League side Rio Grande Valley FC Toros on March 26.
[9] On September 16, 2016, Irving was signed on a short-term loan by the Houston Dynamo, an affiliate club of Rio Grande Valley Toros.
[12] He made his debut in a 3–2 defeat to Saint Louis FC on April 1, 2017, and went on to play in every minute of Ottawa's 2017 campaign, including all four Canadian Championship games.
[16] On April 14, 2018, his streak of consecutive starts came to an end after 38 games when he was named as an unused substitute in a 1–0 defeat to the Pittsburgh Riverhounds.
[20] He made his debut for Pacific on August 25, saving a penalty while keeping a clean sheet in a 2–0 victory over Valour FC.