Johnson entered his true freshman year at Florida State in 2014 as a backup, but moved into the starting lineup for the final five games.[5] He started every game at left tackle for Florida State as a sophomore in 2015 and was the winner of the Jacobs Blocking Trophy.[6]
Johnson was drafted by the Cleveland Browns in the fifth round, 160th overall, in the 2017 NFL draft.[11] He signed a four-year contract with the Browns on May 10, 2017.[12] On September 4, 2017, Johnson was placed on injured reserve.[13]
Johnson was waived by the Browns on June 19, 2018, without ever appearing in a game for the Browns.[14]
Houston Texans
On June 20, 2018, Johnson was claimed off waivers by the Houston Texans.[15] He was waived on September 1, 2018, and was signed to the practice squad the next day.[16][17] He was promoted to the active roster on September 12, 2018.[18] He was waived on October 4, 2018, and was re-signed to the practice squad.[19][20] He was promoted back to the active roster on December 8, 2018.[21]
In 2019, Johnson played in all 16 games, starting three games, two at right tackle and one at left tackle.
Johnson re-signed with the Texans on a one-year contract on March 21, 2020.[22] He re-signed with the team again on April 9, 2021.[23] He was released on August 18.
Miami Dolphins
On September 20, 2021, Johnson was signed to the Miami Dolphins practice squad.[24]
Kansas City Chiefs
On January 19, 2022, Johnson was signed to the Kansas City Chiefs practice squad.[25] He signed a reserve/future contract with the Chiefs on February 2, 2022.[26] He was released on August 27, 2022.[27]
Philadelphia Eagles
Johnson was signed to the practice squad of the Philadelphia Eagles on September 28, 2022.[28] On February 15, 2023, Johnson signed a reserve/future contract with the Eagles.[29] He was placed on injured reserve on August 27.