今天讲三个小故事,三角故事……
小明的故事
小明是一位程序员,或者叫软件工程师,不重要。最初小明的工作并不是编写主程序,而是写单元测试。
写了半年之后,小明和他的主管发生了这样一段对话:
我想换换工作内容。
为什么?
我不想一直写 JUnit。
别人也写单元测试么?
没人愿意写单元测试,只有我写。
……那你想干嘛?
我想写一些真正的程序。
什么是真正的程序?
比如 Java,比如面向对象编程,你总要写一些类和各种各样的方法,而不是一直写 Test Case。
好的。
那一天秋意正浓,橘色的阳光透过玻璃窗打在小明的身上,一切都显得十分虚幻,但是小明知道,真正的编程生涯开始了。他不仅学会了写真正的程序,而且掌握了很多服务器端的编程技巧,他做的产品有很多企业用户在用,小明变得快乐起来,渐渐摆脱了注定孤独一生的阴影。
不止于此。
小明开始学习一种新的编程语言 Objective-C,因为移动互联网时代开始了。他在编译 Web App 的同时构建 IPA,在清晨的微光中调试程序,在每个夜晚与模拟器窃窃私语……他完成了第二个阶段的技术方向选择。到了离开的时候,他要去寻找更大的梦想。小明去了南方某个城市,做了一家公司的 iOS 主程,并且带领团队开发开发出了很多著名的软件,有更多的普通人用到了这些 App,小明实现了自己的一部分梦想。
小明是个典型的程序员,聪明,对程序逻辑领悟能力惊人,学习能力强,沉默寡言,冷静,或者说冷酷。经常有产品经理急吼吼的跑过来提需求或报 bug,小明也不会慌神,大多数时候他都会一手插在怀里,另一手托着下巴,看着这个已经完全不知所措的家伙,说,「等我把这个 bug 改完再说」。我想,如果有一天有人跑来告诉小明说有 19 个数据中心被外星人攻击了的话,他的回答也只会是:「为什么他们不攻击 20 个?」
小明比较讨厌的事情有两个,一个是产品经理觉得自己可以从技术上指导程序员,另一个就是需求变更。这两者都会导致代码的改变,这是一件非常让人头痛的事情。小明常说的一句话是:有话好好说,别动代码。不过有一个产品经理,小明是很喜欢的,因为和他配合总是很顺畅,他非常了解程序员。而且,当小明说出「有话好好说,别动代码」的时候,这位产品经理会强硬的回一句「要砍就砍我,别砍需求」。
说出这句话,需要勇气,而勇气是产品经理必备的素质之一。这位产品经理叫做小岳。
小岳的故事
小岳毕业于某科技大学,非少年班。对于后者他常常心有不甘,因为身边总有更牛的天才出没。小岳性格温和,才华横溢,并且胸怀大志,梦想打造改变世界的产品。他有一句名言,「让正确的事,相继发生」,到底发生了没有,目前没人知道。
小岳最初是个程序员,写嵌入式程序,后来发现自己在这个领域才能匮乏,转身做了产品经理,居然做得风生水起。小岳最早在一家大型电商公司任职,是真的大,几万人那种。那么大的公司官僚和繁复的规则难以避免,小岳无法忍受这些束缚,他希望与一群才华横溢的工程师走向成功的巅峰,而不是无所事事的摆流程图,做一些无关紧要的特性。于是小岳放弃了一些看起来虚无的利益,来到了一家创业公司。
很快,前公司上市了。
忘掉了「钱」公司上市的事情,小岳开始全身心的投入到新工作中,他有了自己的产品团队,有时候人多些,有时候人少些,不重要,他牢牢记住自己是个产品经理,做最好的产品才是他应该关注的事。
对于产品经理的定位,他是这么说的:
「让正确的事情相继发生」,就是产品经理的全部工作,如果在这个过程中需要懂技术,就去学技术,需要懂交互,就去学交互,需要懂画图,就去学画图,需要懂公开演讲,就去学公开演讲,需要懂 XX,就去学 XX。团队中,谁都可以说这不是我的职责范围,只有产品经理不行。
觉得冤枉、憋屈、不公平?抓紧时间,赶紧转行。
现在的问题是,小岳会不会转行呢?
说起技术,小岳有程序员背景,和程序员们聊天的时候会顺嘴冒出一些开源技术和架构名词,这时候程序员们(包括小明),就会笑嘻嘻的围上来说,「哇,你很懂技术嘛」,这时候小岳就会一脸无辜的说,「我懂个屁啊,也就知道个概念,我特么连 Hello World 都不会写」,然后小明们就会放下手里的砖头,安心去编程了。
小岳喜欢与最优秀的工程师合作,因为他们总能完成那些看起来不可能实现的需求。还有重要的一点是,当他对优秀的工程师说「要砍就砍我,别砍需求」时,并不会真的被砍。
上次见小岳是在 QCon 的大会上,离开的时候他望着巨大的 QCon 商标若有所思。他可能知道,是时候干一番轰轰烈烈的大事了。那时候,他并不知道自己将要面对的命运是什么。谁知道呢?