Я считаю, что лучший способ прокачать свои навыки - сделать сайд-проект. Книги и курсы дают теорию, но без практики она делает человека скорее эрудированным, чем умелым.
При этом сайд-проект не обязан быть домашним пет-проектом. Его можно найти на работе и не тратить вечера на ещё одну смену.
Зачем вообще нужен сайд-проект
Свой первый сайд-проект я сделал ещё до первой официальной работы. Это был RSS-ридер на C# и WPF.
Когда я был джуном, мы с более опытным коллегой загорелись идеей сделать стартап. По выходным собирались у него и херачили. Стартап не пошёл, зато за полтора года работы над ним я ощутимо прокачался в разработке.
Сайд-проекты полезны на любом уровне. Меняются только сложность и целевой навык. И даже сейчас я продолжаю их делать. Один из них вы читаете прямо сейчас.
Где искать проект
Первый вариант - поговорить с руководителем. Часто у него есть проекты, до которых никак не доходят руки. За помощь в их реализации можно договориться о времени внутри рабочего дня. Получается честный обмен: компания получает результат, а сотрудник - опыт.
Если у руководителя нет идей, можно поискать их самостоятельно. Посмотрите, что в команде замедляет работу, бесит людей или ухудшает продукт. Идеальных команд и продуктов не бывает, так что боль найдётся.
Когда постоянно горят сроки и сил хватает только на текучку, может быть не до сайд-проектов. Но само исправление этой ситуации может стать таким проектом.
Как не превратить проект в бесконечную стройку
- Ответьте на вопрос «нахрена?» Какую цель вы преследуете, какой навык развиваете и в какой момент проект можно считать завершённым?
- Приблизьте его к реальной жизни. Вместо сферического коня в вакууме найдите домен и сценарий применения. Так опыт лучше закрепится.
- Не переусложняйте. Проект должен быть точечным. Чтобы посмотреть, как работает шардированный PostgreSQL под нагрузкой, не нужно заодно писать систему аутентификации.
- Зафиксируйте результат. Обдумайте полученный опыт и запишите, что узнали. Можно написать статью или сделать небольшой доклад. Так разовый проект превратится в переносимый опыт.
Сайд-проект работает, когда у него есть ясная цель, граница и способ превратить сделанное в опыт. Если этого нет, он легко становится ещё одним вечным долгостроем.