Как внедрить знания в практику?
1. Забудьте про деньги
2. Получайте опыт
3. Закрепляйте
4. Двигайтесь дальше
UPD: Про фронт-енд код с принципами, плюшками и ООП: largescalejs.ruМои советы: 
1. Поймите существующие принципы архитектуры в JS, научитесь строить свою архитектуру приложения так, чтобы её можно было легко наращивать и она не ломалась и не проседала в плане производительности при увеличении функционала. 
2. Следите за тем, чтобы Ваше приложение было в изолированной области данных и не мешало работать другим подобным (другому коду).
3. При инициализации приложения обязательно проверяйте все зависимости, чтобы быть уверенным, что DOM готов для работы с объектами и окружение браузера и свойства объектов соответствует ожидаемой конфигурации.
4. Учитесь работать с событиями и обмениваться сигналами через систему событий.
5. Старайтесь ставить на паузу таймеры периодического исполнения функций (например, отображения: enterframe, сетевого ajax/socket-опроса: heartbeat и т.д.), если вкладка потеряла фокус и её пользователь не видит или пропала сеть (интернет-подключение). Т.е. экономьте ресурсы клиента всегда, когда это возможно.
Для быстрого погружения в стек современных инструментов разработки и некоторых лучших практик хорошо подходят генераторы проектов от Yeoman. Там и ES6 с babel'ем, и ESLint, и webpack, и gulp, и все виды тестирования (unit/e2e).
Вот здесь можно найти подходящий:
yeoman.io/generators
В своих проектах успешно использовал:
https://github.com/angular-fullstack/generator-ang...
https://github.com/swiip/generator-gulp-angular (вместо него рекомендуют fountainjs.io, но у gulp-angular имхо ниже порог входа)