主题:【原创】也来说说Linux和Windows下的开发感受 -- 昔杨今雨
还是我那点牢骚:没有几个公司愿意要30岁以上的程序员.
所以没有几个程序员真敢认真钻研技术,往深了钻.
毕竟都得吃饭呢.
你看那RUBY的作者,PYTHON的作者,LINUX内核的作者,现在都在继续干他们的程序员,但是哪个是35岁以下的?他们要是在中国,估计现在也就是个普通的中层管理人员而已.
好比說你要給遊戲寫腳本,就不需要怎麽精英,搞清楚遊戲的機理更加重要。
对程序员或者软件公司来说就不一定了.
例如对招聘的统计, Java程序员好像有很多年都是需求量最大的, C/C++也不少, 但是很少有注明要求熟悉VC的.
持续集成是面向软件公司和程序员的, 和最终用户无关, 因此Windows在桌面市场上的占有率就没有多大的意义了.
此外, 搭建一个持续集成环境也不是那么容易的事情, 即使工具都有, 要熟练掌握这些工具也需要一些时间, 更何况组合使用这些工具, 很多script都是要自己来写的, 而且也不是一成不变的, 需要根据软件自身的发展不断发展. 1000个软件项目有1000种持续集成的要求, 我个人觉得很难形成一包到底的产品.
维护一个持续集成环境花的精力不算很多, 但是对维护人员的水平却要求很高, 因为这个位置太关键了. 很多软件公司要么没有听说过"持续集成", 要么即使听说过, 却发现没有懂得如何构建"持续集成"环境的人. (对的这样的公司, 就不要提持续集成这么高的要求了)
我们自己采用持续集成有一个先天优势, 在于我们的产品虽然硬件平台有PowerPC, MIPS, x86等很多种, 但是都是在linux平台下, 软件运行环境和持续集成环境一致, 麻烦就少了很多.
美国为什么会有大量40-50岁高薪的程序员(尤其是在金融方面),因为他们理解复杂的business logic,并能编程实现,对business logic的理解是需要时间积累的,在这一点上,他们是越老越值钱。
计算机业的理论难度本身比不上数学物理,中国人学理科的顶尖人才有的是,所以如果单论开发软件的量甚至质,中国人不会比哪国差。致于为什么中国软件水平比起美国相差很多,也不好用那个桨糊程序员与技术大拿来比喻,两者其实多数的情况下只是99%与100%的差别,差的就是那么一点点创造性,那么一点点热忱与执着。创意的特点就是,没做出来时觉得特别难,但做出来后一看就那么回事,感觉谁来都行。 所以有一种错觉是软件开发难度不高,蓝领化就可以了,这很可能的确是中国印度将来发展成软件生物链的下游产业的开始,类似做耐克鞋与设计耐克鞋的产业链的两端,软件业的高端,在品牌,发现市场,产品实现等高端产业保留于美国,国内处与模仿,跟风的状态。
说起来中国人与印度人做软件业的从业人数巨大,但总给人的印象是桨糊程序员占多数,这里面还是国情与文化的原因。类似理科上的教育与人才的情况。试问多少中国人,印度人,包括海外与国内的,软件从业者是被其高薪所吸引,是为了谋生而从是软件开发的,绝对是大多数。而美国在这样的人也有,但比重肯定要小得多,一是选择多,二是不喜欢软件开发的枯燥。 因此一旦投身在软件开发中的,其才智都不同凡响,反之即使从业软件,也是偏重于做PM,分析师等。 而其第二点也说明了,在软件发展了这么多年后,开发程序仍然在对人员基本素质的要求上与七八十年代没有太大区别,工作性质也仍然是枯燥繁琐的,开发工具的进化被软件产品的复造度所抵消,虽然高重复性的工作被简化了许多,但在此基础上更复造的要求就产生了,这个demand随着硬件的进化变得无穷无尽,总是更快,更美,更体贴,估计不发展到机器人代替人那一天这个趋势停不下来。
计算机是应用科学,其最大的难点也在于应用。计算机软件业开发工具,操作系统等都是为应用提供更低的起点,更多的可能性,因此应用内部也要分几个级别的应用。而直接面对商业应用的是其最终结果,但也离不开低层工具,开发工具,操作系统等的支持,而且计算机业的一大块产值至今仍然在这些支援性的开发上,这也是计算机也仍没有完全成为夕阳工业的最大特征。从硬件业到软件工具也,推陈出新仍然在高速的更新换代,从水冷主机到iPhone,谁知道今后会发展到哪里去,但计算机业仍处于其早期状态是不错的,这一点从应用的高端性与开发程序的低端产业化就可以看出。
在基础科研方面,在软件工程方面都存在不小的差距。这是必须承认的。反过来说,差距也不是高不可攀,关键要看中国政府如何能拿出当年吸引外资的劲头来建立一个创新型的市场环境,让中国人真正发挥出创造力。我觉得现在慢慢在进步,但还有很长的路要走。
自己的理解,持续集成的作用就是要把一些可以通过自动化的编译、测试工作发现的问题尽可能早地暴露出来,降低解决问题的成本(Bug越早解决,其解决成本就越低)。
Windows下的开发,据我所知在DotNet平台下有几个持续构建工具,我用过CruiseControl.Net,感觉还不错。
其实最关键的不在于工具,而在于有没有这种持续集成的思想;就算没有工具,用脚本也可以进行持续集成所需要的工作,再不行用批处理也能做;不过有多少公司真能做起来呢?很多小作坊式的公司连版本控制工具都没有用,何况持续集成?
我还不知道这个方式叫做持续集成,可能我们的测试管理做的比较少吧。长知识。希望能看到更多这样的帖子:)
放在这里也挺好的
其实中外程序员的命运都差不多。说句不好听的,到了4、50岁还在搞程序的,我周围认识的老外,除了5%左右是真的就爱这个,其余的都是因为升不到管理层,不得不接着干好混口饭吃的。而且,现在老美这边的公司也是一样,到了4、50岁,如果没有什么特长好比在AS400上做Cobol开发的能力,想找程序员的工作?难!更不用提outsourcing的血泪世了。。。。。
后面那段明显是copy我去年的发言么。
其实老外浆糊程序员也大把, 以我个人的经验, 中国程序员平均的iq和动手能力要强于老外,但是分布比较均匀,集中在中间或者是倒三角,而老外是金字塔结构比较明显,顶级的好汉比较多,这类人也就是你说的凭兴趣和爱好来干活的, 而国人因为早年it收入高,所以差不多圈子里都是一堆聪明人,大家的目的是为了挣钱,所以少有出彩的,做事比较功利,缺少积累, 这也造成管理各方面的问题比较多。
更重要的其实还是市场意识。 这个市场意识一部分就是你说的创意, 我们很多技术人员在看到某些人的成功以后钻研一番以后往往会有这种感觉,唉,这东西我也做过呀,做的比他还好,但是。。。。而且现在的开源浪潮,许多人并不能看到开源背后推动的是广大厂商和用户的市场行为,也错误的把开源理解为免费使用, 这样自然就是乐意开源别人的,不乐意开源自己的,整天守着那一亩三分地瞎琢磨。
至于其他的管理也好,群体意识业好都是这种市场意思缺乏的一个体现,良好的市场意识需要基于发达的商业文明,需要一个诚信互利的体系,这都是国内环境严重缺乏,短期内也不可能做到的。 比如我这2年做soho就吃尽苦头,圈子里聪明人太多,花在做事方面的时间还不够扯皮, 合同签了也只是翻脸的时候才有用处,一个项目做下来,拿到一半的钱就是庆幸了,这样的大环境,如果培养优秀程序员?
我前文中一大段特意说明计算机业的多层次支援体系,从硬件的更新一直到直接面对商业用户的应用。 你说到的市场意识也只是盖扩了最上面一层。 而人的聪明才智在每个层面都有反映,也就是说都有浆糊与天才的区别。不要只看中国的程序蓝领与美国startup创业者们的对比,同样的差别也体现在国内遍地都是的山寨机(也包括台湾代工们)与萍果iPhone的对比上,这上面除了商业意识的不足是不是还有什么更深层次的区别?
多层次的支持体系中的一个重要环节就是工具,虽然在领先拔尖的领域工具是不可能代替人力的,但却可能起到关键的作用。而在代替程序员的看法上,我仍然是同样的观点,未来的计算机业对才智的要求会越来越高,数量会越来越少,也就是金字塔尖端会越来越“尖”。现在我们看到的大量高重复性编程,即使是多样的商业应用最终都会被先进的“工具”而不是高精尖程序员来完成。当然从今天的工具水平看,这个目标还有距离,但这个趋势早已开始,并且计算机业的一大特点是加速度发展,所以这一天的到来可能并不遥远。换句话说,大量的离岸外包,高精尖人员从普通的商业应用开发业的转向对创意需求高的startup,这种使用廉价印度与中国蓝领的现象本身就具有工具化的实质,其潜台词是,这样的工作虽然目前电脑还不能全自动的去做,或者说用电脑做比离岸外包的价钱还要高,因此使用大量蓝领浆糊程序员的同时也说明了工具的进化,毕竟辅以工具也可以对开发速度与品质有所保障,而不是如早期开发那样依赖对人才的高精尖苛求来保证产品的品质。
工具代工的比重提高的过程是一个进行时,不是0或1的现象,但这个比重会越来越高的,而蓝领们的工资水平一旦升高,其工作不是被更廉价地区的蓝领取代,就是被更加先进的工具所取代,这个发展从本质上与制造业很类似。一切对某种技能需求而造成的高薪都是暂时性的,面对大工业的无情发展动力最后都会被大生产取代,只是高科技领域这个持续时间比制造业更短。
另外说明一下,高精尖在这里并不是说那种从汇编到黑客都能玩转就行了,这些人只能说动手能力强。未来的计算机业高精尖人才最终还是要回归到抽象思维能力强的人才,只不过这样的人又对这行有偏爱,注定数量不会多,许多这样的聪明人还是会被如华尔街的quant那样的多金工作吸引去的,或者被马云盖茨这样的远景所诱惑,能献身与开发这样的工作的聪明人只会供不应求而不会贬值蓝领化。 当然鱼与熊掌兼得的例子也有,如google那两个开创人。
别看这1%,这可不是搞搞运动,推出几项政策就可以的。日本人干力气活够拼命了吧,政府政策购倾斜了吧,在高科技业仍然不过是小儿科的水平。这1%的靠的是积累,靠的载树育人,这话说起来就长了 。。。
如果你的意思1%是不小的差距,ok那说1%也行。另外日本高科技比美国虽然还差点,但可绝不是小儿科,中国还比不上人家。人家的汽车电子业,看看人家传回来的高清晰月球表面视频,再看看咱们的。。
我说的政策导向是长期的过程,而不是喊喊口号搞个运动。就像当初决定走制造业的路子一样,中国政府是使出吃奶的劲的,现在中国成功成为世界加工厂,下一步就是要建创新型高附加值经济,希望也能够成功。