技术人的必备特质
你好,我是 hockor,作为一个职场技术人,我不止一次的问过自己:到底具备什么样的特质才算的上是一个优秀的职场开发者呢?从产品经理的角度讲,你能快速完成他的需求,定期上线不拖沓就是一个好的技术人,从 QA 的角度讲,你写的代码 bug 少,不埋坑就是好的技术人,从 TL 角度讲,你做事踏实,能高效解决问题就是好的技术人,所以说不同的人站在不同的立场,对于好的技术人的定义也是不同的,但是综合来讲,我总结了以下七点内容,是我认为一个好的技术者必备的特质,接下来让我们具体来看看吧。
空杯心态
有人将认知能力划分为四层,
第一层,不知道自己不知道——以为自己无所不知,自以为是的认知状态。
第二层,知道自己不知道——对未知领域充满敬畏,看到自己的差距与不足,并准备丰富自己的认知。
第三层,知道自己知道——抓住了事情的规律,提升了自己的认知。
第四层,不知道自己知道——保持空杯心态,认知的最高境界。
我在之前的《如何在新公司快速落地》中有谈到过,我们无论什么情况下,要保持对于学习的空杯心态,做技术的人往往是“no code no BB”,觉得代码写的好就是最牛逼的,很多人刚入职场的时候,因为刚从校园出来,给人的感觉还是非常谦虚的,但随着时间的推移,个人能力的逐步提升,就会变的越来越自信,如果个人认知不能跟上的话,很可能后面就会变的越来越自负,对于知识的学习会越来越缺乏动力,会把别人的建议当做职责或批评。
所以我认为无论是技术人还是非技术人,在职场都一定要保持良好的空杯心态,去接受别人的意见和建议,同时多向身边优秀的人学习,利用复盘机制,复盘自己,复盘别人,才能让自己能力保持持续性的提升。
主人翁意识
主人翁意识又称为 owner 意识,这是我来阿里后最深的一点体会,所谓的主人翁意识,说白了其实就是一种责任感。
在阿里,所有的事情都会指定一个 owner,虽然这个事情可能不是你独立完成的,比如现在要做一个 A 功能,可能涉及到前端、后端、设计,甚至是跨部门支持,这个时候你就需要依靠 owner 意识去快速的寻求资源,划分任务,定期拉会,定期验收,同步进展等等。
另外你自己在业务中负责的模块,是不是会主动去跟进问题,是不是会去摸索上下游的依赖关系,是否对自己负责的内容追求完美等等,都是体现出自我 owner 意识的重要表现。
最后一句话总结就是:按时完成只是最基本的要求,追求完美,积极主动才是 owner 意识的良好体现。
闭环思维
职场中你觉得对一个人最高的的评价是啥?可能你会想到大堆形容词,什么有责任心啊,为人谦虚,能力强啊等等,但我觉得总结起来其实就两字:靠谱。
靠谱,是对一个人最高的评价。
如何成为一个靠谱的人呢?我觉得最重要的的就是有闭环思维。
有本书也叫《闭环思维》,之前买过也看过,但是这本书看完以后我觉得光看目录就够了,整本书就一句话比较精辟,就是:
凡事有交代,件件有着落,事事有回音。
比如你现在负责一个模块的开发,你是否只专注在功能开发上,有没有去思考设计上是否复合用户习惯,有没有去思考交互上是否尽可能的降低使用路径,有没有去跟进项目测试中的 bug 反馈,项目上线后有没有去跟进大盘数据,有没有去做线上回归验证等等。
闭环思维锻炼的其实就是我们的思维习惯,对工作中的事情都能够养成良好的思维习惯,做到沟通必有结论,通知必有反馈。
复盘能力
根据复盘事项的大小,可以将工作复盘分为 2 个不同的策略点:小事即时复盘,大事阶段性复盘。
小事:指的是投入时间较少、任务阶段性短的的事情,比如开会、1 on 1 的沟通、一个功能开发上线之类的事情结束可以立马复盘。
大事:指的是投入时间较多、人员参与度高的事情,比如一个产品从 0-1 的上线,一次重大的专项活动等等。
通过复盘,我们可以更好的在错误中反思与成长,有则改之无则加勉,让自己成为更优秀的人。
之前有写过一篇关于如何复盘的文章,没看过的朋友可以点击查看:传送门。
时间管理
我记得刚实习的时候,带我的师兄说了一句很搞笑的话:
不要和产品过多的争论,争论来争论去,最后到了下班的时间,他的需求明确了,你的代码呢?一行没写。
作为开发者,我们在工作中能安安静静写代码的时间本来就不多,因为时间会被各种需求评审会,技术研讨会,进度同步会等等占据,加之自测,调试等等还要花费很多时间,这个时候如果你没有良好的时间观念,可能等待你的就是无止境的加班。
所以在工作中,一个良好的习惯就是:事事有计划,事事分主次。
有计划:指的是在开发之前,先将自己要的内容按照模块进行拆分,预估出中间每一项的大致时间,跟实际工作时间进行比对,有风险及时暴露出来。
分主次:指的是将工作模块按照紧急程度或者难易成都进行区分,在开发的时候可以有适当性的侧重,我们每天本来就要面对很多的事情,如果不去区分主次关系,可能很快你的脑子就是一团浆糊,你自己都不知道自己到底应该先做哪个了,善于利用一些工具,比如四象限工作法,番茄工作法等等,不要让自己一头扎进汪洋大海中,保证自己的时间和开发进度一直保持在可控范围内。
“凡事预则立,不预则废”,古人一直有在强调时间管理的重要性。
学会提问
在工作中,对于提问,我觉得很多人有 2 点需要注意的。
第一是害怕提问,第二是不知道如何提问。
先来说说第一种,害怕提问的人往往是因为害怕自己的问题过于简单,怕别人笑话自己,这种情况下如果因为自己的碍于情面,往往会导致恶性循环,当在工作中真的有问题时,一定要敢于寻求帮助,或许你内心的种种担心在别人眼中就是很平常的一件小事。
再来看看第二个问题,很多人在工作中寻求别人帮助的时候,往往讲不清楚自己遇到的问题到底是啥,我在同事身上就学到了一个很好的方案,每次去提问或者寻求帮助的时候,你就按照这个步骤来:
讲清楚事情的背景(你现在在做什么事) → 你遇到的问题(哪里卡壳了) → 你的解决方案(你尝试过怎么处理呢?为什么没成功?) → 你想要别人帮助你解决哪个步骤的问题(你真正疑惑的点在哪儿)
这样子别人才能带入到你的问题中,而不是笼统的问一句:这个问题怎么解?
架构思维
最后一个特质就是开发者自己需要关注的,架构思维。
在开发项目中,写代码绝对不是最重要的的事情,项目的架构,流程分析等等都是非常重要的事情,甚至好的架构和坏的架构最终导致的代码编写量和质量也是千差万别的,所以在工作中我们要养成多画架构图、流程图的习惯,多思考、多对比,而不是一拿到需求就开始写代码。
那么如何培养自己的架构思维呢?我觉得可以从以下几点着手:
阅读框架源码:好的框架有着非常精妙的设计,可以通过阅读框架源码去熟悉其架构理念,设计模式。
思维导图、架构图:通过多画架构图将模块的关系梳理清晰,便于了解每个模块的依赖关系,从中进行抽象建模,以达到最优的架构。
架构的本质是管理复杂性,抽象、分层、分治和演化思维是其中最重要的的四点,可以有针对性的进行训练。
总结
最后我们再来简单总结一下,作为一个技术人,我们工作的最终目标是利他,为组织,为团队,为产品贡献价值。从自身角度来讲,优秀的技术人到底优秀在哪里呢?是他们优秀的逻辑思维,还是超强的解决问题的能力,亦或是无与伦比的资源整合能力。
有目标,有计划,爱思考,好学习,敢探索,是我认为一个优秀的技术人最核心特点,在此基础上配合本文提到的七大特质,将会让你的技术之路越走越平坦,越来越成功。希望本文提到的观点能帮助到大家,你认为还有哪些特质是优秀的技术人需要掌握的呢?欢迎留言告诉我,我是 hockor,我们下次再见~
版权声明: 本文为 InfoQ 作者【Hockor】的原创文章。
原文链接:【http://xie.infoq.cn/article/7500f9d1c2a70b4c66ea8394a】。未经作者许可,禁止转载。
评论