那么技术的取舍之道是什么呢?我们做技术的时候,有时候产品给出的需求,只是一个使用说明,一些边界条件并不明确,而边界条件对技术设计的复杂度和开发难度影响极大。实际上,技术人员应该明白应用场景的边界在哪里,有针对性地取舍,这样技术方案就可以变得简单,研发成本就会降低。举个例子,无论是百度、谷歌,还是阿里,你去搜索的时候,都不可能翻遍所有结果,翻到一定页数,就不能翻了,这就是边界条件。如果程序员非要较劲给出所有搜索结果的查询和排序,这就要命了,谷歌都做不到。其实真正的用户并不关心也不太会翻到七八十页去找结果。除非搜索结果很少才需要遍历,搜索结果很多的情况下给出权值最高的Top列表即可。至于所有满足搜索条件的数字,其实只是一个系统估算值,根本没有去遍历搜索。
允许不完美,允许设置一些边界条件,在一定范围内降低准确度、存储量,来减少复杂度,这样开发效率就会极大提升,开发成本也会极大下降。根据我的观察,开发人员做无用功,为不存在的需求而打拼的非常非常普遍,而这可能是很多公司老板、主管都不清楚的隐形成本。
2004年做一统计,2005年做CNZZ,我的开发时间都特别短,当然产品问题也不少,但没阻碍它们先后成为中国互联网统计平台的NO.1。这事我做过总结,当时市场上表现力还不错,并不是因为我技术有多好,而是因为懂得取舍。这一点是很多大公司程序员的盲区,所以他们用了几十倍甚至上百倍的代价,做同样的东西,还达不到这样的市场表现。
简单总结一下。
1.从产品层面,对需求做裁剪,好的产品经理要会做减法。点子多,但落实起来,要围绕核心,初期不要过于复杂,有需要可以上线后根据用户反馈迭代。
2.从用户层面,不要试图讨好所有人,要明确核心用户群体的诉求,有所取舍,让一部分人惊喜,另一部分人离开,比平庸的四处讨巧的产品可能更好。很多优秀的互联网产品,都很固执和执拗,他们的潜台词就是,不喜欢我的用户,我其实也不打算服务你们。
3.从技术层面,要理解需求,基于需求和研发的难点设计边界条件,将需求简化,在满足用户核心诉求的前提下允许一定程度的不完美,允许一定程度的不精确。这样对研发效率的提升和运维成本的降低是很有效的。
分享即学习
分享其实是一件双赢的事情,我一直鼓励年轻人多参与分享,多积极分享。但是,问题出来了,确实也存在一些很有实力的人,甚至“技术大牛”,在分享中的表现并不突出,甚至可以说是有货倒不出的感觉。那么,问题来了,什么叫表达力?
我参加过几次架构师大会,从实力上讲,我觉得绝大部分分享嘉宾都比我技术强,更有料;但是从现场表现而言,大部分技术专家的现场表现水平堪忧。
分享能力、表达能力是一种极为重要的能力,也是技术人员最容易忽视的一种能力。
分享、表达能力的境界:
1.让别人完整清楚地明白你所表达的真实意图和内容。
2.让别人相信你所表达的内容的真实性。
3.让别人受你的感染,拥护支持你的主张。
实话实说,在相当长时间内,我都做不到第2条,更不用说第3条。但是我看到太多的技术人员连第1条都做不到。
那么,今天说一下我对此的建议。今天,我只说第1条,让别人完整清楚地明白你所表达的真实意图和内容,至于第2条和第3条,我的水平还不够。
准备充分,提前默演
太多次,太多次,技术专家上台分享的第一句是,对不起,准备得很仓促,希望大家见谅(非技术分享会也遇到很多次)。
这句话对所有台下的人来说是不尊重!很多分享会都是提前很久就做通知,提交分享材料。我就纳闷,这些嘉宾到底有多忙就不肯提前准备一下呢?所有极具表现力的演说家,都是从台下苦练开始的,没有例外。上台分享是一件对自己口碑的树立,对自己所在公司形象的宣传,以及对观众都具有意义的事情,怎么会如此草率和应付?我所知道的很多大佬,在重要的发布会、沟通会前,都会做相当多的提前准备,如预演、排练。怎么会有这么多不那么优秀的人,有这种机会的时候,却有如此自信可以毫无准备地上台?
重复强调一句,不做充分扎实的准备,是对观众的不尊重,对主办方的不负责。你可以不去分享,不参与分享,但一旦你决定接受这个任务,你必须要在台下,做足够的前期准备和预演。这其实并不需要太多时间。
我一般需要分享的时候,需要提前跟主办方确定如下内容。
第一,观众大约多少人,什么背景,什么目标。
第二,给我多少时间,是完整的分享时间还是包括了交互。
第三,我的顺序,我前面和后面是谁。(这一点倒不是很严格需要确认。)
第四,时间提示方式是什么。
第五,是否有投影以及场地特征。
分享前一天,我会针对我准备的PPT,看着时间自己默念几遍,确认分享时间和速度是否匹配。
明确目标,有的放矢
要明确你的受众是谁,他们的痛点是什么,他们的目标是什么。你要对你的目标受众做一些行业背景调查和产品背景调查,并且从他们所熟悉的领域、案例出发。这样,你讲的东西,他们才会感同身受。几年前,我去丁香园做分享的时候,我提前一天把医疗行业的关键词挖掘了一下,把相关的热门网站的搜索排名过了一遍,这样我讲的内容虽然还是几个月前一个峰会上的内容,但是案例我都换成了他们熟悉的网站和企业。这其实是大部分技术人员分享时候的盲区,自说自话,完全不考虑受众。
此外,比如讲电商,你给互联网从业人员讲,和给传统行业的人讲,要做的准备,所用的素材,以及背景知识的描述,都是有极大不同的。如果缺乏目标用户的甄别,有些在互联网从业人员中颇受好评的课程和内容,讲给传统行业的人,可能人家上来就蒙了。
背景铺垫,换位思考
有的人会说,我分享的技术方案是我们自己业务系统的心得,你的平台和我们不一样不关我的事啊。这种也很常见,但是需要做一些足够的背景铺垫,大部分技术工程师的分享都会包含这个过程,但是这个背景铺垫往往很简略。很多技术人员多年在一个公司里做一个系统,那么这个系统背景中涉及的一些技术资源、一些技术名词、一些技术概念,对他们来说都已经耳熟能详,属于最基本的ABC,所以分享的时候往往一笔略过,而对于大部分没有接触过同类系统的听众来说,可能听了后就一头雾水。
还有一些更离谱的,有些巨头公司会有一些内部自定义的技术简称、技术代号,有些技术人员呢,刚毕业就进入了这样的公司,然后就熟悉了这些,工作七八年颇有成就,出来分享,就以为这些技术简称是行业内公认的,结果列出来的方案里一堆奇怪的名词,下面的人一头雾水,技术人员又怕被人发现自己无知,也不敢问,都憋着,以为自己是不是太low了,这些东西怎么都没听说过呢?
适度进补,不要贪求
“大牛们”的常见问题,恨不得把十年技术精髓在几十分钟的分享里一股脑倒出来。说实话真是卖力气,大招猛料一个接一个,其实你只把其中一个场景、一个方案讲透,就已经足够好了。然而这种超级快放模式抖出来的往往是没有背景信息,没有铺垫信息,甚至没有给观众一点思考和反应的时间,结果就是,没有人能真正从中学到什么。我们读书的时候,一个基本定理、一个基本的逻辑,可能要讲几堂课、做很多习题,才能消化吸收。现在到了一些分享会,各个恨不得把几年学到的东西几十分钟抖出来。做分享,你的目的是让别人觉得你超级厉害呢,还是想真正能帮助到更多人呢?
切忌夸夸其谈
你水平高,你的案例、你的素材、你的观点自然会让人折服,大家会崇拜有真材实料的牛人。但是你沉浸在自我幻想里,以为自己的公司背景、行业背景可以俯瞰众生,对不起,自娱自乐去吧!
识人之能
说有一个狩猎团队,特别厉害,他们每次都能打到非常好的猎物,满载而归,在整个山区周边都很有名。有好事的人就去接近他们,想了解他们为什么那么厉害。
先看到一个小伙子,臂力惊人,挽得一手好弓,箭不虚发,绝大部分猎物都是他一手射中的。
第二个人,善做工匠,他制出的弓威力惊人,他造出的箭矢射得又准又远,穿透力还特别强。
第三个是个老猎人,看上去并不十分强壮,但是嗅觉灵敏,而且对所有野兽的痕迹都了如指掌,跟他进山从来不会迷路,而且总能找到野兽出没的所在。
第四个人是个女人,会缝补,懂医术,祖传医治跌打损伤比县里的名医都不差,还烧得一手好饭菜。
第五个人是个发福的中年人,看不出任何所长,也没见他做出任何贡献,但每次收获都是他拿最多,而其他人也心甘情愿。
这人就奇怪,去问第一个小伙子,你这么厉害为什么愿意把收获大部分给别人啊。
小伙子说,我虽然善于射箭,但是以前我的弓太差了,箭也不是很好,有轻有重,每次射的时候都不知道会偏到哪里去,最可怕的是有一次去射一只熊,虽然我射中了熊的头部,但是箭太脆弱了,咔嚓断为两截而熊毫发无伤,熊追我的时候我要射第二箭居然拉断了那把破弓,要不是跑得快几乎没命。所以这个老板(第五个人)拉我加入他们团队的时候我才会答应,有了如此优秀的工匠,我才能毫无后顾之忧地去射杀猎物;而那个老猎人每次都能帮我找到最好的猎物,从不迷路;再加上那个姑娘能将我的猎物烹调成美味的食物,还能在我们意外受伤的时候快速帮我们处理,我简直想不出离开这个团队的理由啊!
这个人又问了其他几个人,也都是类似的回答,每个人之前过得都很苦闷,都是进入这个团队后才能得到最大的收获,所以没有人抱怨分配不公的问题。
这个人终于知道,这个团队其实是第五个人把另外四个人一个个找来组建起来的,所以这个老板的确是实至名归。但是他还是有一点好奇,就去问这个老板:“你今天把这四个人都组织起来了,但现在难道你不是多余的吗?如果他们今天把你踢掉,他们四个人可以收获更多,不是吗?”这个老板嘿嘿一笑:“县城里最大的几个收购皮货野味的老板都是我的朋友,所以我们的货从来都卖得最快价格也最好。”
首先,作为领导者,第一要务是能够发现人才、识别人才,以及发挥人才的作用。一个管理者如果只想着自己优秀,自己以身作则而不去发挥和挖掘团队的作用,我个人认为是不合格的。
那么如何做到发现人才,挖掘人才,识别人才?第一,你要见更多的人,并尽可能认识更多的牛人。第二,有心胜无心,要不断总结牛人的特点和规律,每次要分析,要琢磨,要带着对人的判断来和人沟通,并不断通过事实的反馈来纠正自己的判断,进而提高判断力。第三,人才需要一定的发挥空间,也需要一定的成长空间,要敢放权,允许犯错。第四,人才往往有一定局限性,要用其长避其短。
我带过一个很不错的人,我觉得他技术分析能力很强,解决各种系统疑难杂症、调优、找BUG都很拿手,而且让所有同事都信服,但他在项目管理上并不擅长,团队管理上也非常粗糙,几乎是完美“继承”了我的缺点,所以这种人就只能给技术专家路线。各个公司其实都需要这种问题分析能力和解决能力强的人,但是,很抱歉,项目管理不能用他。
用对了的人才才是人才,用错了可能就毁了团队。我也见过这样的反面案例,非常出色的技术人才,但是产品观和市场观完全不行,老板硬提拔做项目管理,独揽产品方向决策权。
我还知道一些其他案例,包括以前我也分享过类似案例,有的人曾经在一些企业里不断换角色、换部门,然而表现都不算好,老板都快失去信心的时候,又换了一个新的角色,突然就爆发了,成为该部门王牌,为公司带来巨大贡献。这样的案例我也见过好几个。
其实很多人才自我定位确实不是那么容易,公司也很难给他们定位,但一旦定位成功,价值可能超乎想象。
作为领导人,除了要善于用人、能够识别人才,可能确实还是需要自己有一些独特的技能和资源(否则确实有被取代被踢出局的风险)。比如有些善于资本运作,有些个人影响力可以成为品牌,有些具有良好行业资源背景,等等。但是,如果你没有用人之能、识人之能,后面的优势无从谈起。在新的世纪里,人的价值比其他的都重要,千万不要搞乱次序。
乾纲独断还是兼听则明?