Born in Barrow-in-Furness, Cumbria, Davies signed with the youth system at Preston North End after being spotted playing for Furness Rovers aged 11. He made his debut for the first team in a home 2–2 draw against Coventry City on 26 January 2013 at the age of 17 years, completing 83 minutes before being replaced by David Buchanan. During the match, he provided an assist for Nicky Wroe's 60th-minute equaliser and picked up a yellow card for a foul on Cyrus Christie. He drew praise from Preston manager Graham Westley, who likened Davies' transition into the first team to that of George Boyd at Stevenage. Davies kept his place for the next match at home against Shreswbury Town. His second match did not go as well as his debut, conceding a 90th-minute penalty, fouling Marvin Morgan in the penalty box. He was substituted shortly after for Paul Huntington, with Preston to ultimately lose the match. He signed a one-year professional contract at Preston, with an option to extend for a second year, in May 2013, after being named the club's Scholar of the Year for the 2012–13 season. Davies joined League Two club York City on 19 July 2013 on a one-month loan. He made his debut in a 1–0 home win over Northampton Town on 3 August 2013, in the first match of 2013–14. On 15 August 2013, his loan was extended until January 2014, having appeared in York's opening two matches. Davies joined Tranmere Rovers of League Two on 19 September 2014 on a one-month loan and made his debut a day later in a 2–1 home defeat to Exeter City. He played in four matches for Tranmere, returning to Preston once the loan ended on 22 October 2014. He joined National League club Southport on 11 September 2015 on a one-month loan, and made his debut a day later in a 2–1 away defeat to Forest Green Rovers. Davies was recalled by Preston on 20 October 2015, to provide cover for injured defensive players, having made nine appearances for Southport. On 7 January 2016, Davies joined Newport County of League Two on a one-month youth loan, subsequently extended until the end of 2015–16. On 2 January 2017, Davies joined League One club Fleetwood Town on loan for the remainder of 2016–17. He made his debut for the club on the same day, starting a 1–0 away win over Shrewsbury Town.