Prior to turning professional, Hamill spent his entire Western Hockey League (WHL) career with the Everett Silvertips.
[3] During the off-season, Hamill represented Canada at the 2005 U-18 Junior World Cup in Břeclav, Czech Republic, and Piešťany, Slovakia.
In November, Hamill once again represented Team WHL in the 2006 ADT Canada-Russia Challenge and in January, he played in the 2007 CHL Top Prospects Game.
[15] After attending the Bruins' training camp in 2007 and playing in one pre-season game, Hamill was returned to the Silvertips for the 2007–08 WHL season.
[17] During a recall stint with the Bruins in the 2009–10 season, Hamill was credited with his first NHL point on April 11, 2010, with an assist against the Washington Capitals.
In the 2012–13 season, he tallied 22 points in 40 games with the Bears before he was traded to the Florida Panthers in exchange for forward Casey Wellman on January 31, 2013.
In the 2015–16 season, Hamill immediately impressed in Fribourg, earning another two-week extension, collecting five goals in his nine-game stint.
On October 9, 2015, he was released by Fribourg as he was signed as a temporary injury cover for one-month to play with rivals HC Ambrì-Piotta.
[26] He featured in eight games with Ambrì before he was mutually released from his contract to play out the remainder of the season in Germany with the Iserlohn Roosters of the Deutsche Eishockey Liga (DEL).
As a free agent over the following summer and mid-way into the 2016–17 season, Hamill belatedly signed a one-year contract in the Swedish Allsvenskan, agreeing to terms with IF Björklöven on November 21, 2016.