程序员的素养 程序员的素养

程序员的素养
程序员的素养

程序员的核心职责

1.编码

   程序员的首要任务是什么,自然是敲代码完成自己的编程任务。如果一个人从来都不编写代码,则就不能称为程序员。有些人的代码写的很漂亮,有些人则写的的让人难以直视;    有些人可能写的简单干练,有些人写的可能马马虎虎;

2.编码设计

   程序员不仅仅要每天写代码,同时每时每刻也在设计。我们虽然不是架构师,但是我们几乎在写每行代码的时候都在做代码决策,小到变量的命名,大到类的职责分析和算法的设    计, 可以说设计本身就是编码的一部分,或者说设计是编码的核心。虽然每个程序员设计的工作量不同,但是每个人必然逃脱不了设计。

3.自测编码

   自测编码与编码和编码设计一样,从未测试过自己代码的人,就不能称为程序员。有些人只是编码完成后简单的进行功能测试,有的人做的全面细致,将测试纳入自己的工作任务    中,甚至有的使用测试驱动自己的开发过程。

程序员的附加竞争力

1.工作的广度

   工作的广度就是程序员的工作覆盖的领域,它展示了程序员从一个领域迁移到另外一个领域的能力,即程序员的综合能力,这需要一个长期渐进的积累过程。很多程序员在特定领    域工作一段时间后,需要快速的迁移到另外一个领域,并且需要维护以前领域的代码,有的人不仅需要同时兼顾多个领域,还需要维护其他人遗留的其他领域的代码。

2.积极主动

   发现工作中的问题并自己积极主动的进行解决,并根据实际情况需求帮助;

   积极主动反馈工作情况;

   积极主动献言献策;

3.自我解决问题的能力

4.自学能力

   主动学习工作相关的技能;

   主动了解相关的新技术的发展动向;

5.创新能力

   善于归纳总结,能够独立思考,可以提出独到的见解或解决方案;

6.应对压力和逆境的能力

   程序员也需要处理外部或者心理压力,既有面对客户现场问题的束手无策,也项目接近尾声急于上线的心理煎熬。

程序员的团队互动竞争力

1.理解和沟通能力

   能够清晰准确的表达自己的观点;

   能够准确的领会其他人的观点;

2.执行能力

   清晰了解自己的项目角色定位和项目的大局,能够按照预定的方向完成自己的任务;

3.主动帮助他人

   协助团队其他成员解决工作中遇到的难题或者bug;

   为团队其他成员提供可选的解决方案;

   积极主动乐于分享自己的心得经验;

4.领导能力

   帮助团队其他成员分析问题的本质,指出解决问题的可能路径;

   指导并激励团队成员;