首页>>经典案例>>网站优化推广案例
程序员如何规范自己
作者:西安软件公司 | 转载 来源:西安软件公司 | 时间:2018年10月19日| 点击:0次 | 【评论】

职业要求

  一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的

学士学位获得者,不论是数学方面的还是工程方面的都是可以的。

程序员

    

大约有20%的人在这一领域的计算机科学和工程学拥有更高的学位。还有很小一部

分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一

些别的途径来提供相关的人才。尽管学历是比较重要的,但是公司经常把重点放在

应聘者的工作经验上,很多刚从大学毕业的大学生虽然有引人注目的学位证书,但

是他们找不到工作是因为他们缺乏经验。一个程序员虽然有正规的学历,但是如果

一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比

有学历的应届毕业生大得多。所以要尽量抓住有用的工作和实习机会,这样的话在

毕业后你就会发现,多实习让你有更多的经验,在找工作的时候就有更多的机会。

  对于职业程序员,另外一个重要的方面就是,程序员需要不断提升自己的业务

技术,他的技术必须一直保持在一个较高的水平,并且要不断发展,程序员也要寻

找贸易的机会,要参加研讨会,在周刊上发表文章和接受职业教育,这些使程序员

在自己的领域中分级或者不断并排前进。

必备技能

熟练开发工具

  做为一名程序

员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和

JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的

利器,很多系统级的软件还是用C/C编写。而JAVA的跨平台和与WEB很好的结合是

JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发

工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,

Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对

象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂

这些脚本代码。

熟知数据库

  为什么数据库是如此重要?作为程序员,他们自然

有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不

少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对

关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据

库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法

。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选

择,如mySQL,Postgres等。

了解操作系统

  当前主流的操作系统是Windows,

Linux/Unix,

熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成

为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/

线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操

作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽

然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。

懂得网络协议TCP/IP。

  在互联网如此普及的今天,如果您还没有对互联网的支

撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软

件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网

格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP

协议是非常必要的。至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协

议的原理和三次握手机制。

明白DCOM/CORBA/XML/WEBServices存在的意义

  随着

技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计

算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM

是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。XML/WebServices重

要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“

世界语”,是分布式计算的基石之一。

不要将软件工程与CMM分开

  大型软件系

统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一

个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力

和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环

,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析

,需求分析,结构设计,详细设计,软件测试等。

需求理解能力

  程序员要能正

确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功

能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响

及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,

只能说明他或许是认真工作过,但是没有用心工作。

模块化思维能力

  作为一个

优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块

是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用

。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模

块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。

素质要求

团队

精神和协作能力

  团队精神和协作能力是作为一个程序员应具备的最基本的素质

。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。

独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的

开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一

个团队的安身立命之本。

文档习惯

  文档是一个软件系统的生命力。一个公司的

产品再好、技术含量再高,如果没有缺乏文档,知识就没有继承,公司还是一个来

料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没

有文档的程序员势必会被淘汰。

规范化的代码编写习惯

  知名软件公司的代码的

变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定

,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的

协作。

测试习惯

  测试是软件工程质量保证的重要环节,但是测试不仅仅是测试

工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的

程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解

能力。

学习和总结的能力

  程序员是很容易被淘汰的职业,所以要善于学习总结

。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言

,代码写起来多熟练,只能说他是一名熟练的代码民工,他永远都不会有质的提高

。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好

的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设

计师、系统分析员。

拥有强烈的好奇心

  什么才是一个程序员的终极武器呢,那

就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它

是程序员们永攀高峰的源泉和动力所在。

此内容DOC下载 此内容PDF下载

【全文完】
关键词标签: [$-件关键字标签-$]
0 ([$-顶稿人数-$])
0 ([$-踩稿人数-$])

版权声明:

1、西安弈聪网站内容中凡注明“来源:XXX(非西安弈聪网站)”的作品,转载自其它媒体,转载目的在于传递更多信息,其中涉及的网站建设,网站优化,百度关键词优化,西安软件开发等技术细节并不代表本站赞同支持其观点,并不对其真实性负责。对于署名“西安弈聪”的作品系本站版权所有,任何人转载请署名来源,否则西安弈聪将追究其相关法律责任。

2、本站内容中未声明为“原创”的内容可能源自其它网站,但并不代表本站支持其观点,对此带来的法律纠纷及其它责任与我方无关。如果此内容侵犯了您的权益,请联系我方进行删除。