Cairns is the number one place to go diving at the Great Barrier Reef, because the city is quite close to the reef. Anyways, it’s still quite a trip to get to the reef and diving and snorkeling can be quite expensive.

We have found an opportunity to spend some extra days on a diving boat and at the great barrier reef – for free. There is no guarantee that it will work for you, especially once this tip is on the internet, but it’s definitely worth trying if you are backpacking on a budget.
The boat “Reef Encounter”, a partner boat of “Reef Experience” offers the opportunity to stay on the ship as a “host” for a few days after your dive trip. And this is the deal: You are working on the boat and helping out in cleaning, laundry, food service etc. In return, you get accommodation, food and at least 2 dives per day for free.
Although the work is not particularly hard, a working day can be quite long, starting at 5:30 in the morning. And for those, who are not that fond on diving, after 2 or 3 days you might have had enough. If you are really into diving, this might be a great deal though.
Even night dives are done. I personally don’t find them that spectacular after having done a few, but it’s cool to have done it at least once.
This is the website (maybe don’t tell them you found it on the internet, tell them another backpacker told you): https://reefencounter.com.au.
Cheers and have fun at the reef!
P.S. If you want to do your divemaster, you should ask the same boat as well.