Лучше всего совмещать практику с обучением. Идеальный вариант - брать такие заказы, которые позволят учиться и повышать свою квалификацию, т.е. за обучение ещё и платить будут :)
Это вполне реально, главное не пытаться прыгнуть выше головы: если в заказе непонятно абсолютно всё, то браться за него и гарантировать выполнение за какие-то сжатые сроки бессмысленно.
Как вариант - работать на подхвате в студии или в команде фрилансеров. Если будет хороший наставник - то обучение пойдет намного быстрее.
Ну а английский надо изучать вне зависимости от программирования. Лишним никогда не будет.