# 0X1 前言:

其实很早就想写这篇文章了,当时晋级答辩之后本想趁热打铁,把自己的一些经历和想法分享出来和大家一起探讨,但是工作上的事情七七八八,再加上拖延症犯了,所以导致直到今天大家才能看到这篇文章。不奢求大家看过文章后晋级答辩就能一路绿灯,只是希望能在答辩季这关键时期给需要的人些许的启发或者能与大家产生一些共鸣,更主要的是希望本文能起到抛砖引玉的作用,大家都可以将自己的经历和想法分享出来。

对于大部分开发同学来说,Presentation 一直都是短板,因为答辩不仅仅是技术能力本身的体现,还涉及到包括但不限于以下几个方面:

  • 信息分类检索聚合能力。

  • PPT 的书写能力。

  • 临场发挥、表达能力。

# 0x2 如何选取素材?

想要解决问题就要知道都有哪些问题,以及这些问题是怎么来的,然后再对症下药。在答辩前也跟不少同事聊过,总结了几个大家都会提到的问题,其中被提到次数最多的就是 “不知道要答什么”。每个人都会说,这半年没做过什么 < font color="#dd0000"> 有技术含量 </font > 的事情,<font color="#dd0000"> 业务需求 </font > 都忙不过来。关键字已经标红,可以看出来这两个因素是阻挠我们的真凶。

# 2.1:技术含量?

对于一个技术答辩来说什么样的事情算是有技术含量?其实并不一定是那种前无古人后无来者的高精尖技术突破,也不是多么高深莫测的技术点。其实做移动端,或者大前端开发的人都知道,互联网在我国也有几十年的发展史,能挖的技术点早已经被挖透了,各种知识随便 google 一下就一大堆,想在这种环境下研究新技术出来实在是难于登天。所以大家有这样的疑问也是情理之中的。

既然这样我们何不换一个思路去思考问题,稍稍改变一下 技术含量 这个词的定义。我个人的理解是 在技术方面能对现有项目起到正向优化效果,或者能提高现有工作的效率的工作 ,凡是这样的工作,都值得被用来答辩或者作为 Presentation 的素材,这样一来,是不是感觉能答辩的东西就很多了,可选的范围变广了。

# 2.2:业务需求?

这是这里面临第二个 “难题”。的确大部分的同事的大部分时间都跟业务需求打交道,需求的点子是产品同学想的,代码也是按照需求单里面的写的,乍一看确实没什么可说的。但是大家都是在公司上班的人,业务需求肯定躲不过。其实现代技术的发展一开始都是由人类需求来驱动的。比如音视频编码技术,流媒体技术,各种加解密、排序算法等,都是先有需求再有技术产出,而针对同一个需求的不同技术方案也有 优劣差异 ,比如 H264,H265;比如各种排序算法的复杂度等。所以我们答辩的内容最好是要从平时各种需求去挖掘,而实现需求时方案的 优劣差异 正是我们需要展示出的亮点。这一套做完后我们再通过业务需求本身的一些数据来佐证我们论点。

这样一来形成一个完整的闭环,让 业务需求 从绊脚石变成促成我们一次答辩或者 Presentation 成功的一个助推剂。有业务需求作为支撑,可以使我们的内容更加有说服力,不至于让我们的 presentation 变成纸上谈兵。换句话来说,过多的业务需求未必是一件坏事,不过这就需要我们在做每个需求时都要有认真的思考,我们不仅仅是要完成需求本事,而是要考虑同样的工作如何做的更好。

这时候一定会有人说,技术需求大多简单没什么值得说的地方。其实对于移动端来说,目前的编程语言都已经是非常高级的语言,我们在平时的开发中几乎接触不到底层的东西,比如汇编,或者硬件之类的。安卓和苹果都通过层层封装为开发者屏蔽了底层的实现,但是我们真的明白当我调用一个高级接口的时候底层都做了哪些事情吗?打个很简单的比方:大家都知道圆角或者透明图层会导致离屏渲染,会影响性能,但是有多少人能说出为什么会离屏渲染?离屏渲染时候 CPU 在做什么、GPU 在做什么?切圆角触发了哪些 GPU 的指令?GPU 和 CPU 以及各种显示管线是如何交互的?其实我们并不是缺少素材,而是缺乏透过问题看本质的能力。对于大前端来说我们接触到的都只是冰山一角,而冰山下面的东西是值得我们去细细挖掘的。

# 2.3:兜底策略!

