10 am: Check email and respond [to queries]. Bugs, status reports, design discussions, and other questions are nearly all communicated by email.
11 am - Noon: Pick up coding where I left off yesterday or work on some of the problems sent to me by email. Take periodic breaks, including surfing the web for more information on a problem I am facing, checking email, talking through a problem with other developers.
Noon - 1:30: Once a week we have a status meeting of the entire development team, including the developers, the project manager, and the quality assurance staff. We discuss project progress, some design details, release schedules, etc. Lunch is usually provided with the meeting-it is a great way of getting us there.
1:30 - 6 or 7: Coding. Again, I take periodic breaks. Sometimes when I need a break, I play computer games, go get more coffee or read a magazine. People think I am not working, but actually in the back of my mind, I am thinking about the problem.
A typical day depends on what phase of the product development cycle you are in. Phase I is the design phase. There are lots of meetings (can be up to 30% of the time) to discuss the design specs, functionality, etc. Phase II usually has very few meetings and a lot of sitting at the computer and coding. Phase III, the delivery stage, can mean a lot of late hours as we meet deadlines.
I also spend a lot of time fixing bugs, compiling code, and bitching about software. In addition, I may respond to technical questions from clients and other staff, and may help with testing and installing for clients. I might attend a sales meeting as the technical person.