<audio id="audio" title="加餐（二） | 工作遇到不懂的问题：何时可以求助，如何正确提问？" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/37/yy/3798803695383a35d04b4c00160be3yy.mp3"></audio>

你好，我是乔新亮。上周末，咱们专栏编辑找到我说，有一位 2020 年毕业，刚刚入职两个月的热心读者正被一些问题所困扰，希望征求下我的意见。

问题大致如下：工作时，经常遇到不懂的事情，大部分是技术相关的问题。想要提问，却不知道什么问题能问，也不知道怎么问比较好，担心别人因此质疑自己的工作能力。长此以往，工作效率低下，有时整整一周，手头的项目都没有进展，领导问起来都不知道该怎么回答。

我看了之后有些感慨，技术新人刚刚离开学校，有这些困惑很正常，因为提问终归是一件很麻烦的事儿：你一定不想问些过于简单的问题，那样会被人看低和讨厌，是基本能力匮乏的体现；但又不能不问，迟迟解决不了的问题，会让你在周会上更加尴尬，对个人成长也大有影响。最好的情况是天生牛人，3 岁就会写代码，独立解决一切问题，但这不可能。

类似问题又不一定是“初学者”才会遇到 —— 我曾遇见过许多“不会提问”的人，他们有的是程序员、架构师，有的是技术经理、技术总监，几乎遍布整个职级体系。令他们疑惑的可能不是技术问题，但“不会提问”的本质却始终没有改变。

因此，在争得当事人同意且不泄露隐私的前提下，我想基于这些年来的所见所闻，谈谈自己的看法和心得。

## 我麾下的管培生如何提问

遇到什么问题可以求助，如何更恰当地提问？我认为，原则上讲，任何问题都可以用任何方式提问。这里没有法律规定或道德限制，每个人的行事风格也不同，并无对错。就像邓小平同志说的，不管黑猫、白猫，捉到老鼠就是好猫。

但无论是我自己，还是我所认识的技术大牛、技术管理者，都比较讨厌不加思考、张嘴就问的人。我们不妨换位思考一下，如果是你自己频繁遭遇这种情况，情绪上的不耐烦倒在其次，更深层的感受是：自己的时间和精力都没有得到尊重。

至于那位同学所说的，“整整一周都没有进展”，又有点矫枉过正。**根据我的观察，如果技术新人花了一整天都没解决掉一个问题，那么大概率就是解决不掉了，要及时提问，避免造成项目延误。**

那么答案就呼之欲出了：工作遇到不懂/不会/不明白的问题，一定要提问，但要思考之后再问。

这里就涉及到两个关键点：提问之前如何思考，以及思考之后如何提问。2015年-2019年，我在苏宁担任技术副总裁，期间曾经带过一名管培生做架构设计，他的提问就让我印象比较深刻。（注：**管培生，即管理培训生（Management Trainee），是一些大企业自主培养企业中高层管理人员的人才储备计划。通常是在公司各个不同部门实习，了解整个公司运作流程后，再根据其个人专长安排。**）

刚入职时，他的提问技巧也比较初级，因为我总是会反问他：关于这个问题，你是怎么想的？为什么要这样思考？如果答得不好，我就会批评他。

几次三番后，他逐渐养成了比较优秀的提问习惯：

1. 永远带着白板和白板笔，随时准备将别人的答案融入自己的体系内；
1. 半汇报半提问，提问一定带有属于自己的观点；

最重要的是，围绕架构类的工作内容，他学会了按照固定的模式提问：

1. 当下有哪些待决策的问题，影响了哪些业务？
1. 谁或哪个部门提出了这些问题？
1. 其他人有哪些解决方案上的建议？我们认为存在哪几种方案？
1. 方案一、方案二……分别有哪些优势和劣势？
1. 我们建议选择哪种方案，会带来什么样的影响？

对于架构师来说，这其实是个经常用到的标准模板。而后，如果中间某一步出现模糊、不确定、不理解的情况，才是提问的正确时机。

以上关于架构方案的提问，没接触过的同学可以再琢磨琢磨：这些其实是将做技术决策需要经历的思维步骤细化，并公示出来了，这就是思考的样子。如果更进一步，脱离架构问题的限制，上升到更高、更广的维度，你或许就能学会如何正确提问。

## 思考是提问的绝对前提

对于绝大部分技术问题，在横向维度上，我自己一般会按照如下步骤去思考和做决策：

1. 将复杂问题拆解成足够细化的模块；
1. 针对每个模块，判断自己是否有足够能力实现；
1. 根据拆解情况和实现方式，制定一种或多种技术方案；
1. 对一种或多种技术方案进行快速而谨慎的验证；
1. 用财务思维考量技术方案背后的成本和效益；
1. 对技术方案的选择、实施进行决策。

在垂直维度上，各个步骤的难度又有所不同，我一般将其分成三大维度来理解：

