成功程序猿必备的8大优秀品质
1、对于文档的重视程度
"文档是第一生产力",如果不想看第三方资料走很多弯路,想拿到第一手的珍贵文档资料,都需要去找国外最官方的文档,因此需要强大的英文阅读能力(谷歌翻译了解一下),因此程序猿/媛必须要具备强大的学习能力。同样,如果想在以后的职场中升官加薪,就必须学会撰写文档,就像写代码必须加注释一样,需要告诉别人我写的是什么,有文档才会有沟通,才会有交接。之前我不喜欢写文档,就喜欢写代码,因此容易忽视文档的力量,同时自己也不太会写文档,强行写出来的文档也是一团糟,因此写文档是程序员的一大难关。其实,写技术文档不需要有很好的文采,就是写工程技术手册一样,把每一个功能描述清楚,细节写清楚就好,不需要很好的语言功底。最重要的一点是,当需要去完成一个需求时,先要知道自己打算做什么,用代码注释写出来12345点,然后在每一行注释下,补充自己代码功能需求。这才是最稳妥的,稳扎稳打,步步为营,代码就不容易写出来bug,因此文档文字内容对于代码都很重要!
2、对于BUG的处理
在开发过程中,当BUG频繁出现时,自己对于bug的容忍度,是强行拖到ddl消极处理呢?还是第一时间顶上去。面对bug,一般的程序猿可能会去百度搜索,看看能不能找到解决方式;但是资深陈旭元一般不会去用百度,而是去用谷歌或者Stack Overflow这种国外的一些网站,要比百度出来的权威得多。不得不承认,老外的技术还是要比国内强一些的。
3、对于源代码的痴狂
面对一项新技术,你会不会想去了解它,或者去看看它的底层代码,是用C++写的,还是JAVA,Golang等,就算是汇编,我们也可以略懂一二,这就是技术的魅力!技术再高级再神秘,究其根本,还是操作系统,计算机网络,数据库等计算机基础课程。在源代码面前,任何技术毫无秘密可言,像极裸奔的样子。
4、对于代码结构的强迫症
作为一个职业程序员,在工作中,任何一个负责任的程序猿都会对自己的代码有着一定的要求,比如结构整齐,注释清晰,命名规范,甚至复杂度要到最低……其实对于代码结构的重视程度在不同时期是不一样的,技术毕竟用来挣钱的,如果在解决一个需求的前期,就对代码结构质量要求很高,势必会花费大量的经历去做,但如果在中期需要更换技术栈呢?一切都是徒劳!因此业务需求与代码质量需要好好衡量。
5、对于算法题的执着
纵观全球,国内外大厂面试都喜欢考一些算法题来区分候选人,因此作为一个程序猿,一定是需要算法题训练的。可能大多数人觉得算法题对于实际工作没有一点用处,完全就是浪费时间。我其实并不认同,因为数据结构与算法对于程序猿来说是一门基础课,任何时候强调基础都是没有错的,只是我们还没有足够重视罢了。因此,在工作之余,可以抽出来时间看一看算法题,对以后的求职工作跳槽也是有很大帮助的!
6、对于表达能力的重视
程序猿基本上都是工科生,对于技术是有一种执念的,因此他们可能对于人与人之间的交流是有一些抵触,或者说不是特别在行,因为之前的我也是这个样子。但是现在,我已经在尝试去改变了。人是社会动物,必须要学会合作,在公司里都是团队作战,一个人的能力再强大,也不足以和一个团队抗衡。因此,这中间就涉及到人与人之间的交流,合理地表达自己的想法,良好的沟通交际能力会让你在工作中游刃有余。智商决定你的工作起点,情商决定你能走多远走多快。
7、对于需求的抽象能力
当在拿到一个需求时,利用之前的项目编程经验,是否能够快速有效地将其抽象为最底层的需求,有效利用设计模式来增加开发效率,优化代码结构,这一定是对于未来每一个高级程序猿的要求!
8、头脑风暴:裸编程能力
头脑风暴是一种集体创造力技术,通过收集成员自发贡献的想法列表,努力为特定问题找到结论。头脑风暴是一群人通过消除抑制来围绕特定感兴趣的领域产生新的想法和解决方案的情况。人们能够更自由地思考,他们提出尽可能多的自发的新想法。所有的想法都会在没有批评的情况下被记录下来,在头脑风暴会议之后,它们都会被评估。
从个人的角度来说,不光程序猿,其他任何工作都可以,好比一张思维导图,由一个target,引申出来各方面的问题,是什么?为什么?怎么做?需要考虑哪些问题……等等等等,将一个简单的问题抽丝剥茧,分离开来,工作效率会大大提升,当你从一个简单的defination扩展到慢慢的一张思维导图时,就会感叹头脑风暴是有多么地强大!面对一个空的编译器,心中却早已有架构,从零开始写代码,这才是真正的大佬,只会cv代码的程序猿必定走不远!
如果对你有帮助的话~记得一键三连~点赞,收藏,评论喔~
#搞技术你要知道#