2 answers
Paul’s Answer
The short answer is they type a lot.
The better longer answer is the day to day is usually spent fixing bugs. There is usually a Project Manager or Engineering Manager that will help to prioritize the list of bugs or tasks, they set deadlines and milestones that need to be hit and manage expectations (or run interference) so a programmer can concentrate on what he/she is good at (fixing bugs).
Fixing bugs or working on tasks (small units of work) is basically understanding the problem, designing a solution, and then implementing it. Sometimes the problem only happens in a rare case. This makes reproducing the problem very difficult which means understanding the problem is difficult. Often times, there are people who can help, the Quality Assurance (QA) department are the people who usually find the bugs, and a good QA person will document exactly how they cause the bug to manifest and how often it happens. It's good to work closely with them so you don't spend a lot of time just trying to reproduce the bug.
Other tasks, sometimes giving time estimates to tasks (not actually doing them, but guessing at how long it might take to complete if it ever becomes a task). Interviews, helping other programmers, etc.