好吧,挖了个坑,我先跳了
国内程序员不信教,没有信仰,不想信神的存在,不探寻真理,没有原则,或者认为真理与他们没有关系,所以不遵循设计模式,觉得没有必要,设计程序的时候不需要遵循原则,反正我就是我的程序的上帝或者真理跟我什么关系;所以常常出现想法就是“为什么要搞得这样复杂;我用个标志位就是了;只要外表看不出来,管他里面怎么实现的”。
PS: 这是功能不正常的我在发贴,请轻拍。
国外程序员一般也不信教。
我认为没什么差别,非要说有差,就是差英语。
我又想起一点重要差别:国外程序员不用支持 IE6 哈哈哈哈哈哈 ( 只适用于前端 )
基数大……
所以初生牛犊不怕虎的人多…… 所以不知道干什么所以做程序的人多…… 所以跟着其他人乱学导致学歪的人多…… 所以觉得自己牛逼哄哄的人多…… 所以不懂如何善用搜索引擎不懂提问的艺术的人多…… 所以成天在技术论坛扯淡的人多…… 所以 YY 自己有天可以靠编程发大财的人多……
其实没什么太大差别,就是因为基数大所以某些情形相对特别显而易见。
我接触过国外程序员啊,差异不大的,大概就是国外程序员比较活泼吧(也可能是因为我太不活泼了。。),还有就是他们说离职就能离职的勇气,不想我们经常瞻前顾后的
只在 Github 和 Twitter 和国外程序员扯过.. 直观的感觉事都比我们早,, 我们这边做的,他们早就在弄了, 而且他们弄的东西很容易整个英文圈就传起来了,不像国内还要双语文档, 开源社区的风气也是他们那传来的. 好多事都是他们先做成出了名气,然后突然发现国内有类似的..
#18 楼 @pepsin 嗯,近一年来我大概看了百多个应聘者的代码测试——国外的“奇葩”代码也是不少的。我还见过 rails controller 里判断程序是跑在 mysql 上还是 postgres 上的(然后一堆 DB 特定处理)。
#19 楼 @jiyinyiyong 我也一直是这么觉得的。至少在“看得到的地方”(主要是开源社区),国内相较北美、欧洲和澳洲而言,大概要落后个 3 到 5 年。
我所在的小小的袋鼠国——这边 IT/web 行业相比国内是渺小多了,但我们这边对开源社区的贡献有不少哦,信手拈来(其实是蹭面子,嘿嘿)——
Ryan Bigg - 对 rails 文档做出的杰出贡献(Rails 贡献榜前 20),拿到过一届 Rails Hero Charlie Somerville - 对 cruby/jruby 都做过贡献,better_errors 的作者,前几个礼拜被 Github 挖走了 Ben Schwarz - W3C 成员之一 Xavier Shay - Cane 的作者,几年前被 Square 挖走了 Nick Sutterer - Cells 和 Reform 的作者 Pat Allan - Thinking Sphinx 的作者 Ryan Seddon - Modernizr 核心开发之一 Sam Saffron - Discourse 核心开发之一 Darcy Laycock - Rocket Pants 的作者,貌似大学还没毕业…… Justin French - Formtastic 的作者 Daniel Neighman - Warden 的作者(Warden 是 Devise 的底层实现) Ben Hoskings - Babushka 的作者 Marcus Crafter - Sprinkle 的作者 Mikel Lindsaar - Mail 的作者,Rails 贡献排行前 30 James Healy - PDF::Reader 的作者,Prawn 的贡献者 Samuel Cochran - MailCatcher 的作者 Dmitry Baranovskiy - Raphaël JS 的作者
还有好多好多大牛……
每次去参加本地的 ruby 聚会之类的,都倍感压力,因为周围都是大牛环绕,自己如果不努力的话很容易就被比下去了……
我接触过很多国外程序员,我觉得 Github 上面的不具有代表性。 如果从广义的老百姓程序员 (而非 Github 活跃用户) 角度来说,大部分没有让程序员这个角色侵占太多个人的空间。说白了程序员就是个工作,工作之外其他角色还很多。
我曾经在黑莓一个 900 个程序员的开发部门工作,里面用 Github 的其实有 50 个人就不错了。 然后大家对开源项目接触也少,大部分都是公司内部的项目。 那时候同事下班周末出去玩玩,加拿大夏天短暂,大家抓紧时间出去踢球,钓鱼,露营,陪孩子出去玩。还有同事有加拿大游泳队跟跆拳道队的,下班就去训练,争取进奥运的名额。
我觉得也不只是黑莓,我认识不少在微软跟 IBM 的同学,跟我最好的一个大学同学在微软写.Net 的编译器。因为职业成长都是依赖公司内部的资料,所以下班后私人时间还是很多的。 而且这也不意味着他们作为程序员的角色就更不好,我觉得程序员是个工作,工作出色就已经合格了。如果当成爱好毕生精力都投入进去,那这是锦上添花的个人选择。
我觉得,国内跟国外最大的差别就是,有没有客观的条件和业界的共识,能做到生活与工作的平衡。能不能做到在工作时间内满足个人的职业发展。
『perfoce 是世界上最优秀的 source control 没有之一,可惜搞开源的那帮人太穷了买不起所以才会用什么 git 』
他对 codeplex 比 Github 还推崇..
Git 作为动态语言的代码管理工具在社区外似乎不讨好
是的,以前在黑莓上班,本来跟个牛人打算一起开发点什么,结果牛人看了一天 Git 之后拒绝学习。也就作罢,当时公司用的就是 Perforce. 我觉得最主要的还是他没空跟我玩闹,他搞乐队经常去表演啥的。
我接手过三个国外程序员的代码,全是商业软件。
1,第一个是墨西哥人,他像是刚看过 Railscasts 就上的人,controller 里写冗长的 sql 语句,没用 scope 和 AR 的方法。 2,第二个是美国人,重复代码超多。 3,第三个是德国人,写的 gem 包里的方法还有用不了的,和项目耦合性太强,根本独立不出来,我都不知道他为什么写 gem。
不要对国外程序员报美好的幻想,2B 程序员远远比我们想象的多。
#49 楼 @small_fish__ 我擦,原来是 food inc,老实说我认识的老外都不太吃这些。程序员属于中高收入了,买些 organic 的产品还是无压力的
我只认识德国的程序员,简单讲一下
做事严谨程度不一样,所以写程序,文档说明,项目计划,所有东西都非常细致,只能讲这是文化差异了。
英语水平不是同一级别,虽然我们和人家都不是以英语为母语,但在欧洲英语新一代人非常普及,所以在阅读速度不是同一级别,在寻找技术方案,学习新知识时,人家的效率更高
国外程序员非常自我,非常个性化,每个人的性格都非常张扬,国内更像是机器人,老大说做啥就做啥,从上致下,严格以 command & order 方式执行。由于人口较少,外国程序员,基本上是一人挑块大模块,我们是一个团队做一个模块,从管理上,要协调外国程序员非常困难。
和国内程序员一样,好的程序员非常牛 B,差的也能做事情,至少是非常认真地做,令人尊敬的敬业精神,反观这边,有时会碰到消极怠工的程序员,看到就头痛
同事之间的关系,同事就是同事,绝不会是朋友,互相不讨论私生活,大部分人以家庭为重心,绝不让工作影响生活,这边的话,同事下班后,有可能会成为朋友,经常有聚会,外出活动
由于社会福利太好,税收高,所以程序员钱够用就好了,在上班时间后,有大量的时间进行自己的兴趣与爱好,包括旅游,运动等,没宅男这种定义。另外假期和国内根本是没法相比的,他们假期长,另人感觉对方很懂得生活,我们一直忙碌,就是为了那套房子,还有退休有个保障,或者病了有钱看病,我们一辈子走过来,好像都从来没休息过。
完全无惧老板或上司,他们觉得对方只是职务上的不同,有什么都是直来直往,不需要绕圈子,所以沟通起来很方便。我们这边碰到老板,很少吵架的,激烈争论也少许多,一切和谐稳定。
办公室政治同样存在,和国内没任何区别。到了部门经理,或 CTO,各种利益责任的斗争就纷纷出来了,至少占了工作的 20% 时间或更多,所以写程序还是很幸福得,不用管这些屁事。
信任度问题,国外报销等都是非常信任员工的,拿个单据就直接报,没有复杂的审批流程,反观国内,报销就像一种员工骗公司的手段一样,反复评审,渡绝回扣
学历水平,学历水平平均高一大截,经常碰到博士或双硕士的牛人,或者在职辞掉工作读书的人,国内更像是一个陪训基地,源源不断的产出生产化的技术工人,对方则是以学术及学术应用为主
程序员就是普通工人,社会地位不会比超市的收银员牛叉多少,但国内相比下,经济状况会好许多
以前还见过有德文的命名方法,大家都喜欢用母语,最近我在国内使用的 API 接口是用拼音缩写做字段名字,看来大家都非常爱国
德国是老人社会,公司的程序员平均应该有 35~40 岁,有些已经有 50 多岁,还在一线写程序,对于他们来说,从来没有想过,写程序是否能超过 30,估计考虑的问题是,写程序能否超过 50。国内大家都争做项目主管,或小头目,反正最好就是能管人,不用写代码,又能赚钱的,大部分程序员,以不用写代码,做管理为荣,应该说,这也是一种社会心态,这种心态在国外没有看到
对待版权意识,一般都会用正版,如果用了别人的 serial no.,也不会扬扬得意的说出来分享给你,这边的话,如果你用了正版,大家都会瞪大眼睛看着你,好像你是白痴
我觉得看起来精美无纰漏的代码都是经过几次甚至十几次重构才能做到的,并不是第一次写的时候就知道要这么做的。另外感觉主要是时间问题,程序员是一类特殊的人群,只有宽松开放的环境才能孵化出有创造性革新性的东西,国内大多热衷于块钱和跟风,没有办法给程序员足够的时间来沉淀和思考。这样对于程序员的业余自修的要求就很高,可惜自修的时间甚至也被加班剥夺了。