Williams attended Camas High School in Camas, Washington . He played for the school's baseball team, and graduated in 2010.  Camas reached the state championship game in 2010.  He won the most valuable player trophy at an all-state series. 
Williams enrolled at Washington State University , and played college baseball for the Washington State Cougars baseball team in his freshman year. Discontented with Washington State, he transferred to Mount Hood Community College , a junior college . He then played collegiate summer baseball for the Keene Swamp Bats of the New England Collegiate Baseball League , where he had three members of the Kent State Golden Flashes baseball team as his teammates. Based on their recommendations, he transferred to Kent State University to play for the Golden Flashes.  With the Golden Flashes, Williams pitched to a 10-1 win–loss record with a 2.47 earned run average and 110 strikeouts . He was named to the Mid-American Conference 's first-team. 
The Milwaukee Brewers selected in the fourth round, with the 122nd overall selection, of the 2013 MLB Draft .    He signed with the Brewers, receiving a $400,000 signing bonus . The Brewers assigned him to the Helena Brewers of the Rookie-level Pioneer League .  In 2014, he played for the Wisconsin Timber Rattlers of the Class A Midwest League .  During the season, the Brewers promoted him to the Brevard County Manatees of the Class A-Advanced Florida State League . Williams missed the 2015 and 2016 seasons while recovering from Tommy John surgery . 
The Brewers added Williams to their 40-man roster following the 2016 season.  He played for the Biloxi Shuckers of the Class AA Southern League in 2017, and made his major league debut on September 6, 2017.