论坛首页 海阔天空论坛

预成大器,远离对日外包

浏览 3208 次
精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2016-12-07  
我的这篇文章每一个字都是三年血泪的精华,希望不要落下任何一个字!

程序员,是一份职业。真正的名字应该叫软件工程师,是真正的技术职业。
    程序员,是一个行业的定位,她包含在了“软件工程”这个大行业之中。
    软件工程这个行业分两大类,技术与业务。
    技术分三等,“程序员”→“软件设计师”→“软件架构师”。其实这里没有把软件测试工程师算里面,在国外软件测试工程师非常的吃香,薪水拿的很高,但是在国内暂时算排在程序员之后。业务在这里就不多说明了,主要就是做项目经理以及产品经理了。
    作为一个程序员,你的职责就是考虑软件模块的具体如何实现,以及程序小部分的设计。
    作为一个设计师,你的职责就是参与项目需求分析,进行系统框架和核心模块的详细设计,并且开发相应的软件模块。
    作为一个架构师,你的职责就是将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。
其实说了这么多,软件工程的最终根本就是两个字:“创造”!!!!
这才是软件工程的根本,软件工程的最终教义,软件行业中你的创造力的高低才是你拿薪资水平高低的最终衡量标准。
脱离了这三个字,其实就说明,你做的根本就不是真正的软件行业,或者只是软件行业的流水线工人或者是,高一点,流水线工人的头。
“对日软件外包”就是一个软件流水线式的行业!
好了,现在我可以说说“对日软件外包”了......
第一个,引用下百度百科中“对日软件外包”这个词的解释的截取:
将组织的非核心业务委托给外部的专业公司去利用发展中国家的廉价劳动力去制造软件。国内的日本项目多数都是技术含量很低,很多项目都是日方事先将各种框架写好,将底层最基本的编码工作外包过来,甚至写代码的时候都有框架和模板,这一点有别于欧美外包企业,不鼓励创新,只需要按照实现定义好的标准,框架,做简单的编码即可。但是从长远发展来看,中国的人力成本将会不断提升,自然会压缩外包项目的生存空间。
第二个,引用CSDN论坛上的帖子:地址“http://bbs.csdn.net/topics/60289357”
问:“做对日软件外包的公司怎么样,有没有前途?”,答:”你喜欢研究技术不?喜欢就不要去“,答:”如果在外包公司你能有出息,我就把名字倒过来写!“,答:”看看那些搞外包的项目经理,他们之所以能坐上这个位置,是靠外语,不是技术“
做对日软件
引用百度贴吧”http://tieba.baidu.com/p/2755318337“
问:”是不是里面日语重要性远大于技术?能学到技术吗?“,答:”几乎学不到技术,而且如果公司小,做项目的语言可能你都没接触过的。“
OK了,第三,我来说说我这三年来的具体感受!
    先吐槽下现在的一部分大学和培训机构,有些大学和培训机构,在开设培训软件工程课程的时候,比如JAVA,C#等,直接会给你配上日语这门课程,这下直接就把学员和学生导向了对日软件开发的廉价劳动力陷阱中!
