I want to learn more about software development over summer. I'm wondering whether I should look for an internship, or study/build stuff on my own. Programming seems to be a field where I can learn a lot from watching someone do it, but I'm worried that I'll be assigned repetitive work in an internship and learn little.
Would you guys recommend for me to find an internship or learn and try to contribute to open source projects on my own? Thanks for any advice.