I'm a CSCI major so I've been subjected to coding in BlueJ, JGrasp, Eclipse, and Visual Studios but... we've just been dealing with small programs within those environments. We use files and user input via nextline and println("") to build small programs to test various fundamentals (linked lists, stacks, etc.). I've tried my hand at Java, C++, and Assembly but I am mostly interested in PHP/JavaScript/MySQL.

When I think of programs/software I think of Word, Blender, etc. : all huge programs that obviously take extensive teams to build. I honestly can't even fathom building something like this. I'm going to assume that a number of y'all reading this are professional coders and work for companies that build small to large platforms so, my questions to help decide my career path:

Do you see the big picture of what your are coding or are you looking at such a small portion of the project that you just do what you're told, build the methods and algorithms, but really have no clue of how what you just did and how it applies to the over all project?

OR

Do you build full programs from start to finish working with a small team and dividing the work up amongst the team - each focusing on your specialty (whatever those may be?)?

OR

Do you work alone on smaller projects, perhaps adding capabilities and seeing them work first hand.

I just honestly don't want to be a code rat. I enjoy web development because it is easy to see the project at hand and even if you work in a team environment, the project is fairly straight forward. What are your experiences with the CSCI field?