Hudson attended Sequatchie County High School in Dunlap, Tennessee. During his junior year in 2012, he committed to Mississippi State University to play college baseball.  As a senior, he had a 1.09 earned run average (ERA) with 124 strikeouts in 64 innings.  Hudson was drafted by the Texas Rangers in the 36th round of the 2013 Major League Baseball Draft. He did not sign and attended Mississippi State.
As a freshman in 2014, Hudson started five games and made one relief appearance. He went 1–2 with a 4.67 ERA and 10 strikeouts. As a sophomore in 2015, he made 17 appearances in relief, going 1–1 with a 4.32 ERA with 26 strikeouts.  Hudson returned to starting his junior year in 2016.   
Hudson was considered a top prospect for the 2016 MLB Draft.   Hudson was drafted by the St. Louis Cardinals in the 1st round of the 2016 Major League Baseball Draft. He signed for $2MM and was assigned to the Gulf Coast League Cardinals. In August 2016, he was promoted to the Palm Beach Cardinals. On September 7, 2016, he was promoted to the Springfield Cardinals. He finished his first professional season with a 2–1 record and a 0.68 ERA.  Hudson returned to Springfield to begin the 2017 season, and after posting a 9-4 record with a 2.53 ERA, he was promoted to the Memphis Redbirds in late July. He finished 2017 with a combined 10-5 record, 3.01 ERA, and a 1.28 WHIP between both clubs.