Born in Germany but Essex-raised, Cowan began his career in non-league football with Braintree Town, then Canvey Island. A loan spell at Nuneaton Town saw him catch the eye of Shrewsbury Town, with whom he signed professionally in March 2005. Unable to fully establish himself, Cowan spent time on loan at various clubs before settling at Nuneaton Borough following his release from the Shropshire club. He signed for AFC Telford United in 2008, where he made close to 100 appearances. Moving on to Fleetwood Town in 2010, he then spent time with Gainsborough Trinity, Nuneaton Town and Solihull Moors before moving into coaching. He returned to the New Buck’s Head in 2016, before taking on the management position following the resignation of Rob Edwards in May 2018. Away from football, he runs his own coaching and sports development company.