The Texas Rangers drafted Miller in the 16th round of the 2008 Major League Baseball Draft. He began his professional career in 2008 with the Rangers′ Class A-Short Season affiliate, the Spokane Indians of the Northwest League, making 14 appearances and posting an earned run average of 5.06 with 24 strikeouts and 12 walks in 21 innings of work, going 2-for-2 in save opportunities. Miller split the 2009 season among three teams, starting with eight games with the AZL Rangers in the rookie-level Arizona League, where he pitched to a 1.08 ERA in 8 innings with 10 strikeouts and a walk, going 2-for-2 in save opportunities. He then returned to Spokane, where he made five appearances, posting a record of 0–1 and an ERA of 9.00 with 11 strikeouts and seven walks, blowing his only save opportunity. Promoted to play for the Bakersfield Blaze in the Class A-AdvancedCalifornia League, he finished his season with 11 appearances for Bakersfield in which he pitched to a record of 1–1 and an ERA of 2.35 with 16 strikeouts and seven walks in 15 innings and earned a save in each of two save opportunities. Overall, he had a record of 1–2, an ERA of 3.34, 37 strikeouts, and 17 walks for the three teams combined in 2009, and he earned four saves in five opportunities. Miller spent the entire 2010 season at Bakersfield, finishing the year with a record of 4–3, an ERA of 3.06, 52 strikeouts, and 21 walks over the course of 47 innings in 32 appearances, going 0-for-1 in save opportunities. For 2011, he was promoted to the Frisco RoughRiders of the Class AATexas League. He spent the entire season there, making 48 appearances and pitching 69 innings, finishing the year with 77 strikeouts, 24 walks, an ERA of 1.81, and a record of 9–1, earning 13 saves in 17 opportunities. In the fall of 2011, he played for the Surprise Saguaros in the Arizona Fall League, going 2–0 in his two appearances with no walks and striking out two batters in 2 scoreless innings of work. The Texas Rangers added Miller to their 40-man roster after the 2011 season to protect him from the Rule 5 draft. After undergoing ulnar collateral ligament reconstruction, popularly known as "Tommy John surgery," Miller missed the entire 2012 season, but he returned to action with Frisco in May 2013, pitching 16 innings in 16 appearances with a 1–0 record, an ERA of 6.19, 21 strikeouts, seven walks, and two saves in three opportunities. Promoted to the Round Rock Express of the Class AAAPacific Coast League, Miller made 11 appearances for the Express before his season ended with an injury, pitching 11 innings in which he had 12 strikeouts, nine walks, and an ERA of 9.82, earning a save in his only save opportunity. He finished the 2013 season with an overall ERA of 7.67, 33 strikeouts, and 16 walks. The Rangers released him on September 1, 2013.
Detroit Tigers
The Detroit Tigers signed Miller on September 18, 2013, and added him to their 40-man roster on November 20, 2013. He started the 2014 season in the Class AAA International League with the Toledo Mud Hens. The Tigers promoted Miller to the major leagues on April 18, 2014, and he made his major league debut that day. The Tigers optioned him back to Toledo on April 26, recalled him on April 27, and sent him back to Toledo on May 18. He returned to the Tigers on August 11, but they optioned him back to Toledo on August 12. The Tigers designated him for assignment on August 30, 2014, to make room for Kyle Ryan on their 40-man roster and outrighted him to Toledo on August 31. By the end of the 2014 season, he had made eight appearances for the Tigers, allowing seven runs on 14 hits over 12 innings, with five strikeouts, two walks, and an ERA of 5.11, while in 38 appearances for Toledo he had allowed nine runs on 30 hits over 44 innings and posted an ERA of 1.81 and a record of 2–1, with 12 walks, 39 strikeouts, and a record of 5-for-6 in save opportunities. He elected free agency on November 3, 2014.
Colorado Rockies
2015
Miller signed a minor-league deal with the Colorado Rockies on November 22, 2014, and invited him to major-league spring training in 2015. He began the 2015 season with the New Britain Rock Cats of the Class AA Eastern League and pitched in six games for them, posting a record of 1–1 and an ERA of 0.84 with 10 strikeouts and four walks in 12 innings of work. The Rockies promoted him to the Albuquerque Isotopes in the Class AAA Pacific Coast League on May 6, then selected his contract on June 17. He remained with the Rockies until June 26, when they optioned him back to Albuquerque. He returned to the Rockies for major-league service from June 30 to July 4 and from July 28 to August 23, spending the time between major-league stints with Albuquerque. After major-league rosters expanded in September, the Rockies called him up again on September 2 to finish the season with them. Overall in 2015, he appeared in 34 games for Colorado, pitching 33 innings with 38 strikeouts, 11 walks, and an ERA of 4.05, with one save, one blown save, and a record of 3–3, and in 25 games for Albuquerque, pitching 27 innings with 33 strikeouts, eight walks, and an ERA of 2.30, going 7-for-9 in save opportunities and posting a record of 0–2.
2016
Miller began the 2016 season with the Rockies, but went to the 15-day disabled list with a left oblique strain injury on July 5 retroactive to July 3. He had rehabilitation assignments with Albuquerque in July and August before the Rockies activated him from the disabled list on September 2 after major-league rosters expanded in September. During the year, Miller made 40 appearances for Colorado, pitching 42 innings with 46 strikeouts, 20 walks, and an ERA of 5.70, with a record of 1–1, and pitched in 12 games for Albuquerque, pitching 12 innings, with eight strikeouts, four walks, and an ERA of 6.75. The Rockies outrighted him to Albuquerque on October 12, and he elected free agency on October 13.
On November 1, 2016, Miller signed a minor-league deal with the Los Angeles Angels of Anaheim. The Angels assigned him to the Salt Lake Bees of the Class AAA Pacific Coast League. He pitched in 38 games for Salt Lake, with 37 strikeouts, eight walks, and an ERA of 5.48 in 46 innings of work, going 9-for-11 in save opportunities and posting a record of 5–1. The Angels released him on July 11, 2017.
Washington Nationals
After the Angels released him, Miller lost weight, added a split-finger fastball to his fastball-slider repertoire, and improved his pitch velocity. Impressed with the results, the Washington Nationals signed him to a minor-league deal on January 12, 2018. After he attended extended spring training in 2018, the Nationals assigned him to the Syracuse Chiefs of the Class AAA International League, where he began the 2018 season with nine appearance for the Chiefs, pitching 13 scoreless innings with 23 strikeouts and three walks and earning a save in his only save opportunity. On May 25, 2018, the Nationals selected his contract and called him up to the major leagues. On July 29, 2019, Miller was designated for assignment. He elected free agency on October 1, 2019.
Toronto Blue Jays
Miller signed a minor league contract with the Toronto Blue Jays on December 2, 2019.