Shepherd attended Lawrence County High School in Louisa, Kentucky. He played six total seasons of high school baseball while also participating in football, basketball, track and golf throughout high school. He was a three-year player at the University of Kentucky from 2012 to 2014. As a junior, Shepherd was sidelined by a forearm laceration that forced him to miss three weeks, but he returned to a relief role in nine games, following with nine starts. He finished with a 3-1 record, a 3.83 earned run average and one save, winning Baseball America honors as the top prospect in the Perfect Game Collegiate Baseball League, where he was also named pitcher of the year and made the PGCBL first team and the Perfect Game USA first team as a member of the Amsterdam Mohawks As a sophomore, he was dominant as a reliever, appearing in 26 games with one start, posting a 2.77 ERA and a 5-0 record over 55⅓ innings of work. He finished 3-0 with a 0.44 ERA over his last 11 appearances. After the 2013 season, he played collegiate summer baseball with the Harwich Mariners of the Cape Cod Baseball League, and was named a league all-star. In his senior year, Shepherd rated among the 2014 Baseball America Preseason NCAA Top-100 Players. He then made 16 pitching appearances, ending with a 5-5 record and a 3.66 ERA in 76⅓ innings, including nine starts and one saved game.
Shepherd was selected by the Red Sox in the 13th round of the 2014 MLB Draft out of Kentucky. Shepherd started his professional career in 2014 with the Class A Short SeasonLowell Spinners, where he was 4–3 with a 4.05 ERA in 16 games, working mostly as a long reliever in 33⅓ innings. He was promoted to the Class A Greenville Drive in 2015, and he excelled with a 3–0 record, a 1.23 ERA and one save in innings. But Shepherd spent much of the year with the Class A-AdvancedSalem Red Sox, posting an 0–2 record with a 3.61 ERA and six saves in 28 games, including a 6.57 strikeout-to-walk ratio in innings. Later in the year, he also pitched well in the Arizona Fall League with the Scottsdale Scorpions, appearing in 11 games, while going 1–1 with a 3.97 ERA and one save in innings. Overall, he went 4–3 with a 3.22 ERA and eight saves in innings to complete three different levels in his first full professional season. Shepherd opened 2016 with the Double-APortland Sea Dogs, where he was 1–1 with a 1.80 ERA and seven saves in 14 appearances, including a 0.80 WHIP and.140 batting average against, while striking out 39 and walking 10 in 30 innings. He then gained a promotion to the Triple-APawtucket Red Sox in June. From May 2 to June 29, he had a scoreless-inning streak between the two stints. Shepherd finished 2016 with a 2–3 record and a 2.81 ERA. With Pawtucket in 2017, Shepherd had a 1–5 record with 4.07 ERA in 34 appearances and innings pitched. The Red Sox added Shepherd to their 40-man roster after the 2017 season. With Pawtucket during 2018, Shepherd appeared in 25 games, compiling a 7–10 record with 3.89 ERA and 107 strikeouts in innings pitched. Shepherd began the 2019 season with Pawtucket. He was designated for assignment when Sandy León went on paternity leave and the Red Sox added Oscar Hernández to its roster on May 17.
He was claimed off waivers by the Chicago Cubs and assigned to the Double-A Tennessee Smokies one day later on May 18, 2019. His time with the Cubs organization lasted only four days without playing for the Smokies because the Cubs' attempt to sneak him through waivers in order to transfer him off the 40-man roster was not successful.
Baltimore Orioles
Shepherd's five-day odyssey ended when he was claimed off waivers by the Baltimore Orioles and optioned to the Triple-A Norfolk Tides on May 22, 2019. After his first promotion to the majors on July 30 lasted only one day, he returned to the Orioles on August 13 and made his MLB debut that night by allowing a run while pitching the last four innings in an 8-3 away loss to the New York Yankees. After three starts in five appearances with a 6.63 ERA and 1.526 WHIP, he was outrighted off the Orioles' 40-man roster on September 30.