Rose to popularity through his television role on Shameless as the serial liar Steve/Jimmy Lishman. He's also had a role on the popular series Weeds. In 2019, he'd begin starring in Netflix's Sci-Fi Another Life.
He made his debut in 2001 in Christy Choices of the Heart, Part II: A New Beginning.
He made an appearance on an episode of the television series Lost in 2006.