Heineman underwent season-ending surgery on his right ankle on July 1, 2015, without having appeared in any professional games that season.[6] He made his professional debut and spent the entire 2016 season with the High Desert Mavericks of the California League, hitting .303/.386/.505/.891 with 17 home runs, 80 RBI, and 30 stolen bases. He spent the 2017 season with the Frisco RoughRiders of the Texas League, hitting .284/.363/.427/.790 with 9 home runs, 44 RBI, and 12 stolen bases. In 2018, Heineman played in 107 games for the Round Rock Express of the Triple-APacific Coast League (PCL) and 7 games for the Roughriders. He was named to the PCL All-Star Team and participated Triple-A All-Star Game.[7] He hit a combined .306/.371/.445/.816 with 12 home runs, 67 RBI, and 18 stolen bases in the 2018 season.
During the 2018 off-season, Heineman played for the Leones del Escogido of the Dominican Winter League.[8] The Rangers placed him on their 40-man roster following the 2018 season.[9] Heineman was named the recipient of the Rangers' 2018 minor league Tom Grieve Player of the Year award.[10] Heineman underwent surgery on his left shoulder (labrum) in December 2018.[11] On March 3, 2019, he was placed on the 60-day injured list as he recovered from shoulder surgery.[12] After rehabbing with the AZL Rangers of the Rookie-levelArizona League and the Nashville Sounds of the Triple-APacific Coast League, he was activated from the injured list on July 3 and optioned to Nashville.[13] Between the two levels, he hit a combined .347/.415/.591/1.006 with 10 home runs and 31 RBI over 46 games.
The Rangers promoted Heineman to the major leagues on August 2, 2019.[14] He made his major league debut that day versus the Detroit Tigers, recording his first career hit off Tyler Alexander.[15] On September 3, Heineman hit his first major league home run off Jonathan Loáisiga.[16] In 25 games for Texas in 2019, Heineman hit .213/.306/.373/.679 with 2 home runs and 7 RBI. In 24 games for Texas in 2020, he hit .154/.185/.269/.454 with 1 home run and 7 RBI.
On December 2, 2020, Heineman was non-tendered by Texas. On December 3, 2020, Heineman re-signed with the Rangers on a major league contract.[17] However, on December 11, after the Rangers signed Jimmy Herget, Heineman was designated for assignment.[18]
Cincinnati Reds
On December 16, 2020, the Rangers traded Heineman to the Cincinnati Reds in exchange for José Acosta.[18] He was assigned to the Triple-A Louisville Bats to begin the 2021 season. The Reds promoted Heineman to the active roster on May 21, 2021.[19] In 19 games for Cincinnati, Heineman struggled to a .100/.206/.300 slash line with 2 home runs and 3 RBI before being designated for assignment on June 28.[20] He was outrighted to Louisville on July 1.[21] Heineman hit .279/.353/.410 with 1 home run and 4 RBI in 17 games for Louisville before he was released on July 19.[22]
On June 6, 2022, Heineman signed a minor league contract with the Seattle Mariners. In 29 games for the Triple–A Tacoma Rainiers, he batted .190/.277/.310 with two home runs, 15 RBI, and five stolen bases. Heineman was released by the Mariners organization on August 11.