I've been in this exact situation and had some real success (and failure)... I think hiring a junior developer who will be great and good for your organization comes down to one thing: how much passion do they have for programming?
If they don't do it on their own, and don't seem interested in programming for their own benefit outside of the job, then don't hire them.
People who are new but enthusiastic and spend a lot of time learning on their own are who you want.
Subsequently, hiring too many junior developers can be a hinderance because there aren't enough people to coach and guide them. It adds technical debt to your organization and makes for a shitty experience for the junior dev. They need help and they need people who have the time to help them. It's easy for junior devs to feel inadequate and suffer in silence.
Finally, ask yourself why don't have the funds to hire a more experienced engineer. It may be a sign of an unhealthy organization or goals which are way too big. I say this from experience and the pain I felt as a result of not listening to my gut and pushing back ferociously. You think firing someone "sucks," try laying off a room of people you know, who you care about, and who have been good to you and your organization... bad goal setting will cause it.