如果看了上面两段还是不知道说什么那兜底策略就是: 能报就报,先报再说 ,人都是有惰性的,不逼自己一把永远不知道自己的潜力,而且对自己个人成长有益事情要学会争取,答辩或者 presentation 的意义不仅仅是升职加薪,其中的过程也能学到很多东西,对自己各方面能力都是很大的提高,之前基本所有参与过的同学都说过:“答辩掉层皮,但是能学到很多东西”。对于这种好事我们怎么能拒绝呢?

# 0x3 开始 PPT 之前要做什么

PPT 是答辩中必不可少的一个部分,但是 PPT 只是一个辅助工具,他的作用是把自己的想法更加具象的表达出来。所以最重要的是我们的想法和思路,以及我们的内容,在这里笔者建议 <font color="#dd0000"> 不要着急写 PPT!</font>,因为过早的写 PPT 就避免不了后期大量的修改,很容易导致前功尽弃。而且过早的写也容易禁锢自己的思路。

对于什么时候开始写,这个可能要取决于每个人内容的积累程度,当你相关的知识储备到达一定量级的时候你自然就会感觉” 下笔如有神 “,这个时候就可以开始了。这里还是建议最晚开始时间要在答辩前一个月左右。关于如何做知识积累,我这边有个方法:在平时工作时候,将答辩相关的知识点全部都记录在一个文档里,不需要记录多详细,可能是一行网址、一个截图、一个书名 + 页数,甚至是一行 API。在 PPT 开始前必须保证这个文档已经形成了一套较为完整的知识体系,这样之后才能快速高质量的完成 PPT。

这里用笔者的亲身经历举例,第一次答辩时候没有经验,很早就把重心放到了 PPT 书写上,导致在该做技术积累的时候时间都花在构思 PPT 上。最终的结果就是 PPT 改了无数版,面目全非,而且最后发现技术深度不够,信息密度不够,才开始后期恶补。第二次答辩吸取了教训,早早地就把各种相关知识点沉淀到文档中,确定了大方向和提纲。然后最后一个月左右的时间,从该文档中进行信息提取整合,写 PPT 的效率翻倍,而且自始至终基本不会有结构上太大的修改。

# 0x4 如何写 PPT

知道了要讲什么东西,那这节来看看如何把一件事情清晰的描述出来。就像写代码一样,任何事情都要有条理,要有先后顺序,先讲什么后讲什么,都必须遵循一定的规律,虽说不上要引人入胜,但是至少让听众或者评委能顺着你的思路走。所以在写 PPT 或者演讲稿之前要从上帝视角来审视整个流程,整理出一个大概的提纲,之后的工作才是细化内容,挖掘深度等。根据事物发展的客观规律,并以时间线为依托,一个好的描述手法基本可以分为以下几个部分。

# 4.1:背景

做任何事情都有原因,在开始一切之前反问一下自己 我为什么要做这个事情? 。但是这里的原因并不是” 因为有这个产品需求所以我做了 “,因为 presentation 的素材绝对不是需求本身,而是由需求引出的更高层次的思考,来源于需求,高于需求。因此 < font color="#dd0000"> 背景是建立在你对现状清晰的认识的基础上,指出现阶段存在的问题,并表达出要迫切优化的诉求 </font>。换句话说 背景 就是让听众带着问题听下去,你也可以通过不同的问题来主导听众的思考方向。

  • 描述方式:背景的描述方式尽量采用 <font color="#dd0000">1. 2. 3. ... 点来列出来 </font>,这样不仅清晰明了,而且也方便后面的针对性解答,起到点题的作用。

# 4.2:竞品对比

之前也讲过,互联网发展这么久,任何问题都有现成的解决方案,所以你能想到的问题其他人也一定会想到,说不定别人已经有了一套成熟的体系,所以要体现自己的价值就一定要找到我们比他强的地方,或者是我们不能用他人的只能用你的原因。这点很重要,前期不做好功课,不然等评委问道了 用XXX一样可以解决问题,你为什么还重复造轮子? 的时候哑口无言,那就很尴尬了。

竞品对比要尽量找些知名度较高的竞品,这样更有说服力,也更能衬托出你所做内容的优势。同时要思考全面,让听众能感受到你对行业的敏感性和思考问题的全面性。

  • 描述方式:该模块尽量采用 <font color="#dd0000"> 表格 </font > 描述,通过不同维度的对比来突出自己的优势。但是有一点要注意,不要一味的贬低竞品,可以在一些无关痛痒或者跟本次演讲内容无关的地方去肯定他人的做法,不然会让人觉得你做的东西也比较廉价。

# 4.3:工作内容描述

