As a freshman at the University of Virginia in 2013, Kirby pitched in 24 games and made two starts. He finished the season 4–1 with a 6.06 earned run average (ERA) and 37 strikeouts in 32+2⁄3 innings. Kirby was one of Virginia starting pitchers as a sophomore in 2014. On April 5 he pitched a no-hitter with 18 strikeouts against Pittsburgh.[6][7] He was named the co-Atlantic Coast Conference Pitcher of the Year and was named to the All-ACC First Team. He was also an All-American by Louisville Slugger and Baseball America.[8][9][10] In 18 starts in 2014, he was 9–3 with a 2.06 ERA. As a junior in 2015 he compiled a 5–3 record and 2.53 ERA in 12 games (11 starts). He was named to the All-ACC First Team for the second year in a row. He ended the year by recording the final out on a called third strike as the Cavaliers defeated Vanderbilt in the College World Series final.
Professional career
Milwaukee Brewers
On June 8, 2015, Kirby was selected 40th overall by the Milwaukee Brewers in the 2015 MLB draft. The Brewers finalized his signing on July 17, 2015, a few hours before the signing deadline. After five appearances in the minors for the Single-A Wisconsin Timber Rattlers, where he posted a 5.68 ERA in 12+2⁄3 innings, it was announced that Kirby would need Tommy John surgery.[11] Kirby missed the entire 2016 and 2017 seasons due to injury.[12]
Kirby spent 2018 with the High-A Carolina Mudcats, going 3–5 with a 4.82 ERA in 27 games (11 starts).[13] He missed all of the 2019 season after undergoing thoracic outlet surgery and fracturing a rib.[14] Kirby did not play in a game in 2020 due to the cancellation of the minor league season because of the COVID-19 pandemic.[15] He was assigned to the Double-A Biloxi Shuckers to begin the 2021 season, where he logged a 1.93 ERA in 17 appearances.
Pittsburgh Pirates
On July 4, 2021, Kirby was traded to the Pittsburgh Pirates in exchange for Kevin Kramer.[16] He spent the remainder of the year with the Double-A Altoona Curve, but struggled to a 6.52 ERA in 17 appearances. He elected free agency following the season on November 7, but re-signed with the Pirates on a minor league contract on November 14, 2021.[17]
Kirby began the 2022 season with the Triple–A Indianapolis Indians, for whom he made 15 appearances (4 starts) and logged a 2.74 ERA with 18 strikeouts in 23.0 innings of work. He was released by the Pirates organization on June 26, 2022.[18]