There are two ways to get experience: contributing to other people's projects and rewriting your own. You should do some of both. Established projects have learned some lessons, tend to have processes in place, and when they've made mistakes, have explained and started to understand how they...