一个优秀的程序员的技术债务……

一个优秀的程序员特质是什么?

理解技术债务

具有好奇心

专注

热爱分享

具有社区意识

以身为程序员而自豪

有点懒

代码可视化、自动化

(图片来源于网络)

理解技术债务

技术债务就像信用卡一样,会有很高的利息率,时间越长,修复所花的代价就越大,程序员对这个要有深刻的认识。同时团队应该培养一种保证设计质量的文化,应当鼓励重构、同时也应当鼓励其它有关代码质量的实践,在开发时间中应当专门抽出一部分以解决技术债务。如果没有合适的照料,代码会变得越来越复杂难懂,最后没人想碰它。

保持对原理的好奇心

不仅知道怎么用,还知道是什么原因。比如你做Android, 可以了解一下他的事件分发机制是什么样的,它的Measure/Layout是怎么work的,有时间读一读它的源代码, 看看他的原生控件是怎么实现的. 学iOS,了解一下它的内存管理,autorelease是怎么工作的,runtime是怎么工作的, runloop的原理是什么。做Server开发,可以了解一下Nginx为什么性能好,Redis的工作原理如何,有时间也可以读读其源代码。做前端,也可以读一读 Angular 或 React 的源代码。

专注

程序员的工作效率可以相差很大,其中区别很大的一点就是是否专注,就像线程切换一样,恢复上下文有很高的代价。建议合理安排好自己的时间,尽量在上午/下午留大块的专注时间来做设计和编程,关掉IM/邮件/微信, 把面试/会议等安排在大块时间之外, 同时也建议可以尝试一下番茄工作法。

热爱分享

程序员的价值就在于他们所掌握的解决问题的经验,还有他们学习的先进IT技术,但是你不分享出来,不做推广,谁知道你在这方面很牛逼呢?你完美的解决某个问题,除了帮用户提高效率,解决问题之外,更希望什么?能让碰到相同问题的人找到一个参考, 能建立自己的知识体系,提高自己的影响力。

具有社区意识

个人用到开源软件比较多,一般如果用的频率比较大的话,我会研究它的源码,追最新的版本,以及做一些测试,关注它们最新版本到底解决了哪些bug,对开源的作者,我一直怀着一种敬佩之情,没有他们,不知道有多少人要重复发明轮子。

以身为程序员而自豪

对于职业荣誉感:说来惭愧,我觉得程序员很伟大,现在各行各业都推行自动化,没有程序员,就没有这些行业的信息化,而信息化代表着高效率。但目前的我只想着如何让自己变的更有价值,更高效的工作,赚更多的工资。

有点懒

关于懒:我不是一个喜欢做重复工作的人,对相同的问题,我希望我只做一次,即使是第二次碰到相同的问题,我也会采用优化之后的解决方案,我很喜欢自动化和模板化,浪费时间是可耻的。

代码可视化、自动化

关于代码可视化:一般个人负责的项目,我对架构都很清楚,我明白每一个包放的文件是干什么的,每一个重要的方法的算法是怎么设计的,现在的IDE,可以灵活的可视化代码的结构和跟踪调试,这一点个人还是觉得自己做的比较好的。

好的程序员都应该有自动化思维和工具思维,都应该会一门脚本语言,有自己的工具库。我们应该通过工具及自动化来改善我们的工作效率,以及避免一些人为的失误。

点下在看,小女子绩效涨五毛

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190901A08NYC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券