程序员是什么?工作必备技能有哪些?

700 阅读6分钟

来入门了 程序员的定义

程序员(英文Programmer)是从事程序开发、程序维护的基层工作人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并 不非常清楚。随着互联网的不断普及,网络上把男程序员称作“程序 猿”,女程序员称作“程序媛”。或统称为“工程师(攻城狮)”

程序员的职责 1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组 织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技 术支持工作。 2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。 3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。 4、孰悉并孰练堂握交付软件部开发的软件项目的相关软件技术。 5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。 6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。 7、负责相关技术文档的拟订。 8、负责对业务领域内的技术发展动态进行分析研究。 2/4 程序员的日常工作

1.确认通过审查方案的目标,输入数据,分析师,监事,和客户的输出 要求的项目要求。 2.安排项目要求在编程序列分析要求;准备工作流程图和使用计算机知识的能力,题材,编程语言和逻辑图。 3.编码工作流程的信息转换成计算机语言的项目要求。 4.通过输入编码信息的计算机程序。 5.确认程序操作进行测试,修改程序序列和/或代码。 6.准备写操作指令供用户参考。 7.保持历史记录,通过记录方案的制定和修订。 8.维护客户的信息和保护保密的业务。

程序员的职业要求

一般的程序员都有在专业领域的学习,还有很小一部分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一些别的途径来提供相关的人才。

尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上,很多 刚从大学毕业的大学生虽然有引人注目的学位证书,但是他们找不到工作是因 为他们缺乏经验。一个程序员虽然没有正规的学历,但是如果一个人拥有程序 设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。所以要尽量抓住有用的工作和实习机会,这样的话在毕业后你就会发现,多实习让你有更多的经验,在找工作的时候就有更多的机会。 3/4 程序员的必备技能 ①熟练开发工具

做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,其次,能掌握一种简便的 可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。

②熟知数据库

很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SOL的基本语法。

③了解操作系统

当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深 入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。 程序员的必备技能

④不要将软件工程与CMM分开 大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程 序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程 只是软件生命周期中的其中一环,优秀的程序员应该堂握软件开发各个阶段 的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计, 软件测试等。 ⑤需求理解能力 程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。 ⑥模块化思维能力

当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对 象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很 好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。