印度软件水平和中国的程序员
印度软件开发
我在工作中,接触到印度软件公司开发出来的软件:整个体系架构非常清晰,按照我们的要求实现了全部功能,而且相当稳定。
但是打开具体的代码一看,拖沓冗长,水平不咋样。我们自己的一些程序员就有怪话了,说他们水平真低。但是!印度人能够把软件整体把握得很好,能够完成软件,并得到相当好的设计文档。而中国人在那里琢磨数据结构、算法,界面人员就还没编码就想着是Outlook式的还是Visual Studio式的界面。到最后就成为Code高手,对某些特定的开发工具精通,但是就是不能保证能够把一个软件稳当、完整的开发出来。
举个简单的例子: 软件中需要一个列表,用来表示我们处理的事务。该类表在业务繁忙的时候将变得很大。中国人就用双向链表,抱着《数据结构》书在那里写链表的类。 印度人开了一个大数组,然后就开始干。为什么印度人不用链表,他们说:
1、你们给出的设备(小型机),最少具备512M内存,浪费一些没有什么。
2、数组方式访问方便、效率高。看出了一拿到东西就吭哧吭哧作Code,和好好进行软件分析的不同了吗?
正好前几天我有几个同事从印度回来和我们交流,那家公司是CMM4级公司. 我感受的几点:
1,流程重于项目
2,QC(就是QA)独立于研发部门,专门检查研发部门的开发流程是不是按照既定流程 走.如果QC觉得流程不对,他会直接上报高层,项目肯定就此停止.
3,所谓的项目经理(PC)一般也是从编码人员升上来的,并不是所谓的不懂技术,一般都至少有四年以上的经验
4,PC主要就是制定开发计划,负责协调,填写各种表格.
5,所有的东西(包括草稿)都有文档.
6,详细文档要求达到只有这个文档就可以编码的程度,一般写文档时间占60%,编码时间极少
7,有各种详细的review(同行评审),项目组内的,项目组之间的,客户的...
8,计划很详细,的确能达到小时级,但是实际情况还是误差比较大,所以他们也有加班.
先学习UML和Rose以及RUP,不要总是要找着证据。 在中国的软件开发水平下,很难给你一个好的例子,OK? 中国人总是要看到一个东西有了试验田,而且稻子长得好,才换稻。要知道在国 外上述的软件开发模式的应用,大可以看看Rational网页上的story。 Just do it! 一句话,中国的软件开发水平低得很。 赶不上印度人,印度的软件公司可以让高中生编代码,它的软件工程水平可想而知。 当然,你如果是个很牛的程序员。估计够呛,因为中国的气氛中,很牛的程序员都很难接受软件工程的。你可以测试一下自己,看看自己适不适合现在学习软件工程:
1、你是不是不能忍受一个编程序不如你的人做你的项目经理?
2、你是不是觉得你的老板对客户吹牛皮、夸大自己而感到不舒服?
3、你是不是一个拿到一个需求脑袋里第一念头就是如何实现的人?
4、你是不是很崇拜Stallman,Linus,很讨厌Microsoft?
5、你是不是曾经在深夜编码的时候,突然感觉到一种乏味,对Code的生涯感到一 种无趣?
以管窥豹──印度神话 作者:"Kino"
我们现在处于深深的自卑当中,感到中国的软件工程水平的低下已经是牵涉到民族劣根性的问题了。
1、他们的软件教育水平: 我们招聘印度人,给应聘者出了一份与国内差不多的试卷,有基础概念和编程题目。 等到他们完成后,我们这些中国的自认高手惊呆了!他们的编程题目简直象是抄袭的。 程序结构,注释,变量命名就不说了吧,全部都是极其类似! 反观中国的牛人、高手,每个人有自己的一套。到了新的岗位,先把前任的程序贬损一 通,然后自己再开发更多的问题的代码来代替。我的公司统计,一个软件中有4个以上 CSocket版本,每个人都觉得别人做得差,自己再搞一套。中国人,就是这个样子,还 会辩解说“我们这样有创造性”。 其实软件发展,早就走过了求伯君那个编码英雄的年代,程序员已经是个坐办公室的蓝领了。你具备拧好一个螺丝钉的能力就可以了。Code是最低级的事情了。
2、他们许多公司的项目经理根本就不懂技术。 中国的项目经理如果不能在技术上压服下属,那么下属将与他搞鬼,越是高手越喜欢搞 鬼,根本不知道作软件的终极目的是从别人兜里钱,而在内部搞不团结。技术高手都 会纠集一些对他技术上崇拜的菜鸟,与管理层作对。 而印度的软件经理根本就不懂正在做的东西,许多甚至直接就是MBA,或者是领域家工业设计、地理专家等),而不是编码的专家。但是却能够领导大群素质良好的程序 员把工作做好,没有内部不团结的情况。 许多印度的程序员加入一个公司很长时,都不知道自己整天编的代码是干什么用的。 给他们的任务可能就是一个函数的声明及该函数要实现的功能。我们呢?
3、他们的编程人员的流动率达到30%! 他们的编程员流动率(包括内部项目之间的流动)高达30%,可以想见他们的文档水 平如何。他们的产品不依赖任何一个人,谁都可以立即辞职,产品的开发还是会正常进 行。 而中 国,是老板怕总工。技术骨干拥兵自重,抗拒管理。任何制定好的计划,都有可能 被技术人员推翻或者跟你消极怠工。
4、他们的开发计划能够做到小时级别。 如果一个印度司的项目经理没有上班,那么他的下属将可能不知道作什么。他们的计 划一般都定到天,每个基层开发人员每天的工作量就是8小时。 而我们能够给出月度计划的公司就很 少,而给出的月度计划要么不可能实现,要么就可 能被取消。开发人员被初略的给个任务,他在月初,可以慢慢琢磨是做成什么样子,然 后上上网,聊聊天。到了月中和月末 ,就开始熬夜编码。 看到每年,从各大高校不尽牛人滚滚来,我们是不得不要召人,同时又是不抱希望。我 公司现在有意以后将核心软件开发外包给印度公司,中国人?做做 界面吧,中国人做界 面会极尽奇技淫巧,搞得花里胡哨的。 BTW,我公司非外企,大家不要误会我们有什么种族歧视。但是我们现在就是对自己歧 视,自卑得很。中科院那么 多研究院,连个能用的操作系统都搞不定。北大开发一些东 西,比如什么青鸟CASE,就 是给一帮人评职称的。杨芙清院士整天搞来搞去,搞出了什 么东西?B大,T大的人最难 管理,牛得看不见人。 中国的程序员骂微软,追Linux是全世界最恨得,可是我们除了 汉化Linux,做了什么东 西出来。CDE是瑞典人写的,Linus是芬兰的,GNome是墨西哥人写的。哎,我们曾经是 多么的瞧不起印度人。
印度软件水平和中国的程序员相关推荐
- 【译】数据显示:中国的程序员是世界上最牛的程序员?
2019独角兽企业重金招聘Python工程师标准>>> 写在前面:一直觉得中国的程序员想法多,肯钻研肯学习,但却不知道原来中国的程序员是世界上最牛的程序员.说来可能不信,但根据Hac ...
- 转载: 中国大部分程序员的通病
中国大部分程序员的通病 出处 http://www.copathway.com/itbookreview/view_paper.asp?paper_id=240 中国的大部分程 ...
- 为什么中国的程序员技术偏低
为什么80%的码农都做不了架构师?>>> 首先来说一个高级程序员并非靠自己读几本书写几万行代码就能练就的,我更关注于低层的环境,也就是程序员实实在在的工作环境.因为程序员的高低 ...
- [评论]为什么中国的程序员技术偏低
导读:中国的软件公司的性质直接导致程序员的水平的高低.本文所说的软件公司,不是指某个或者某几个,而是指主流的软件公司,大众型的软件公司.所以希望那些已经步入一个理想的公司的程序员理解我这篇文章的定位. ...
- [其它] - 为什么中国的程序员技术偏低
来源:http://www.cnbeta.com/articles/155374.htm 作者:飘飘渺渺 首先来说一个高级程序员并非靠自己读几本书写几万行代码就能练就的,我更关注于低层的环境,也就是程 ...
- 中国的程序员为何经常被叫做码农?
实际上IT行业在中国并不是特别差的行业,而程序员的工资也并不低,但为什么中国的程序员总被称作码农或者说是苦逼的程序员?中国的程序员生活和欧美的有什么不一样? 编程活动和机械电子一样可以视为一种工艺(c ...
- (转)“中国第一程序员” 求伯君的传奇经历
http://www.williamlong.info/archives/4906.html 他被称为"中国第一程序员",25岁就凭一己之力击溃"英美联军" 为 ...
- “中国第一程序员” 求伯君的传奇经历
"中国第一程序员" 求伯君的传奇经历 研发 他被称为"中国第一程序员",25岁就凭一己之力击溃"英美联军" 为何却在最巅峰的时候激流勇退?2 ...
- 为什么中国的程序员总被称为码农
摘要:之前,研发频道曾发过<东方程序员怎么看西方程序员>和<西方同行眼中的东方程序员>这两篇文章.来自世界各地的程序员们各抒己见.或许,从上面两篇文章中也多少能得出" ...
最新文章
- QT的QMediaPlayer类的使用
- @TableLogic注解表示逻辑删除
- 【elasticsearch】 elasticsearch document 路由 (routing) 到shard
- cesium 知乎_Cesium 源码笔记[2] CesiumWidget模块的实例化过程 ver1.67
- HttpClient 模拟登录网易微博
- 仅需10道题轻松掌握Python文件处理 | Python技能树征题
- paip.不同目录结构哈的文件批量比较
- catia设计树_在CATIA目录树上**零件号原来这么简单!
- 用BeautifulSoup爬取豆瓣妹子的图片
- 房地产主数据管理全周期实践[转]
- 朴素贝叶斯应用-垃圾邮件过滤
- 首期工业科技生态创新论坛举办,上海控安与微软苏州人工智能产业创新中心签署战略合作协议
- 三年测试经验, 字节跳动离职后, 一口气拿到 15 家公司 Offer
- 使用 crictl 对 Kubernetes 节点进行调试
- BZOJ4134 : ljw和lzr的hack比赛
- C语言编程>第六周 ⑥ 输入一串字符,统计大大写字母的个数,并强调统计必须用函数。
- excel表格内容合并的技巧?
- ajax thinkphp配合ajax的简单列子
- 更改java和javac的默认输出语言为英文
- 数值分析(1)-什么是数值分析
热门文章
- shell之for循环的3个简单脚本
- .Net/C# 实现真正的只读的 Hashtable 类型的属性 (ReadOnly Hashtable Property)
- python xlrd导入后怎么保存_Python xlrd模块导入过程及常用操作
- 《Android Design》 4.4 中文版
- Java学习系列(十)Java面向对象之I/O流(上)
- JAVA程序员基本功:开发实现类隐藏及应用
- LOJ 2339 「WC2018」通道——边分治+虚树
- Python里面几种排序算法的比较,sorted的底层实现,虽然我们知道sorted的实现方式,但是...
- 《计算复杂性:现代方法》——第0章 记 号 约 定 0.1 对象的字符串表示
- 用nodejs做一个svn密码修改页面