Johnson played for the Bowie State Bulldogs from 2007 to 2011, recording 219 total tackles, six interceptions, twenty pass breakups, five forced fumbles, six fumble recoveries and five sacks during his college career. He set the school's single season record for blocked kicks and punts with seven in 2010. He also set the school record for most career blocked kicks and punts with eleven.[3] Johnson played in the NFLPA Collegiate Bowl his senior season.[4] He also played basketball at Bowie his freshman and sophomore years.[2] He majored in pedology at Bowie State.[1][5]

Johnson signed with the Houston Texans on April 30, 2012, after going undrafted in the 2012 NFL Draft.[6] He was released by the Texans on August 31 and signed to the team's practice squad on September 1, 2015.[7] He signed a futures deal with the Texans in January 2013. Johnson was released by the Texans on August 30, 2013.[8]

Johnson played in ten games, all starts, for the Toronto Argonauts in 2014, recording 13 defensive tackles, one special teams tackle, one sack and one forced fumble.[9][10] He played in two games for the team during the 2015 season, totaling one defensive tackle and one forced fumble.[10][11] He was released by the Argonauts on July 31, 2015.[12][13]

Johnson was assigned to the Portland Thunder on November 5, 2015.[14] On February 24, 2016, the franchise changed its name from Thunder to Steel.[15] He was placed on other league exempt on March 2, 2016.[16]