Walker grew up in the Wester Hailes area of Edinburgh and attended Forrester High School. A member of Hearts under-19 squad, Walker's performances in the early part of the 2011–12 season earned him a new three-year contract extending his stay with the club until 2014. With Hearts in financial difficulty and wanting to bring through members of their under-19 squad into the first team, Walker was sent on loan to Raith Rovers in November 2011 to gain first team experience. He made his debut for Raith on 26 November 2011, in their 3–2 win against Hamilton. Walker only trained one day a week with Raith, with the rest being spent with Hearts due to their use of astroturf causing greater risk of injury. On 4 January 2012 his loan deal was extended for another month. After a brief period back at Hearts, he returned to Raith on 31 January 2012 for the rest of the 2011/12 season. He scored his first goal for Raith on 11 February, in a 2–2 draw with Ross County. Walker made his first team debut for Hearts on 18 August 2012, appearing as a substitute in the 2–2 draw with Inverness CT at Tynecastle. Walker capped off his debut season with an individual goal against St Mirren in May 2013. He was awarded Hearts' Overall "Young Player of the Year" for season 2012/13. Season 2013–14 started well for Walker, helping his side to a 1–0 victory over city rivals Hibernian. The following week Walker scored an equaliser against Partick Thistleaway from home. He scored again against Aberdeen which helped his team to a 2–1 win. This win took the club to −8pts after starting with −15pts due to the club entering administration. Hearts were eventually relegated, but Walker helped them regain top division status by winning the 2014–15 Scottish Championship. Early in the 2016/17 season, Walker was given a two-match suspension after he was found guilty of diving to win a penalty kick against Celtic. The captain of Celtic, Scott Brown, called Walker a "cheat" after the match. Walker scored twice in a 4–1 win against Rangers on 1 February 2017. Walker was subject to transfer speculation for most of 2017, with his contract due to expire at the end of the 2017/18.
Walker rejoined Hearts on 28 June 2019 on a three-year deal. He broke his leg in August 2019. He returned to first team training on the 28th of October.
International career
Walker has represented Scotland at U15, U16, U17, U19 and U21 level. Walker made his debut for the Scotland U21s against Luxembourg in a 3–0 win on 25 March 2013. In the game, he also scored his debut goal to make the score 1–0 with a volley from the edge of the box.