从70年代C语言横空出世,到80年代的C++,90年代的java,正所谓江山代有语言出,各领风骚几十年。以至一时间,B、C、D、E、F、G等各大语言门派林立,百家争鸣。编程市场列国争霸,狼烟四起。需知天下大势分久必合,合久必分。当人类进入伟大的21世纪,各门各派经过历年混战,或兼并,或消亡,最终由二大门派中分天下,程序员从此进入了.net和j2ee和平共处的年代。
  月儿弯弯照九州,几家欢乐几家愁。原本属于这二大门派的程序员自然皆大欢喜,欲图发扬光大。而其它门派,除了为自己多年的前功尽弃扼腕吧息外,唯有流泪进行选择。有些程序员甚至就此改弦易辙。
  民齐者强,整合后的程序员阵营,体现出来了前所未有的强大生命力,和惊人的创造力。此后短短数年间,B/S架构大行其道,MVC应用无处不在,互联网风驰电掣般进入了web2.0时代。各种软件社区、商业中间件、开源框架、免费工具如雨后春笋般冒出来。程序员面临着比任何时代都难以比拟的丰富资源时,也经受着巨大的选择困惑和海量知识学习的代价。
  此时的技术更新速度比以往任何时侯都要快,程序语言自身版本的完善,新增的API,增强的语法。开源社区也因为人富力强,框架的数量越来越多,组件库越来越丰富,每个新版本几乎对老版本都有颠覆性的认识。企业应用从视图层到web层,从业务层到数据层,应用的框架越来越多,组件越来越庞大。如果说八九十年代程序员面临的是学习深度,技术困扰的话,那么现在程序员很幸运的可以抛弃一些艰深晦涩的底层代码,更多的是面临学习的广度问题。现在需要学习的知识太多了,太快了。正是因为编程API越来越丰富,封装越来越完善,技术难度也越来越浅,于是程序员的命运也开始发生转变。对于一门语言学习的门槛越来越低了,入门的时间越来越短,到达实战阶段所付出的代价也越来越低,各个教育机构、培训学校批量生产的专业人才越来越多。于是乎大量的程序员蜂拥而入,充斥着北大广深各个人才市场,程序员队伍甚嚣尘上,鱼龙混杂。
  大量涌入的程序员,极大的丰富了中国软件市场的应用程序。此时的政府,金融,电子商务,互联网等各类应用软件品种繁多,功能齐全。可遗憾的是,几乎没有任何组织或公司去关心那些支撑应用的底层框架,平台代码,更遑论去组建服务于芸芸众生的开源社区了。主导软件应用的供应商们,恨不得将所有程序员都变成利润单元,软件公司所谓的研发团队基本上都是在项目中去修漏补缺。几个项目下来,优秀的程序员不是转岗再就业,就是开始变得平庸。程序员越不去研究底层代码,就越难透过现象发现这些形形色色的应用框架的本质,其结果是离编程之道越来越远,就越局限于程序的表面应用与功能实现,最终陷入恶性循环。程序员渐渐变成了僵化的编码机器,只需要简单的使用google,然后Ctrl加C和Ctrl加V。程序员素质开始明显下降。
  随着计算机知识的推广,软件应用越来越普及,软件的终端客户,其认识也得到了迅速的提高。从以往注重界面的修修补补,开始渗入到了软件从需求、设计,到编码、测试的方方面面。而技术的成熟也极大的支撑了业务的发展,其结果是客户对软件的依赖也越来越大,业务需求越来越复杂,更新也越来越频繁。培养客户对软件的依赖无疑是好的,但软件商显然忽视了客户对软件的认知度问题。客户对一般电脑知识的了解,正如其对软件编程的不了解一样,让客户对软件产生了过度的依赖。小到鸡毛蒜皮的按钮大小与文字提示,大到工作流的自动处理与千变万化的人工干预,客户一味追求尽善尽美,万无一失。程序员总是在程序的通用性与客户要求的灵活性之间进行权衡,刚刚还在为开发出一个短小精悍的强大组件而洋洋得意,却迅速在客户提出的细枝末节的完善中意尽阑珊。这里,CMMI强烈的阳光照不亮阴沉的天空,PMI十八般武艺都经不起轻轻一击。这里,客户就是业务需求,客户就是行业规范。这里是技术的天堂,是程序员的地狱。这里天地不仁,视程序员如刍狗。
  技术上的浩如烟海,业务上的变幻莫测,足以让一个有良知的程序员痛不欲生。而恰恰在此时,往往能碰上一个“优秀的项目管理者”,于是,就造就了神一样的程序员。有这么一个说法,搞C的看不起搞C++的,搞C++的看不起搞java的,搞java的看不起搞.net的,搞.net的看不起搞js的,搞js的看不起搞html的,搞html的看不起搞美工的,最后美工周末去泡妞,看到一群傻X在那里加班。对了,就是加班。项目要前紧后松啊,所以项目早期要加班;进度明显滞后了,所以项目中期要加班;测试问题越来越多了,所以项目后期要加班。晚上工作效率高啊,所以能晚尽量晚点走;双休日开开会改改bug,所以周末没事最好来加班;人手不够了,辛苦点先顶一顶;上线时间紧啊,争取后面安排调休吧;老员工下班没走,新人也只好积极表现、。于是,加班就成了管理的最高境界,成了管理者应对一切项目的不二法门。加班是程序员的墓志铭,加班是管理者的通行证。
  自古福无双至,祸不单行。如果仅仅是加班的话,凭程序员多年练就的钢丝般的神经倒也能忍辱负重。当管理者一旦祭起“出差”的大旗,程序员就只有丢盔弃甲,唉鸿遍野了。为了响应公司的号召,多快好省的完成重大软件项目,一茬又一茬的程序员们背井离乡,抛妻弃子,纷纷奔赴客户现场,战斗到第一线。他们或进驻美丽富饶的大都市,或流放遥远偏僻的小村庄,进行着一轮又一轮的封闭式开发。多少年轻时的美丽容颜,几宿之间白发渐染。多少人在这里来来去去不停变迁,唯有技术永远陪在身边。技术一入深似海,从此家人成路人。
  出差和加班,彻底绞杀了程序员的灵魂。古人云,出于幽谷,迁于乔木。既然环境如此恶劣,怎么解释程序员队伍越来越庞大呢?是不是一定有些东西是程序员一直坚持而不肯放弃的呢?你说薪筹待遇也好,机遇挑战也罢,我想说的是这一切都是浮云,程序员从来只是为了----生存。
  从来没有这样一个行业,被冠以朝阳、绿色、知识的标签,却在暴得大名后,逐渐显露出它狰狞恐怖的一面。从来没有这样一个职业,当它正要走向欣欣向荣的时刻,却迅速的枯萎凋零。社会的浮躁,行业的苛刻,雇主的贪婪,都加速了这个产业和职业的滑落。一个幸福的程序员,必须上升到哲学的高度对自己说,苦逼与加班无关,与内心相连。相当有讽刺意味的是,另外一个长期被忽视的农民工群体,地位却随着经济的发展而水涨船高,短缺的劳动力市场使其在家门口就可以实现就业,繁重的体力劳动大多已被现代化的机器替代,曾经的血汗钱屡屡招来白领羡慕的目光。而随着社会人口的老龄化、教育普及化,农民工作为一支新型的劳动大军将扮演着越来越重要的角色。物类之起,必有所始;荣辱之来,必象其德。二个曾经风马牛不相及的职业,一个是阳春白雪,一个是下里巴人,却在社会前进的滚滚车轮中发生了逆转。用不了多久,程序员和农民工就会在时空的某个点相遇,二个同病相怜的劳苦大众是时侯互道一声珍重了。程序员软件民工屌丝

