…if we do not hire junior developers how they gain the experience to be a senior developer?
I was not clear enough in my original post. I believe in hiring a diverse team, especially in diversity of experience, and diversity of personality type. That includes junior developers (and testers and analysts and whatever other kinds of roles you need for your team). I encourage you to make that kind of diversity part of your hiring strategy.
Junior staff have a lot of possibilities to offer your team, which is why it’s worth hiring them: energy, a willingness to tackle any kind of work, maybe some ideas you haven’t considered, and more than I can think of right now.
But they do require training, which is why hiring a junior employee makes sense. To me, hiring a contractor as an extra pair of hands, when those hands need to be trained, doesn’t make much sense. But hiring employees–especially junior staff whom you can grow–that makes a lot of sense.