这个环节就是真正开始描述自己所做的事情,有以下几点要注意

  • 不要写流水账,要突出亮点。

  • 尽量不要贴代码,除非你的代码很优秀没有破绽,或者是官方 API,不然非常容易被挑战。

  • 文字一定要越少越好,不然很容易变成照着读 (那样评委就会自己读而不去听你讲的了),把你想写的话尽量通过图表达出来。

  • 每一页的内容不要过多,一页不能出现两个主题。

  • 合理使用动画和转场效果,避免花里胡哨。

  • 描述顺序最好跟照前面背景中提到的问题顺序一致,这样可以保证和背景中的问题要一一对应起来。

# 4.4:数据佐证

对于任何的工作,数据是最有说服力的证明,尽量选择线上数据,进行纵向、横向对比

  • 纵向对比:同一个项目中,在你所做工作介入前和介入后 对于项目某项指标的提升做对比。

  • 横向对比:同市面上的其他相似方案在对于项目的某项指标上的提升进行对比,类似于上文提到的竞品对比。

  • 描述方式:尽量采用表格,饼图、折线图等数据图表并配以少量的文字描述来进行展示。

# 4.5:后续优化点

对于在计划中但还没有完成或开始的工作可以写到该模块下,但是要注意的是该处不要写 过于简单或者很容易实现 的内容,不然很容易被挑战:” 为什么不一起做完再来讲?“。该模块还有一个重要的功能就是对上面所讲内容的一个补充,体现出自己考虑问题的广度和深度。对于该模块所涉及到的知识点可以理解的不那么细,毕竟是预研阶段,但是要让评委或者是听众知道你在有计划的执行下去,同时后续方案已经具备了一定的可行性。

# 4.6:关于口水稿

口水稿就是把自己要说的一字不漏的直接写在 PPT 备注里面,包含一些白话和口语。可能大多数同学会认为,对于一些不善于表达的同学可以添加口水稿。但是个人觉得对于每个人来说口水稿都是必要的,不仅仅是在答辩过程中能给你相应的提示,更重要的是写口水稿的过程其实就是模拟答辩的过程,你可以梳理自己的思路,对于 PPT 查漏补缺。这一点是非常重要的。一般在最后一到两版的 PPT 开始写口水稿,笔者在这个期间也发现了很多问题,其中不乏一些逻辑错误,或者表达错误。

# 4.7:其他建议

  • 关于主题

    尽量选择一个主题来表述,如果一定要选择多个项目,一定要分清主次,最好 1:9 或者 2:8 来讲,同时非主要内容要先讲,然后再开始最重要的内容。因为大部分评委或者听众会对你最后讲的内容记忆深刻,而且 Q&A 环节也是在最后。

  • 关于篇幅

    答辩总时长 30 分钟,PPT 最终有效页数要控制在 35 页内,如果超了这个页数说明你的内容不够精简,要做适当的调整,<font color="#dd0000"> 确保每一个字都不是废话,都要有自己的使命。</font>

# 0x5 答辩前如何准备

</br>

</br>

很多同学会担心紧张,个人认为其实紧张分两种,一种是正常的生理反应,这个谁都避免不了,但是这样的紧张基本不会影响到临场的发挥。另一种就是由于自己准备不充分而带来的慌张、自我怀疑、没有安全感的状态,这个就比较可怕,他会极大的影响到你的发挥表现,而且准备不充分本身就是致命的错误。

其实第二种紧张的状态也比较好解决,这里提供几个方法:

  • 自己在家或者会议室多进行模拟答辩 (要卡时间 30 分钟),对自己要求高的可以进行脱稿。

  • 多找资深的同事或者 leader 帮你过 PTT。

  • 积极参加团队内的预答辩,争取一切表现自己的机会。

  • 尽可能的考虑周全,把评委可能挑战的点都想到,同时要有兜底策略,如果评委真的问道没有准备的或者不会的问题要怎么办 (这个可以找过来人分享他们的经验)。

真正的胸有成竹的时候你会有一种急于展示自我的跃跃欲试的感觉,与其说紧张倒不如说激动,当你有这种感觉的时候说明你离成功不远了。自信的人才最有可能发挥自己的全部实力。

# 0x6 最后

如果你都已经按照上面做了,那么其实最后的结果已经不重要了,我相信每个公司设立答辩机制的初衷一定都是提高员工的综合能力,提高公司整体竞争力,增进员工间的良性竞争氛围,提升技术产品敏感度等。这些都与职级和薪酬无关。全力以赴准备一次答辩,你就基本已经具备了这些优秀的特质。当然从结果导向的理论来说,还是希望大家顺利通过!