"Program Managers (PMs) analyze one specific feature area within one application unique to Microsoft. They communicate with software design engineers, testers, user education, documentation, marketing, etc. PMs define the features to be implemented, determine which bugs to fix and what upgrades to perform. They establish the schedule and determine when the product may be shipped to the consumer. They create prototypes (usually with Visual BASIC) and play with the latest build to determine progress and get new ideas. As well, PMs listen in on support calls, rummage through user feedback databases, etc. Communication skills, management ability, and common sense are the primary qualifications of a PM."