程序员工作要做什么

如题所述

第1个回答  2013-11-05
看到题目肯定会有人发笑。因为这个问题只要是写过helloworld的人都会条件反射的回答:写代码呀!但是,这是一个错误的或者是不完全正确的答案。如果你不行,我就来问你几个问题:1. 如果让你写一个几十万行代码的程序, 你会这么写?2. 如果让你修改一个几十万行代码的程序的部分功能,你这么修改?3. 如果分配给你某个模块,你要先做什么? 思考完这几个问题你会发现,写代码只是程序员的一小部分工作。一个程序员拿到一个项目,首先要划分模块,一个项目分成n个工程,每个工程又分成n个类,每个类又有n个函数。我们就以一个工程为例子吧,在完成这个工程之前,我们脑中要有完整的类的划分,这时候要写清楚每个类的功能,在实现这个类的功能的时候,要分成n个函数,每个函数都要有函数功能的注释,在写函数的时候,有很多关键性的提示最后,在完成的时候,还要把每个函数详细的信息写上,这才是完整的一个工程。 所以整个过程中写注释的时间至少也是写代码的一半(这是很熟练的情况下)
第2个回答  2009-12-22
  程序员(英文Programmer)是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。
  作一个真正合格的程序员,应该具有的素质。
  1:团队精神和协作能力
  团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
  2:文档习惯
  文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。
  3:规范化的代码编写习惯
  知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
  4:需求理解能力
  程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
  5:模块化思维能力
  作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
  6:测试习惯
  测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
  7:学习和总结的能力
  程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。
  作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:
  1、 需求分析能力
  2、 整体框架能力
  3、 流程处理能力
  4、 模块分解能力
  5、 整体项目评估能力
  6、 团队组织管理能力

  一般招工时需要提供基础程序员证书,要参加考试的:

  [编辑本段]考试说明
  1、 考试要求:
  (1) 熟练掌握基本算法和数据结构,用C语言编制程序;
  (2) 掌握数据结构、程序变速器和操作系统的基础知识;
  (3) 了解软件工程、数据库、多媒体和网络的基础知识;
  (4) 掌握数制、机内代码及其算术运算和逻辑运算的基础知识;
  (5) 了解计算机的体系结构和主要部件的基础知识。
  2、 通过本级水平考试的合格人员能按照软件设计说明书编制程序,具有相当于助理工程师
  的实际工作能力和业务水平。
  3、 本级水平考试范围包括两个模块:模块1——程序编制能力(考试时间为150分钟);模
  块2——基础知识(程序员级)考试时间为120分钟)。题型为:单项选择题十多项选择题。
相似回答
大家正在搜