程序员应该具备什么样的特质

文章类别 in 个人观点

程序员常常自嘲码农,或者说自己是搬砖的,对于大部分程序员来说事实如此,因为在工作上对业务的代码写的比较多,有些业务之间的代码存在共同性,完全没有再去造轮子的必要了,对现有的”轮子”拿来就用似乎成为了我们的习惯!但是在慢慢的成长中我们会发现,即使有一些框架可以供我们使用,但是对我们自己来说,如何才能将代码进行写的更好?如何去优化?性能怎么提升?设计模式为什么好?框架是怎么实现的?如何在拿到需求的时候能够高效实现等等,都需要我们具备以下特质:

自学能力

我们经常听到别人说这个社会环境发展迅速,特别是科技这一块,我们也可以发现,新的语言新的特性新的工具不断在更新,比如Android开发,之前用的eclipse工具,java语言,现在工具都已经用上AndroidStudio,语言也在向Kotlin发展。再比如人工智能,大数据,深度学习等都是发展趋势,如果没有很强的自学能力来适应社会环境的发展,那么就很快会被淘汰。而且我也发现,很多牛人都有很强的自学能力。所以作为码农,没理由一直不去学会自学,这可以说是我们的生存技能了,其实不仅仅是码农,你说哪一个行业的优秀人员不是拥有超强的自学能力的呢?

获取资源

有时候我们要学习某一块知识点,或者遇到问题的时候,有些人可能会去问别人,有人会百度,有人也会google等去获取资源,对于好的资源对我们来说事半功倍,所以对资源的筛选和搜索技巧对于我们来说挺重要的,比如我想学习网络框架这一块的资源,那么我首先会去github上搜索「java http 」,然后根据最多的收藏数排序,就很明显看到比较流行的框架:

获取资源

可以看到retrofit和okhttp都有20+k的start,然后在google一下发现可以看到很多人在使用: 获取资源

,那么就将他的源代码clone下来,然后在结合一些文章,看看如何使用,甚至对源码进行学习。当然了,这里只是提供我自己的获取资源的某一方法,获取途径有许多种,适合自己的才是最好的吧。推荐去学学Google搜索技巧。

总结思考

总结的好处是将自己对资源的整合和资料的学习过程有一个好的归纳和学习思考,就好像孔子爷爷说的学而时习之,不亦乐乎!学而不思则罔!所以我觉得建立自己的一个博客是一个非常好的东西,常常对自己的生活,代码,想法等等进行总结在自己的博客上,时不时看看,发现自己的不足之处,也对自己有很大的提升,而且也可以让别人少走一些弯路。

Code Review

经常听小伙伴说,看我过去写的代码就是一坨翔啊,是的!没错,大多数人都是这样,因为自己在成长学习,有了新的编程思想,或者自己对写代码的要求越来越高等,都会产生这样的心里,我们对代码进行审查,能发现自己的不足,也可能会发现之前不易发现的bug等,这都是可以提升软件质量和技术的。

英语

许多文档,第一手资料都是英文,我们的开发语言也是英文,学好英文也是关键!

耐心

当我们学习一些新的知识点,可能一开始接触会有点懵逼,也有抵触的心里,这时候我们需要点耐心去接收它。 当我们发现程序bug时,也常常会不知道怎么解决,这时候我们需要点耐心,去搜索去咨询去解决它。 当需求变更了,我们也需要点耐心,跟产品经理吵吵架,锻炼口才!

好身体

身体健康,懂的人自然懂!


以上,便是我认为程序员应该具备的特质,观点如有雷同,纯属你爱我,当然欢迎补充!