Software development is a complex task that requires expertise, logical reasoning, and the ability to recall language or API-specific details. In practice, rather than operating entirely in isolation, developers seek support from IDE tools, Web resources, or other developers to help fill in gaps in their knowledge. While some of this support is available on demand, significant gaps remain between what is needed for a seamless development effort and what is available today. Moreover, maintaining context when collaborating with others, or resuming a previous task is not supported via conventional approaches. This proposal will explore tools that allow developers to request on-demand help from domain experts, package tasks for later completion with minimal overhead, and provide real-time context for related development activities happening in parallel. Achieving this vision requires tools for on-demand one-on-one expert assistance, and for maintaining context during programming tasks.