在 微软的产品小组里,往往有三个角色。除了大家熟悉的开发工程师和测试工程师外,还有一个有“微软特色”的角色,叫做项目经理(PM,Program Manager)。不少读者可能对PM不是很熟悉,或者有一定误解。也许是因为PM本身是一个很不公平的称谓,因为他们既不写程序(program),又 不管理(manage)人员,却被称为Program Manager。一个有趣的说法是:PM的职责是做软件开发中除了写程序和测试之外的所有事情。虽然有些言过其实,不过,确有一些道理。一个PM在不同的 产品阶段,责任是不同的。比如,在一个产品开发循环还未开始时,PM的任务是做客户需求分析,然后设计出该版本的蓝图;当产品开发循环开始了以后,PM的 工作是把想法以及要求清清楚楚地写下来,交给开发工程师去完成;在产品开发循环中间,PM要不停地与开发和测试人员交流,随时对计划进行修改,以确保按时 完成。在产品开发循环接近尾声时,PM又开始参与下一个版本的设计。
由于PM相对工程师而言,人数比较少,PM面试的经历也往往被较少提起。而且,PM面试的题目,也往往与工程师面试的题目大相径庭。希望我的一些PM面试的经历,能够对大家有所启发。