A mixture works best since the junior developers keep the senior developers on their toes. A junior person will ask why something is a certain way, and those questions promote improvement. Also, as the senior programmers train the junior programmers, it often leads to examination of existing infrastructure and, consequentially, improvement. Start with a realistic timeline. If the schedule is unreasonable at the start, then the timeline and staffing need to be adjusted quickly.
Many projects make the mistake of only adding resources to speed up the schedule.
This is often a mistake. When a schedule is unreasonable it often means more is wrong than a just a lack of resources. When re-evaluating the schedule also examine the project goals, methods and choices. Make sure you are working under valid assumptions and information. After this re-examination, make project changes as required by your review.