I coach full-time at Facebook, and I coached for various clients part-time for a decade before that. We work a bit on technical stuff like how to design, test, or refactor, but honestly the technical work is mostly to establish trust so we can work on more personal issues--time management, multi-level thinking, communication skills, principles of programming. For example, a couple of recent students had ADD. We worked on finishing one thing before starting the next, mostly using techniques that I developed for my own use. After a month of daily one-hour sessions the change was noticeable.