McKinley originally committed to the University of California, Berkeley but was ruled a non-qualifier and attended Contra Costa College.[2][3] During his one season at Contra Costa College in 2013, he had 33 tackles and 10 sacks. In September 2014, he transferred to the University of California, Los Angeles (UCLA).[4] He played in 10 games that season, making one start, and finished the year with 2.5 sacks.[5][6] As a junior in 2015, McKinley started 12 of 13 games, recording 35 tackles and 3.5 sacks.[7] As a senior in 2016, he recorded 10 sacks.[8]
McKinley was invited to the NFL Combine as an outside linebacker and completed all the combine drills except for the short shuttle and three-cone drill. He underwent surgery to repair a torn labrum and a fracture in his shoulder socket after the combine. His recovery time was expected to take four to six months, making him unable to participate at UCLA's Pro Day.[11] NFL draft analysts projected McKinley to be selected within the first two rounds.[12][13][14][15][16]
Atlanta Falcons
McKinley was selected by the Atlanta Falcons in the first round (26th overall) of the 2017 NFL draft.[17][18][19][20] On May 11, McKinley signed a four-year, $10.21 million contract with $7.89 million guaranteed and a signing bonus of $5.57 million.[21] He played in all 16 games, recording 20 tackles and six sacks, good for fourth in the league among rookies and second on the team behind Adrian Clayborn.[22]
In Week 4 of the 2018 season, against the Cincinnati Bengals, McKinley recorded a career-high three sacks in a 37–36 loss.[23] He finished the season with 22 combined tackles and a team-high seven sacks. In 2019, McKinley played in 14 games with 13 starts, recording 29 tackles and 3.5 sacks. He suffered a shoulder injury in Week 15 and was placed on injured reserve on December 17, 2019.[24] On April 29, 2020, the Falcons declined the fifth-year option on McKinley's contract.[25]
In November 2020, McKinley publicly requested to be traded after privately requesting the Falcons since 2019, who had turned down several trade offers from other teams.[26][27] He was waived by the team shortly after.[28] The same month, McKinley was claimed off waivers by the Bengals and San Francisco 49ers but had his contracts for both voided due to failed physicals.[29][30]
Las Vegas Raiders
McKinley was claimed off waivers by the Las Vegas Raiders on November 23, 2020.[31] He was placed on injured reserve on November 27, 2020.[32] He was designated to return from injured reserve on December 15, and began practicing with the team again,[33] but head coach Jon Gruden announced on December 30 that he would not be activated.[34]
Cleveland Browns
McKinley signed a one-year contract with the Cleveland Browns on March 17, 2021.[35] In Week 14, McKinley had two tackles and a sack, including a forced fumble on Tyler Huntley in a 24–22 win over the Baltimore Ravens. He suffered a torn Achilles in the game and was placed on season-ending injured reserve on December 21.[36] He finished the season with 18 tackles, 2.5 sacks and a forced fumble through 11 games.
On September 21, 2022, McKinley was signed by the Los Angeles Rams off the practice squad of the Titans.[38] His contract was terminated by the Rams on October 18, 2022.[39]