1. 初级问题：一般都是纯粹的技术实现问题，只是复杂程度不同；
1. 中级问题：复杂度上升，开始涉及到多模块、多业务部门甚至是跨公司的协调，一般需要经历立项会；
1. 高级问题：需要协调多方资源，站在公司整体层面，为公司利益负责而解决的问题。

随着难度、复杂度从初级到高级的提升，思考的步骤和难度也有所变化。比如，对于初级问题来说，拆解的过程并不复杂，技术方案相对单一，涉及财务思维的考量也较少；从中级到高级，各个步骤的难度都在大幅提升，前文我提到的管培生同学的提问，就属于中级问题。

另外，许多技术人晋升管理岗后，感觉部门间充满了推诿、扯皮现象，很烦。但这类现象的本质，其实是问题的复杂度上升了，协作环境没有突然变差，你只是缺乏解决问题的方式。

当思维沿着上述步骤前进，就是思考，**在任何一步阻塞时间过长，都可以进行提问，这就是提问的时机**。换句话说，思考应当是提问的绝对前提，在没有经过思考的情况下，我是绝不会提问的。

**提问时，要将你的思考成果和思维路径说清楚，这就是提问的正确方式**。比如你是怎么理解和拆分这个需求的？如何评估拆分后的可实现程度？具体是哪里出了问题？这样，对方会感觉你是有备而来，尊重他人的时间，不是伸手党，更愿意解答你的问题。

不过，我个人很少在工作中询问基础技术问题，比如编程语言的问题、某个库或类的使用方法等。我建议大家也要尽量靠自己解决，用好搜索引擎和知识产品，很多问题是可以被勤奋解决的。

## 夸赞、请客以及开会

掌握了上面的提问方法，就能得到别人的诚心教导吗？以我的亲身经历和观察来看，意外还是经常出现。

这类意外大多可以形容为“三言两语就被打发掉了”。对方有没有真心教你，其实提问者心里往往最清楚。可能是因为企业文化出了问题，或是因为大家都太忙了，总之，就是没人愿意认真解答你的问题。

如果你刚刚走到思考的第一步，在问题拆分阶段就被难住了，愿意帮你的人可能就更少。原因也很简单：通俗地说，这等于你根本摸不到头脑，对工作任务完全没思路，教起来肯定也更麻烦。

当然我们也不是完全束手无策，有一副见效慢但成本低的药方叫做：**成为“夸夸党”**，长期维护同事关系。比如，当你阐述完自己的思考，又得到了解答时，要适当地夸夸别人：“哎呀，我思考了这么久，你这么快就解决了，你太厉害了！”

**更行之有效的方法是请客吃饭，维护好同事关系，适当地进行社交活动**。技术人往往不擅、不喜社交，其实特别吃亏。年轻时，我也从不主动请人吃饭，最近几年才意识到社交的重要性。

当然，我从不觉得以上夸赞、请客都是虚情假意、别有用心。别人为了帮助你确实付出了时间，能够解答你的问题的人，确实要更厉害，那你为什么不去表扬表扬别人呢？

另外，我觉得为了寻求知识而请人吃饭更像知识付费。许多朋友都还年轻，没什么社会资源，不能为他人提供更高维度、更有价值的利益交换，你能做的仅仅是请人家吃个饭。换个角度讲，年轻时，工资都不高，也别太在乎钱。除开孝敬父母的部分，剩下的为知识而付费有什么不好？

如果有人指责你是在拉帮结伙、巴结领导，也不要太在意。**任何行为都可以被赋予各种意义，我相信，只要你内心确实以学习为目的，随着时间的流逝，事情一定会回到本来的模样。**

随着能力的提升，**当你开始遇见中级乃至高级问题时，还可以通过召开会议来提出问题**。在会议上提出自己的思考，组织大家发表建议和想法，就技术方案进行讨论，是一种更有意义的学习和提问方式。

当然，如果你认为他人应该为你解答问题，应该帮你跨过技能门槛，这一切是理所应当的，我也无话可说 —— 部分优秀企业确实具备这样的企业文化，乐于助人也确实是优秀的文化传统，张嘴就问也能过得不错，这是事实。

但我不会选择做一个“伸手党”，至少这对个人成长极其不利。另外需要注意的是，如果你缺乏独立思考的能力，多半无法通过优秀企业的面试，谈何企业文化。

## 结语

说了这么多，我觉得有必要最后重申一下：世界上没有能够适配任何场景的标准答案。客观来讲，任何时候、任何问题都可以提问，甚至不存在合理性的问题。

但我更愿意遵循以上提问方式：基础的问题自己解决，有难度的问题思考后解决，用为知识付费的态度来请人吃饭。

因为这一切都有一个基本的前提：**将时间线拉长，站在整个人生的高度上， 用宏观视角看待当下。**

当视角拔高，我发现这种提问思维对自己未来的职业发展大有好处，足以使自己受益终生；相反，他人的非议和金钱上的开销则不太重要，因为从长远看来，非议会消失，金钱的损失则微乎其微。

希望这些思考也能对你有所启发，从而更快、更好地迈上人生的下一个台阶。
