专业的程序员至少有以下表现:
1.承担责任
这是专业和不专业的分水岭。对于一般的程序员来说,他的责任就是及时、高质量的完成任务;对于 Tech Lead
来说,其责任就是统领全组,合理安排任务,让组员各司其职。 2.高质量的代码
没有Bug,每一段代码都要有相应测试。可读性要高。刚学计算机的同学,变量随性命名,整个文档看不到注释。可扩展性和解耦性。最好的代码不仅针对当前特殊的情况,还可以应对其他情况;以后即使对现有的代码进行大量修改,也不应该影响其他模块。
3.代码上的时间
一个专业的程序员一周的花在计算机上的时间应该为每周60小时。最基本的40小时,要花在工作中。剩下的20小时,要花在提高自己身上。提高可以是多种多样的:读博客、做项目、看文档、上公开课。
4.对自己领域的精通
无论是前端、后端、还是移动端,都有自己的一套架构体系。作为一名专业的程序员,我觉得应该至少对自己领域所有的知识都有涉猎了解;对于核心的部分,则要做到烂熟于心的程度。
5.思维模式
很多程序员平常写代码只在乎能快速解决问题,不在乎选择解决问题的方法和原因,这是典型的不知其所以然。专业的程序员,理应对每一个问题、每一步设计都有自己的理解。
6. 沟通
很多程序员只想写代码,做个安安静静的美男子,这当然无可厚非。但是你真的确定,正在在做的东西是老板希望、客户期待的吗?作为一名程序员,理解自己应该做什么、达到什么效果、同时让老板知道什么能够实现、什么实现不了,才是专业的表现。
7.合作
与组员的合作是专业程序员工作学习中重要的一环。除了沟通很重要以外,我想着重谈的一点,就是程序员在合作中不能掺杂着办公室政治。我所认识或者听说的硅谷的大牛,跟同事皆是坦诚相待,对后辈也是倾囊相授。