My friends and I have found that for programming jobs where you sit around, the 2 hours following lunch are incredibly hard to stay awake and focused. Should we eat different food for lunch? What are some good caffeine alternatives to staying sharp?
Eat protein and increase your dopamine production, which is a "happy and alert" neurotransmitter (http://frank.mtsu.edu/~studskl/food.html). Going heavy on the carbohydrates spikes your serotonin, and if they're simple carbohydrates your insulin vs. blood sugar will suck the energy right out of your brain in an hour. Ergogenics like Adrafinil are a more extreme and expensive alternative to caffeine, but cheap nootropics like Piracetam or Vinpocetine may do the trick, if dietary changes alone don't.
Eat, get back to the desk (check email or some low intensity stuff), then about 30 min later, go for a walk. Get out of the building and into sunlight for a minimum of 15-20 minutes. Hot, cold, doesn't matter. Get out and walk.
Somewhat off-topic: I realized recently it's more important when and how you get your caffeine then how much. There's a reason 5 o'clock tea is famous. For me morning caffeine is wasted or worse, and the best time is around 3-5 in the afternoon, or a couple of hours after lunch. Metabolisms differ, of course.
Also I switched to black tea: wider spectrum and longer lasting, but smaller punch. Don't abuse it though, may not feel like it but it's as strong as coffee.
Take whatever you are eating for lunch and immediately cut it in half. Eat the first half and save the rest for as long as you can, eating it ideally 3 hours later. For instance, I eat 1/2 at about 10:30-11am and half at around 1-1:30. You will no longer get the food coma and over the long run it will help you speed up metabolism, lose weight, etc.