Following his degree, he worked as a social services lecturer at the North East Worcestershire College in Redditch. In 1989, he became a child care worker in Solihull until 1991 when was appointed as an education adviser to the Central Council for Education and Training in Social Work (now called the General Social Care Council). He remained in this position until his election to the House of Commons.

He was elected as a councillor to Birmingham City Council in 1990 and served until 1998, during which time he served as the chair of the city's technical services committee (highways are its major function).

In October 2006, he applied for selection to the redrawn Birmingham Selly Oak seat, which incorporated much of his existing seat. Following the announcement by Lynne Jones, the sitting member for Selly Oak, in January 2007 that she would stand down at the next election, he became the favourite to be selected for the newly drawn constituency, and was duly selected by the local Labour party. He decided not to apply for the redrawn Hall Green seat on the grounds that its boundaries were significantly different from the existing seat of the same name.[1]

McCabe called in 2013 for a referendum on remaining in the EU to be held "as soon as possible", admitting he found himself "at odds with his party" on the issue.[5] McCabe joined 18 other Labour MPs in backing a referendum on Europe in a House of Commons vote called by rebel Conservative MPs.[6]

In the 2009 expenses scandal it was revealed that McCabe had over-claimed on his mortgage by £4,059.[7]

A three-month investigation by the parliamentary fees office resulted in McCabe calling for Commons officials to be sacked.[8] He later admitted: "I did make an error in my claim and, as the letter from the fees office shows, this money was repaid in a deduction from my next claim". Between 2004 and 2008, McCabe claimed £54,699 in expenses for his second home, on which he has a £60,000 mortgage. The claims included £5,500 for a new kitchen.[7]

On 1 August 2017, McCabe was left with injuries to his face after an individual on a motorcycle in Kings Heath, Birmingham threw a brick at him, leaving him with swelling and bruises to his face. Subsequently, he has given a statement to the police.[9]