再来就是说下日常工作内容了:
项目接受(高层和项目经理先去日本看客户,把客户手中的资料和业务了解透),然后把项目业务下发给下面的所谓的高级软件工程师。
项目启动开会,由项目经理或高级软件工程师组织大家开会,粗略的讲下项目内容,项目规章制度,项目所用的开发工具,测试方面的事。日本人也会专程从日本过来,给大家讲解,当然是用日语,即使你不懂日语,你也要一直听,会议时间有长有短,长的话大概整个一天或者持续两到三天。
项目工作安排,项目内容讲解的差不多了,项目经理就开始排日程表了,一般是以组为单位,根据项目大小每个组安排大概10个左右或者更少的人,每一个组有一个组长,叫”Team Leader“。组长是所谓的高级软件工程师。日程表安排完,组长也许会跟组员再讲解下具体业务。
项目正式开始,按照日程表的职责分配,一般会有如下工作:
基本设计:根据日本已有文档,按照日本客户规则进行文档整合(OK,重点来了,美其名曰是设计,其实真正的设计早就在日本做好了,已有文档就是日方做好的,你做的所谓基本设计,其实就是对日本设计的A,B,C,D,E......等等文档的整合罢了)
详细设计:根据上面的基本设计以及日本已有文档,细化成详细设计说明书
编码:大概只占据了整个项目的10%-15%左右时间或者更少根据详细设计说明书的伪代码,进行编码翻译(OK,重点来了:很多时候详细设计说明书是日方来写,而且设计书里几乎都是伪代码了,你只需要照着翻译成真正的JAVA代码就OK了,根本不需要考虑如何实现,更没有真正的设计)
单元测试:最坑爹的来了,大概占据了整个项目的60%-70%时间,而且日本项目周期长,长的一年多,短的也得有半年,这个时间乘以70%,你算算测试你需要多久。你所作的测试包括三种工作:第一个工作是写”测试票“,我们叫”PCL“,按照日方给的例子写,具体的样子就跟围棋棋牌一样,测试条件和确认结果,比如测试条件上写”按A按钮的场合“,确认结果写”弹出B框“,对应的条件和结果要画上圈,所以可想而知如果测试条件有很多,那你的整个测试票上就画满了圈,而且因为数量繁多,你很有可能画错。第二个工作就是按照测试票来进行测试,你得眼睛盯着测试条件的圈和确认结果的圈,双方的对应关系没对应好,那就白测了。测试需要截图,你按照测试票上的每一步操作,都要截图放在EXCEL里,测试时候需要的数据,都要自己去造,即使你对这个模块一无所知,你也要自己造。截图的时候还需要画红框,截图都完成以后,需要review也就是所谓的测试检查,看看你的截图符不符合测试票的内容,规范不规范,没有一个确定的标准,几乎完全按照检查者的喜好,比如红框太粗,图片对齐方式,空格有无,字体大小等等这些细节。而且同一张截图不同的检查者会检查出不同的错误,然后让你去重新运行程序,重新截图。
结合测试,同单元测试。
系统测试(集成测试),去日本在具体的业务环境下进行测试,上面”对日外包“的百度解释已经说了,外包是为了节省劳动力成本,你作为廉价劳动力到了日本,你应该可以想到,他们会如何的充分利用你这个劳动力吧?呵呵。这个也就相当于你的项目over了,如果你没有去日本做系统测试,那么就准备进入下一个项目吧。
很多时候,你不会是完整的接触一个项目的,很多时候是在测试中插入到项目组,他们会在你对项目业务以及实现方式一无所知的情况下,让你照着测试票去测试。所以结果,你懂的!不懂业务的可以向日方提QA问他们,然后他们会用日文解释给你听。
    一个项目这就算完事了,怎么样,从头到尾提到技术了吗?用的只有一个:日语。还有一个:文档!你的对日开发就是文档文档再文档。
进入了对日软件外包以后,总结下你的工作特点大概就是这样的(对日开发十宗罪):
经常强制加班或者半强制加班到晚上9点以后
70%左右时间在测试和截图
你的测试和截图被你的上司指责修改N遍,最后你发现也许只改变了几条线
如果你对日语不熟,你会抓心挠肝。而且永远得不到良好的晋升。
即使你有技术与能力,但是因为做的活都差不多,也显示不出你的技术。
底层高级设计永远都是日本人封装好的,你拿来就用。
升级项目非常多,用的都是COBOL,VB这样的语言。
也许你的上司还没有你的技术好,但是人家日语好,可以指着你的鼻子骂你。
对日外包就是为了节省成本而产生,如果不是为了节约劳动力成本,人家日本人自己做好不好,所以,可想而知你的薪水会是怎样。
所有的工作完全按照日方意思走,完全泯灭自身创新与创造能力,如果脱离对日开发,你会发现你一无是处,除了日语,你几乎什么都没有学到,或者只是学到了皮毛而已。
最后说下大家最关心的薪水问题:
    对日软件外包对于沈阳这种省会城市(个人经验),所有的数字都是税后,也就是去掉保险,拿到手的。其他城市会根据比例,比如北京3年对国内可以拿到15000.

总结:
如果你对日了,迎来的将是无尽的加班与测试。
如果你对日了,迎来的将是同等工作经验的最低工资(相比对欧美外包和对国内开发)
如果你对日了,迎来的将是对技术的一无所知,除了日语你几乎什么都学不到。
如果你对日了,将会像掉进沼泽泥潭里一样,如果你不自学技术,那你就很难转国内。
对日开发为也总结出来想要晋升的条件:
1.日语最起码要二级
2.做事细致细心
3.狂加班
4.和上司关系不错
5.技术懂就行,不要求深究
PS:你会发现很多谈对日开发的文章都绝口不提”技术”两个字,是因为对日根本需要技术。比如这条言论:王先生:各个方面要求很细,比如性能,代码的规范性,测试的密度。这也体现了日本人做事近乎变态的严谨性,就如同日本制造一样。
他说了要求很细,性能,规范性这些,但是他根本没有提其他的,更没有谈技术,更没有谈对日软件开发对软件行业个人发展的作用。
其他对日软件开发的感慨文章:
http://bbs.csdn.net/topics/390608583
http://bbs.csdn.net/topics/310118969
http://tieba.baidu.com/p/2755318337
http://blog.csdn.net/lubin100/article/details/8191461
http://www.iteye.com/problems/54316
http://tieba.baidu.com/p/2373115049
http://kang.iteye.com/blog/228525
OVER。
此篇文章仅为个人观点,不代表他人,希望尊重言论自由。谢谢!
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics