2007-11-06 06:41 248人阅读 0
我不是天生的程序员,也并非天生就喜欢电脑,上高中时也没有想过将来会当程序员,接触电脑纯属偶然--小时候的一个好朋友上大学时选择了电脑专业,为了和这个朋友有更多的“共同语言”我便选择了计算机系;在大学,我略窥电脑世界,开始为之“发烧”;毕业后,开始了一个程序员的职业生涯; 从开始写程序到现在快十年了,写过的程序不少;从这些年的风风雨雨中走过来,不能不有些体会;说到体会,最大的体会就是这条路太漫长;
一、一辈子有你 苦一点也愿意
我没有奢望大家把写程序和文学创作相提并论,但其中的苦楚却不是一个普通用户能够体味的;为了写好一个程序,我们度过太多不眠之夜;有个朋友如此评价道,“写程序简直是在自杀,巨费精力巨费脑子巨累”;但还是有许多人不畏其苦,前仆后继; 我刚接触到电脑就发现电脑的妙处:电脑远没有人那么复杂,如果你的程序写得好,你就可以和电脑有着非常融洽的关系,就可以指挥电脑干你想干的事,这个时候,你是十足的主宰;每每坐在电脑面前,你就如同在一个王国里巡行; 电脑里的世界很大,程序员是活在自己想象的王国里;你可以细微到电脑里的每一个字节、每一个比特的东西; 这样的日子简直就是天堂般的日子,很多人都爱上了这样的日子; 不少
人认为程序员最多干到三十五岁就可以收山,脑子也差不多该歇歇了,并认为写程序是年轻人的事情,到了一定年龄,估计没什么人再当程序员; 我刚毕业时,意气风发,也想先吃点苦,到了三十岁就不干了;年长一点后就发现了自己的无知;一个人大学毕业就二十一二岁,技术成熟一点后可能二十五,接着就是票子、妻子和房子等等诸多忙不完的事情;一切搞掂的时候,也许就是三十五岁;如果三十五岁就放弃的话,我们就不用选择程序员的道路; 电脑进入我国时间不短,但真正大规模开始用,还是八五年PC登陆我国时候的事;因此国内真正写电脑程序的人最长也就写了十几年不知道是否还有这样的人;由于电脑应用在国内时间比较短,国内程序开发的主力以三十五岁以下的年轻人为主,但这并不表示程序员如同红粉佳人般的容易衰老;美国和台湾地区的开发者以三四十岁的人为主;开始写程序的时候,我们觉得没有什么不能做的现在还能听到这样的豪言壮语,而且更要命的是,好象我们特别聪明,特别适合开发软件,比老外强得多;当我们真正接触那些杰出的国外开发人员的时候,发现他们太厉害了,都有十多年的开发经验,绝对多数的产品出自这些有丰富开发经验的程序员之手; 毕业后,编程不仅仅是爱好,而且成了一辈子的工作,可以肯定会干一辈子,虽然我没有打算一生只干这一件事;用一生来编程是一件既容易又困难的事;如果碌碌无为,为交差写点程序,这样写两辈子的人都有;但如果想全身心地写程序,写十年都不是一件容易的事;现在我的不少朋友都洗手了,有时我也有这种想法,但一旦面对电脑,立刻顿悟:电脑还是自己最擅长干的事,也是最顺手的事;
二、我的未来不是梦
有的人刻苦学习编程技术,努力提高编程水平,并把高级程序员作为追求的目标,甚至是终身的奋斗目标;后来参与了真正的商品化软件开发后,感到非常困惑和茫然;
当我上大学的时候,高级程序员也曾是我的目标;当时,我通过等级考试获得了高级程序员证书,并在自己的名片上印上“高级程序员”的字样;后来,我的水平提高了,似乎也成了大家认可的好程序员了;这个时候我却开始茫然;我希望我的技术能得到别人的承认,当得到别人的承认后,我又能如何呢后来我发现,无论成为多么高级的程序员都没用,关键是是否能够出想法、出产品,你的劳动是否能被社会承认,是否能为社会创造财富; 我的未来是明确的,开发出高质量的适用社会的产品,为社会创造财富;
三、每一个程序都是艺术品
有人认为程序员没有什么了不起,不过是一种熟练工种而已;也有人把编程说成是艺术创作,捧上天;这两种意见争论比较激烈,甚至可以说针锋相对; 我们换个工种来看,石匠应该是熟练工种,跟艺术似乎沾不上边;;但正是这些石匠,给我们留下了数不胜数的文物古迹,如乐山大
佛、莫高窟等等;应该说这此石匠给我们留下了无穷的文化财富;我认为编程的工作和石匠比较相似,是技术,也是艺术; 现代软件工业已具相当规模,很多软件的完成需要的是大兵团作战;一名精通程序员接受编写某一块的任务后,往往只是写代码,发挥的余地很小;在大项目中,很多程序员只能了解到和自己所编模块相关的很局部的细节,另外还受到开发环境的限制,真的很难体会到自己在从事“艺术”创造,更多的时候是感到自己在从事重体力劳动;有的时候还担心自己苦苦参与的这个项目究竟有没有意义,是不是在同类产品中有竞争力,会不会开发出来以后就因为硬件的发展、操作系统的换代而过时...... 编程是技术活,才有可能大规模进行,才会有软件工程的理论;也正是编程具备艺术创作的特点,我们的生活才会有如此多的好软件产品;写一个程序需要付出脑力和体力,当我—我们—某个体完成一个程序之后,在我们的眼里,每一个程序就都是艺术品; 程序员应具备的素质 前言 程序员是一种技术工作,在IT的发展中有相当重要的地位,从底层硬件通讯协议的建立, 到数据传输层的处理,到操作系统的建设,到数据库平台的建设,一直到应用层上各种数 据营销平台的搭建,程序员在里面都扮演着举足轻重的角并为IT事业的发展做出了巨大 的贡献; 中国有很多精于编码的人,但是中国软件行业,尤其是网络应用开发方面误区很大,很难形成有规模的软件开发力量和产品能力,不但比美国差距甚远,和印度相比也是颇有不 如;这些问题不是在于中国程序员的智
商和工作努力状况,也不是在于国家和民间对开发 的投入程度,而是很大程度上,有一些对技术,对程序开发,对项目设计方面的思想误 区,这些误区,导致了软件行业的产品化能力不足,缺乏规模化和大型复用系统研发能 力,可以说,改变认识误区,是解决软件行业小作坊模式和个体英雄模式所带来的局限性 的重要工作; 中国有很多小朋友,他们18,9岁或21,2岁,通过自学也写了不少代码,他们有的代码写的很漂亮,一些技术细节相当出众,也很有钻研精神,但是他们被一些错误的认识和观点左右,缺乏对系统,对程序的整体理解能力,这些人,一个网上的朋友说得很好,他们实际 上只是一些Coding fans,压根没有资格称为程序员,但是据我所知,不少小网络公司的 CTO就是这样的coding fans,拿着吓人的工资,做着吓人的项目,项目的结局通常也很吓人;
电脑编程工资多少一、程序员基本素质
作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具有的素质;
1:团队精神和协作能力
把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最 重要的安身立命之本;把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有 限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球 的为linux写核心的高手们,没有协作精神是不可想象的;独行侠可以作一些赚钱的小软 件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺 乏这种素质的人就完全不合格了;
2:文档习惯
说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中 非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级 程序员和系统分析员,这个比例还要高很多; 缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇 到极大的麻烦; 3:规范化,标准化的代码编写习惯 作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩 进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和 纠错,也有助于不同技术人员之间的协作; 有些coding fans叫嚣高水平程序员写的代码旁人从来看不懂,这种
叫嚣只能证明他们自 己压根不配自称程序员;代码具有良好的可读性,是程序员基本的素质需求; 再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可 想象的;
4:需求理解能力
程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性 能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾 经放言说写一个广告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情 况下的性能指标是如何实现的,对于这样的程序员,你给他深蓝那套系统,他也做不出太 极链的并访能力;性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程 序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险 和恶意攻击的可能性;就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经 验才有可能有心得;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论