In a previous question about homework on stackoverflow I made the following statement:
I think it's extremely important for students to learn that real-world programmers work together, learn from each other, support each other, and share their knowledge and insights. It's this type of networking that inspires and excites us.
This was down-voted, and I'm guessing someone thought I was being facetious, which I was not. In my long career as a programmer, I've always been in an environment where sharing (sometimes called "leveraging" or "reuse") and mentoring were encouraged, and people were rewarded for doing these well.
Is this a typical experience, or am I just very lucky (and maybe naive)? Are you rewarded more for teamwork or solo accomplishments?