Barmby signed for Manchester United as a 14-year-old in August 2008, leaving Hull City on the advice of his father. In June 2009, Barmby was a part of the Manchester United under-15 squad that finished tenth place in the International Marveld Tournament in Groenlo, Netherlands. He made his first appearances for the reserves in February 2011, coming on as a substitute in the wins against Rochdale and Oldham Athletic respectively. In July 2011, Barmby was named in the 18-man squad for the 2011 Milk Cup tournament in Northern Ireland. He excelled at the tournament, scoring four goals in five games as United finished as runners-up. Barmby scored in every round of the 2011–12 FA Youth Cup as United reached the semi-finals. His efforts saw him shortlisted for the Jimmy Murphy Young Player of the Year award. In December 2012, Barmby was named in the 18-man under-19 squad for the NexLions Cup in Singapore. He played in both of United's games as they finished third in the tournament. Barmby was part of the United squad that went out at the group stages of the 2013 Dallas Cup in Texas, United States. On 23 May 2014, Manchester United announced that Barmby would be leaving the club to join Leicester City. He didn't make a senior appearance for the club in nearly six years at Old Trafford.
Barmby signed for League Two club Hartlepool United on a one-month loan deal on 23 January 2014. He made his debut two days later, coming on as a 79th minute substitute against York City, and scoring the second goal in the 2–0 win at Victoria Park. He made his first start on 1 February, playing 83 minutes in the 0–0 with Scunthorpe United. On 25 February, Hartlepool extended Barmby's loan spell for a further month. He scored in the 3–0 against Torquay United on 1 March, and again in the 2–1 defeat at Wycombe Wanderers a week later. Barmby's loan spell was extended yet again on 27 March, this time Hartlepool agreed a deal to keep him at the club until the end of the season. Barmby's last appearance for the club came against Plymouth Argyle on 26 April, he scored the equalising goal in the 1–1 draw at Home Park. Overall, he made 17 appearances for Hartlepool and scored five goals.
Leicester City
On 23 May 2014, Barmby signed for newly promoted Premier League club Leicester City on a two-year deal commencing from 1 July.
On 8 January 2015, Barmby joined Championship side Rotherham United on a one-month loan deal. He made his debut two days later, playing 57 minutes in the 1–0 defeat at Brentford. He made one further appearance a week later in the 2–0 defeat against Bournemouth. On 6 February, Rotherham manager Steve Evans announced on the club's Twitter account that Barmby had returned to his parent club due to lack of starting opportunities.
On 24 September 2015, Barmby joined League Two side Notts County on loan until 13 November. He made his debut two days later, coming on as a 60th-minute substitute in the 1–0 win against York City at Meadow Lane. Barmby made his first start on 3 October, he played the whole game in the 3–1 defeat at Leyton Orient. He made his Football League Trophy debut three days later in the 5–1 defeat at League One club Sheffield United. Barmby made his last appearance for The Magpies in 2–1 league win against Portsmouth on 31 October. Overall, he made 6 appearances for Notts County without managing to score any goals.
On 9 March 2016, Barmby joined MLS side Portland Timbers on a season long loan. Barmby signed a deal to remain with the Timbers at the expiration of his Leicester contract. Barmby was released by Portland on 10 December 2018.
Barmby signed with Phoenix Rising FC on 10 December 2019.
International career
Under-16s
In October 2009, Barmby was called up to the England U16 squad for the 2009 Victory Shield match against Northern Ireland. On 5 November, he replaced Elikem Amenku at half-time in the 2–0 win at the Deva Stadium in Chester. In March 2010, U16s' manager Kenny Swain named Barmby in his 18-man squad for the Montaigu Tournament in France. He came off the bench in the 3–1 win against Ukraine before making his first start against Gabon the next day. Barmby scored two goals in the 6–0 win at Stade Hermitage before being replaced by Raheem Sterling. He started in the final of the tournament against Portugal as England lost 3–1 in a penalty shoot-out.
Under-18s
In February 2012, Barmby was called up to the England U18 squad for the friendly against Poland. He replaced Jordy Hiwula at half-time as England won 3–0 at Gresty Road.
Under-19s
In August 2012, Barmby was called up to the England U19 squad for the friendly against Germany. On 6 September, he came off the bench in the 3–1 defeat at the Stadion Lohmühle in Hamburg. Barmby retained his place in the squad for the UEFA European U19 Championship qualifiers against Estonia, Faroe Islands, and Ukraine. On 26 September, he started in the 3–0 win against Estonia before coming off the bench in the 6–0 win against the Faroe Islands two days later. On 1 October, Barmby played 76 minutes of the 1–1 draw with Ukraine that sealed England's progression to the elite qualification round.
Under-20s
On 19 March 2015, Barmby was called up to the England U20 squad for the friendlies against Mexico and United States. On 25 March, he played the whole game as England drew 1–1 with Mexico at The Hive Stadium, and then went on to win 4–2 on penalties. Four days later he was an unused substitute as England beat the United States 2−1 at Home Park.