Looking at his linkedin I see one programming job he had for more than a few months, and a lot that are about 8 months give or take. At one job he started as a programmer after a year and was moved to be a trainer, which he did for 2 more years. That's such a bad sign.
The most likely explanation, to me, of this resume is that there's something more to this story. He gets hired, they give him a few months and then pull the plug. This pattern is there 5 or 6 times, and then one programming job longer than 2 years, which is remote.
I don't know him and I can't say for sure, but this pattern of employment does not fill me with confidence.
Then there are macro issues. He has spent almost his entire career doing Ruby on Rails, which is nearly dead. Jobs for Rails are at 2007 levels as a % of overall tech jobs, and going down year over year for a decade. The tech job market is also saturated with applicants in general.
Finally, and overwhelmingly most importantly, he is only looking for fully remote jobs in Australia.
Overall I would say if he is only willing to consider remote work in Australia, applying to 36 jobs and not getting any is not that surprising. Things are rough out there and he is excluding 99.99% of the job market.
If I were giving him advice, it would be to go get whatever job he can and keep applying to programming jobs if that is where he wants to continue his career. He hasn't been looking very long and his experience in the market he is limiting himself to does not really reflect on him or his abilities. I would give him further advice to clean up his resume, remove several of the short-time jobs that nobody cares about because they are so long ago (but do care about because of the pattern of short term jobs), and combine that job that is split into programmer/trainer stints into one long job with both responsibilities summarized (I programmed and trained people). Finally spend your free time learning a technology that is growing and has relevance, like Rust or Go, and keep applying.