Ross attended Jeffersontown High School, where he played basketball and at one time was ranked as the number 2 forward prep prospect in the state of Kentucky. He began playing football as a sophomore in high school. He was a linebacker and defensive end, twice receiving All-district and honorable-mention All-state honors. After not being heavily recruited by colleges, he chose to enroll at Northeast Mississippi Community College. As a freshman in 2012, he tallied 21 tackles and 1.5 sacks. As a sophomore in 2013, he posted 45 tackles to lead the team, 9.5 tackles for loss, one sack and one forced fumble.
On March 7, 2014, he was signed by the Edmonton Eskimos of the Canadian Football League, eight days shy of his 21st birthday. He was waived on June 21 and signed the next day to the team's practice squad. On May 15, 2015, he was released before the start of the season with a knee injury. On May 28, 2016, he was re-signed by the Eskimos after sitting out the 2015 season recovering from his knee injury and having a tryout at their mini-camp in Florida. He was released on June 15.
On July 26, 2016, he was signed by the Saskatchewan Roughriders of the Canadian Football League. He was activated on August 12. He was released on August 17 after playing in one game.
Houston Texans
On May 12, Ross was signed as an undrafted free agent by the Houston Texans after the 2017 NFL Draft. On September 2, he was waived by the Texans and was signed to the practice squad the next day. He was released on September 8.
Detroit Lions
On September 11, 2017, Ross was signed to the Detroit Lions' practice squad. He was released on September 14.
Kansas City Chiefs
On September 19, 2017, Ross was signed to the Kansas City Chiefs' practice squad.
On November 11, 2017, Ross was signed by the Dallas Cowboys off the Chiefs' practice squad, filling the roster spot created by Ezekiel Elliott's suspension. The addition of Ross and the promotion of Lewis Neal from the team's practice squad, helped to improve the depth at the defensive line with both Brian Price and Stephen Paea being placed on the injured reserve list. He was first activated for the 14th game against the Oakland Raiders, making one tackle for loss and one quarterback hurry. In the season finale against the Philadelphia Eagles, he had one sack and one fumble recovery. He finished the season with 2 tackles, one sack, 2 quarterback pessures and one fumble recovery. In 2018, he appeared in 13 games as a backup, collecting 10 tackles, one sack, 11 quarterback pressures, one forced fumble and one fumble recovery. On March 8, 2019, he was re-signed to a one-year contract. On August 31, he was placed on the injured reserve list with a shoulder injury.