The defender began his career in the depths of non-league playing as a youngster with the likes of Long Melford, Hadleigh United and later AFC Sudbury.
It was with the latter that he graduated to the first-team making just shy of 100 league appearances scoring once. He began his time in the first-team aged 16 and was named captain shortly afterwards.
A promising youngster, French had trials with a number of Championship and Premier League clubs including Barnsley, Charlton Athletic, Ipswich Town, Crystal Palace and Leicester City.
He trained with Bradford City in May 2019 and signed a professional two-year contract with the Bantams.
His debut in the professional game came in an EFL Cup match at home to Preston North End and he scored his first goal in an EFL Trophy tie with Rochdale.
After six Bradford City appearances in all competitions he spent time on loan with AFC Fylde in the National League, appearing five times for the Coasters during the 2019/20 season.
Upon his return to Valley Parade he made 19 appearances in the first half of the campaign before departing the club by mutual consent.
24 hours later he signed a short-term deal with Wrexham. French made his Wrexham debut against Eastleigh in February 2021 just a day after signing, but was sent off against the Spitfires. He went on to make 17 appearances before having a clause in his contract triggered to extend his stay at the Racecourse.