I'm a software developer, but I've found myself working in a company where I'm the only programmer, and my main project (Salesforce) isn't helping me fill in all the gaps in my knowledge. In fact it's probably teaching me a lot of bad habits. I can write procedural code just fine, but I still draw blanks when I try to design a program from scratch. All the low level programming knowledge in the world can't teach good program design.
I think the best way for me to learn the skills I need would be to get involved with a team of social developers (as opposed to commercial developers) where I can contribute to and observe the process of designing a program and evolving it over time.
My question is, where's a good place to find active social software development teams that are open to new developers and are willing to mentor an amateur like myself.