I don't know what you mean by "the work being a higher percentage non-code"?
But also: "Take-home technical assignment (~4h)"?
For what? Just give me a contract to work on one specific module or account or whatever. Real work, real pay. That ticket that's been itching you, but you've never assigned, or that customer request that just "can't be done". Give me that, pay me for it.
Now afterward, I've actually worked together with your team on something and we both know whether or not we want to keep doing that. And you've got rid of that nagging ticket, and hired someone who does the things that can't be done. Or worst case, you decide my work's crap and you're no worse off.
2/3rds of my career jobs have been contract-to-hire like that. And the other 1/3rd were cases where I'd already worked with these people before due to something like that.
A couple of calls and a contract job like that should be all it takes.
I guess the questions you have to ask are:
- Are you just not getting applicants at all?
- Or are you getting altogether the wrong applicants?
- Or are you getting ones that might possibly fit but they're just not making it through the process?
If it's either the first or the second, then your posts maybe aren't right in some way. If it's the third, then you need to look at where they're falling out. If it's the assignment, then that's your problem. And there's an easy solution.