QUOTE(Smarf @ 10 Oct, 2007 - 09:27 AM)

1. I have a hard time visualizing massive programs and how they're made.
...
2. What I'm really interested in is how do they split something up into chunks?
...
3. What do you do when you finish a project?
...
4. Is there always something else lined up to start on next?
...
5. Do you just do support stuff for the old stuff like adding features, fixing bugs?
1 & 2.)
You have tons of (boring) meetings with people who can't tell a monitor from a keyboard to workout the specs. Usual those people have no idea what they want or they change theire minds everyday. Either way you have to make a concept and maybe a prototyp with the little information you've gathered from them. After you finished the concept/prototyp you present it to them and now you get useful information like ... how the program is supposed to work.
The coding begins. Code, Test, Debug, Code Test, Debug, Show progress to client, meeting, Code, Test, Debug ...Finish the project,That's about it.
3.) If it's a large project, there's always a little party with drinks and stuff for all. Oh and maintain it

4 & 5.) Usual I work on 2-3 projects parallel and of course I have to maintain other code/fixing bugs
So my working day looks like that
Between 8.00 and 8.30 AM arrive at work. Power on my computer, get me a coke and shower my plant. Then I check my mails and begin coding
Between 12.00 and 1PM 15 minutes break. Eat somthing and get back to work
Between 5-6PM go home