|
程序员在经历了若干年编程工作之后,很想知道自己水平到底如何?自己是否已经成为成熟的程序员?
一个程序员到底成熟不成熟,我想从以下几个方面谈谈自己的看法。
1 、技术标志
如果程序员不会编程序那决不是程序员,程序员至少要掌握一门程序设计语言,要能够用这种语言去编写程序去解决他想解决的问题。但是,成熟的程序员往往掌握不止一种程序语言,三到四种语言的掌握是必须的,一种二种语言的精通也是必须的。
2 、时间标志
虽然程序员的天资、素质、基础知识各不相同,所经历的工作内容以及环境也不相同,但是,时间也是程序员成熟程度的标志之一。
一般程序员需要经过三到五年的时间才能日趋成熟。其中入门需要一年,成长需要两年。
3 、项目标志
程序员的社会性是程序员成熟的标志之一。没有参加过项目的程序员,程序编得再好,只能是纯程序类的程序员,是一个孤独的高手,是一种个人型的程序员,远没有成熟。
项目作为社会性活动,体现了项目的社会价值。所以项目能力也是程序员成熟的重要标志之一:
项目能力包括参加项目的个数、项目的大小、在项目中承担的角色等等。就项目承担的角色而言,主持开发(项目经理) 3 个以上项目是必须的,这是一个必要条件。
4 、思维标志
幼稚和成熟在思维方式上还是有很明显的区别的。就程序员而言,不成熟的程序员逻辑性不强,程序编得没有条理,即使程序员自己进行了解释也没人能看懂。
而成熟的程序员应该具有很强的逻辑性,程序编得井井有条,不用解释别人也能看得懂。
这种逻辑性还体现在软件的构架设计、数据库设计、算法设计等多个方面。程序员通过全集子集概念、时间概念、顺序概念、重点非重点概念等对各种事物进行逻辑分析。
在思维范围上,成熟的程序员要比普通的程序员有更开放视野。他们更容易去接受新的东西,更容易不受各种约束去考虑问题,更勇于去挑战自己和高手。
5 、与人交往
很多人认为程序员是和计算机打交道的行业。这只是这个职业的特点。但是,只要是工作必然就是一种社会劳动。而社会劳动则必须和人进行交流和沟通。尽管程序员的劳动工具是计算机,但并不意味着程序员只想着这个工具。
如果一个程序员还沉浸在个人劳动的意境之中,对外界持有冷漠、无奈、恐惧的心理,内心里不愿意和外界打交道,无论自己感觉自己的技术水平有多高,还是一个不成熟的程序员。
而成熟的程序员一定是特别重视与人的交往,无论是上级领导、外部客户、项目经理、团队同伴这些与自身工作密切相关的人还是那些非同单位同行朋友、网友等他们都会认真去听取别人的阐述、要求、意见、建议、反馈等。
从中得到更多的工作上的、技术上的、生活上的好的想法,以便自己参考和吸收。
6 、别人评价
别人的评价尤其是单位同事以及对自己工作情况比较了解的人对自己的评价是有参考价值的。一般而言,评价差的,一定是不行的,是不成熟的。
评价好的要看情况而定,单位同事对人的评价会从两个方面来考虑,一个是这个人的为人情况,一个是这个人的工作能力。如果两者都不错,我们有理由认为这个程序员是成熟的。
7 、收入标志
收入也是成熟程序员一个参考标志。收入的大小往往是对程序员社会价值的认可度,表明程序员的劳动值这个价钱。
一般而言,成熟的程序员能够挣得软件业平均收入的中上水平,或者在一个单位或部门中能够挣得比 80% 左右员工要高的收入。而刚参加工作不久的程序员收入应该与其相差很大的。
另外,单位的项目奖金发放也可以看出程序员在项目中的地位和作用。
8 、心理素质
程序员常常面对各种各样的成功和失败,尤其是失败更是多于成功,这也是程序员这个职业特点之一。
以编程为例,几乎没有一个人一次就能把程序给编好的,它总是要遇到各种语法错误,总要遇到各种遗漏,一个程序要反复多次修改调试才能完好。有的程序员因找不出来程序的 bug ,束手无措,哀声叹气,心里极其不爽。
良好的心理素质使得程序员更加理性地处理好各种成功和失败带来的各种问题,更有利于程序员超越自我,以平常之心去迎接更大的挑战。 |
|