Самыми эффективными оказываются стажировки в компаниях, профессионально занимающихся разработкой. Правда там уже более узкая специализация, но зато более углубленная. Там ты находишся под постоянным и бдительным присмотром тренера, который всегда знает лучший способ решения поставленной задаси. Правда, чтобы попасть на такую стажировку необходим уже очень не плохой багаж знаний и опыта за плечами, плюс придется выполнить тестовые задания. Но оно того стоит. Перепробывал и вузы, и курсы повышения квалификации, и самостоятельное изучение, и такую стажировку. Однозначно стажировка тащит!