解决方案 »

  1.   

    说实话,老外玩技术最后都搞成行业标准,跟着是死路,不跟死都不
    知道怎么死的。我们所谓的高手就是会call api而且。
      

  2.   

    搞C的看不起搞C++的,搞C++的看不起搞java的,搞java的看不起搞.net的,搞.net的看不起搞js的,搞js的看不起搞html的,搞html的看不起搞美工的,最后美工周末去泡妞,看到一群傻X在那里加班
      

  3.   

    中国要是有几件和Google一样的公司,软件强国不是梦,不过中国人的惰性还是无法改变~~
      

  4.   

    楼主文采不错。
    如果仅仅依靠调用API就能够解决的问题,应该都不算什么困难的问题,有很多稍微复杂的问题是不可能有现成的API可以调用的,如一个能够与人对弈的象棋程序,就不可能找到现成的API。如果有现成的API使用,由于这些API需要有相当宽的适用性,它的内部编码的效率一定是不高的。一个高质量的程序,通常应该少用现成的API,除非他对程序的效率影响很少,或者程序对运行速度没有高的要求。
      

  5.   

    中国程序员,除了名字好听外,其他的都不如民工。再加上学这行业的人特多,很多公司就算每个月换一批开发人员都没问题。之前在一家房地产公司干,工地里的木工、铁工,日薪280~360。当时我都不好意思说自己是搞IT的。洋气点的叫法叫:IT,土鳖点的叫法叫:挨踢