差在环境背景不同。
任何抛开比较对象所在的环境背景去讨论两者能力强弱的都是在耍流氓。
那么国内外互联网环境究竟差别在哪里方面呢?
1.年龄焦虑
在国外,35岁并不是一个程序员的事业分水岭,不存在35岁了,不是转业就是转管理岗的压力。
70岁了,只要你热爱敲代码,仍然可以在办公室激情工作,仍然可以大骂年轻的程序员代码写得乱七八遭然后被投诉然后再向年轻人道歉。而国内,有些公司几乎看不到35岁以上的程序员。那么究竟35岁之后程序员的能力是否真的下降了呢?国外学者对Stack Overflow上的用户进行了数据挖掘,得出下图:
由此可以看出,程序员的能力并非到了35岁就自动走下坡路,反而到50岁才算是一个拐点。
2. 工作压力
这是一个无法回避的问题,国内程序员996的现象太过于普遍,尤其如今疫情下工作难找,不加班可能意味着工作态度不积极,那么被辞退也“理所当然“。
相较之下,国外劳动法较为健全,加班需要申请且公司需要支付昂贵的加班费,领导为了控制预算自然批准加班次数很少,加班文化在国外行不通。
3. 代码质量
国外与国内对于项目的关注点不太一样,国外相较之下更加关注前期的需求分析、架构技术等讨论,领导也愿意给员工更多的时间去解决技术上的问题,以及考虑一个项目开发后的维护成本,所以项目开发周期较长,团队个人压力没有那么大;
而国内互联网节奏发展太快,行业间竞争压力又大,可能一个项目质量不论,哪个公司首先推出才是最能占得市场份额的,在这种背景之下,程序员们的压力自然就倍增了。
所以我说抛开大环境大背景去谈程序员的好坏是没有意义的,软件技术这一行,本来就是需要花时间花精力去积累,并不是短期内就能见到回报的东西。
国内互联网行业之所以前几年如此吃香,只是因为互联网行业在国内还算是新兴行业,程序员主要的任务也是应用程序开发和系统开发,和国外相较我国的IT研发还处在打地基阶段,而国外已经开始改进建筑材料了,所以国外程序员的生命周期自然比国内程序员长得多,生命周期长了,压力自然就小了,研发新技术的时间也长了,那么代码质量也就高了。
没必要去比较国内程序员究竟比国外程序员差在哪里,能力相差不大,只是背景不同,同样一个角色所承担的历史任务也就不同了。