我是真正的程序员吗?这个问题还真没去想过,想起这个问题是因为上上篇文章《网络行为审计系统的性能优化》的评论里有位姓卢的网友留言:
“您也能算是真正的程序员?”
要回答这个问题,就要首先搞清楚一个定义:真正的程序员是什么?
使用google一查,对这个定义的回答还真多,例如:
(一)《国际:如何识别真正的程序员》:
1,激情。2,自学好学。3,聪明 4,隐性的经验 5,技术多样性 6,资格证书
(二)《一个真正的程序员是什么样子的》:
(1) 真正的程序员没有进度表,只有讨好领导的马屁精才有进度表,真正的程序员会让领导提心吊胆。
(2) 真正的程序员不写使用说明书,用户应当自己去猜想程序的功能。
(3) 真正的程序员几乎不写代码的注释,如果注释很难写,它理所当然也很难读。
(4) 真正的程序员不画流程图,原始人和文盲才会干这事。
(5) 真正的程序员不看参考手册,新手和胆小鬼才会看。
(6) 真正的程序员不写文档也不需要文档,只有看不懂程序的笨蛋才用文档。
(7) 真正的程序员认为自己比用户更明白用户需要什么。
(8) 真正的程序员不接受团队开发的理念,除非他自己是头头。
(9) 真正的程序员的程序不会在第一次就正确运行,但是他们愿意守着机器进行若干个30小时的调试改错。
(10) 真正的程序员不会在上午9:00到下午5:00之间工作,如果你看到他在上午9:00工作,这表明他从昨晚一直干到现在。
看看这些文章,比较一下吓我一跳,原来以为自己可以成为一个真正的程序员,其实很多都达不到。不过还是不甘心,心想真正的程序员有这么多要求吗?判定起来这么麻烦吗?
这么多文章来阐述这个问题,而各不一样,既然大家各有说辞,而wikipedia上也没有明确定义,说明这个问题没有真正的定义,所以我看是一个智者见智,仁者见仁的问题了。
我窃喜:说不定自己还是个真正的程序员呢。我得找一个利于自己情况的定义,终于想到了一个定义:
<<十年学会编程>>(作者: Peter Norvig)
想想自己,2000年大学毕业后进入社会,开始就使用c语言编程,到今年也快10年了。10年间,从windows平台上vc++6.0开发环境到Unix solaris/Linux redhat、suse、slaceware上vi + gcc开发环境,从C/C++语言到Java语言,从Java语言到c#语言,数据库从sqlserver到mysql到oracle,乱七八糟学了一通,以便写简历时可以多写几个"精通、精通、精通"。你看看我的简历,还敢说我不是一个真正的程序员吗,嘿嘿,莫非你也是一个喜欢抬杠的人。
Bill Gates有时间跟我们理论他曾经是不是一个真正的程序员吗?Linus Torvalds有时间问我们是不是一个真正的程序员吗?
可见彼此之浅薄,可笑你我之无聊。不过,尽管浅薄无聊,也得生活下去,在无聊中自娱自乐。
原文转自:http://blogread.cn/it/article/412?f=sa