|
发表于 2023-2-1 08:30:21
|
显示全部楼层
没在国内工作过,所以大部分是针对在美国的华人和美国本土工程师的差距.
1. 沟通能力:
在这点上差距非常明显. 很多人说是英语问题, 但我觉得深层次的是思维方式问题. 和美国工程交流的时候, 你能很清晰的理解他的问题在哪里, 他解决问题的切入点和具体思路. 在他们阐述问题的时候背景信息给得相当全面, 所以理解他们的问题很容易. 而当你阐述思路的时候, 他们也会非常用心的去理解你的思路, 帮你解决问题. 可华人这方面基本不行, 很多时候讲一个问题根本不考虑别人的感受, 背景知识没给全, 就直接开始讲了,搞得很多人云里来雾里去, 根本不知道他在讲什么. 有时候也不愿意理解别人的想法, 就顾着自己讲.
2. 解决问题能力
我们国家, 由于教育方式和美国不同, 所以出现了一个很有意思的现象. 如果给我们中国程序员, 规定好的方案, 我们普遍完成的非常好. 但如果没有具体方案, 完全是一个开放性课题, 很多时候华人工程师完全无法下手. 但美国程序员这方面能力相当了得, 他们的探索研究能力非常强, 经过一定时间的研究后, 他们能提出一套非常具体有效的方案然后一步一步去解决问题. 这也是我们和美国教育的差别,一个善于解决问题, 另一个善于发现探索问题.
3. 技术实力
这方面主要是对比国内程序员和美国程序员.我们工作初期的时候美国程序差距不大.但问题是5年以后开始出现变化了, 已经不止一次听人说所谓程序员吃青春饭这种理论了. 在一项技术上我们有多少人钻研10年以上的? 多数人工作个5-6年就开始琢磨转管理了. 虽然这5-6年我们代码上的时间,积累的经验可以说很多时候是高于美国程序员的. 但问题是之后我们就不干了, 而美国程序员10年以上经验的人有的是. 我以我们小组为例, 一个工作经验是30年, 从dos时代就开发debugger一直干到现在, 一个24年工作经验外加5年的博士研究经验, 还有两个从毕业到现在一直从事CLR diagnostic api的开发到现在基本都干了十几年了. 在国内我真的很难想象有这种团队. 记得stackover上统计过, 程序员的黄金年龄应该在40岁左右, 但我们国内40岁的时候有几个还愿意写程序呢.
4. 对技术的热爱和对工作的耐心
实话讲有多少人是热爱编程的呢, 很多人学习程序想得都是那个方向火容易赚钱. 什么技术火就学什么. 然后去所谓牛逼的公司, 干牛逼的事情, 然后拿着几十万的工资. 很多人工作没两年都跳了3-4次了. 我不能说这种是错误的, 毕竟大家都是混口饭吃. 但看看美国程序就会发现差距, 像我之前说的很多人专注某一个领域几十年. 我们现在都是想着自己开公司或者加入快要上市的公司, 然后上市了到达人生巅峰. 各种浮躁的风气盛行. 可美国很多程序员其实我自己感觉想法不多(当然也有可能和我接触的这些人有关), 他们想法很简单, 对于编程这种事情更多的是那种单纯的孩子似的热爱吧.
====================================================================
5. 对于好程序员的定位
这点是看了底下的评论想到的, 在美国(当然也有可能是我们组的标准), 对于一个好工程师的评价不单单是对系统了解的深入程度, 解决多么难得技术问题这么简单, 同时还有其他的一些要求, 一个是领导能力, 一个好的程序员不应该只是自己完成feature, 同时也要帮助或者指点其他组员克服技术上的难题. 另一个就是vision, 能够把握技术的发展方向, 根据这些把握产品的发展方向. 虽然这个有点类似PM, 但和PM的区别是一个只是根据市场和客户需求, 另一个是通过自己多年开发的开发经历进行判断. 我觉得比较好的例子就是我们组的.net native 和 reyujit项目, 或者是Facebook的php hack项目. 这些项目都是很多工程师的提出来的而不是PM. 还有就是交流协作能力这点我之前提过就不多说了. 而我们华人有时候对于好工程师的评价往往只是简单认为技术好, 对系统了解就是好程序员. 至于我说的这几点感觉并不是太在意. 所以一句话概括是我们华人认为你coding厉害, 你就厉害, 但老美有时候的想法是, 好的程序员并不是coding厉害那么简单.
============================================================
最后说明一点, 我只是针对我接触这些人的情况, 可能会和硅谷的情况有一些不同. 事实上我认为即便是整个西雅图氛围和硅谷的氛围都是不同的. 西雅图经历老的工程师是主力, 硅谷相对来讲更年轻化当然也浮躁一些. |
|