作者iapptt ([i-a-p-p-t-t])
看板Soft_Job
标题[心得] 台湾软体工作者面对ECFA的带来的新挑战
时间Sun May 16 22:30:42 2010
台湾软体工作者面对ECFA的带来的新挑战
一、从软体架构(framework)谈起
刚开始写软体的时候,会有一段时间是在跟程式语法与程式库用法奋斗之间渡过,逐渐地熟
悉之後,慢慢发现不同的软体在某些地方是很像的,例如,有连网的程式,就会有网路断线
的例外处理,在那些程序中固定就是写纪录、警告使用者等工作,就像我们会把重复呼叫的
程式码,写成单独呼叫函式(function)那般,这「一大块固定的程序」可以构成单独的模组
,只要稍加变化就可以重复使用,於是我们逐渐了解了在特定用途的应用系统上,模组与架
构(framework)存在的基础与意义。
譬如建立Web-based的应用程式,可以引用RoR, Django等架构,那些架构都有套版系统,能
够产生风格一致又具有变化弹性的网页。光是开发Web-based的应用程式,可能有超过一千
种,着重点不同或者适用於某一特定的用途的架构。有的强调与资料库整合,有的强调後台
程式语言与前台的整合,像是台湾公司获得美国数千万美金创投投资的ZK,特色是直接用
Java开发Ajax程式,工程师不必管Javascript在每个作业系统、浏览器与版本上的差异,因
为那些繁琐的问题,ZK会处理,而且会因应环境的变化而更新版本。其他像是用於开发游戏
的架构,数量也非常庞大。
二、「对的架构带你上天堂,不对的架构带你住套房」
想入软体工程师这一行的人,常常问「到底该学哪一种语言比较好」,这问题应该倒过来回
答,要看你想要开发那一类应用系统,在那个领域有什麽架构可套用,那个架构用什麽程式
语言,你就得学那种程式语言。反倒是「要用哪一个架构」这个问题比较难回答。套用架构
会让专案进行突飞猛进,譬如有的架构说它10行程式就可以产生一个web-based应用程式,
但架构是否合适,需要时间来证明,对的架构越用越顺手,不对的架构会越来越感觉到绑手
绑脚。你在自家大楼顶发现10公尺之外隔壁栋屋顶有一千块美金钞票一张,但你就是检不到
,因为中间隔着20层楼深的壕沟,除非你下到一楼重新爬上隔壁栋的屋顶。正妹的玉手就在
20公分之外,但你就是碰不到,因为中间隔着一到OA隔板,而且她是老板的独生女。所以,
这世界上的东西,就算是物理上彷佛垂手可得,也不能认为看得到的就能得到。有些公司的
总经理常常不明白「为什麽明明很简单的功能,RD就是办不到」,觉得自己被工程师刁难,
其实背後的原因很可能就是因为当初求快选用的架构不适合後来需要的缘故。如果要换架构
几乎就是全部重来过,这跟杀自己的儿子一样痛苦,虽然我们领了薪水,但那些程式码毕竟
也都是自己的心血与青春换来的。况且老板不见得会支持这种重新来过的提议,他甚至可能
比较倾向「换个人重新来过」这种选择,他会质疑地说「之前不是说要预留OOXX的弹性吗」
,於是软体工程师只好见招拆招,挖东墙补西墙,就像人家说的:新三年旧三年缝缝补补又
三年,反正补不下去了的时候走人就是了,结不了的案,尾款不收就是了。换到一个新公司
,如果是接手前人的架构,你敢换吗,你能换吗?於是又开始了新的补破网工程。「对的架
构带你上天堂,不对的架构带你住套房」这句话一点也不为过。
三、架构的特性是专门性与流通性
虽然架构千百种,有些特性是相同的。第一就是「专门性」,也就是架构是由数个特定功能
角色的模组或次架构构成的,套用架构的过程,就是拆解与重组的过程,那些重复的、常出
错的、难维护的、昂贵的功能,会被归类为冗余的功能,取而代之的是精简的、稳定的、便
宜的、容易使用的功能。简单的讲,就是分工架构的重组,与重新界定模组的角色与责任。
第二就是「流通性」,也就是模组之间透过制定标准与介面达到资料互通的目的。资料在应
用系统里就跟水在容器里面一样,如果用管子把两个容器接起来,这两个容器里面的水位就
会一样高,这叫做「连通管原理」,是我们国中都学过的。介面、标准或者叫做API是软体
架构里面非常重要的成份,组成架构的每一个模组透过介面之後就能彼此互通。专门性与流
通性是架构必然拥有的特性。
四、经济架构也有专门性与流通性
不知道各位有没有想过一个问题,大学毕业刚入行的工程师,在台湾一个月22K(15年前是
28K),在中国8K,在美国却能有100K(以上都是大约数)。显然不是因为美国人比台湾人
聪明,而台湾人又比中国人聪明的缘故。其实那是因为美国、中国、台湾是不同经济体的缘
故。经济体好比一个应用系统,这个应用系统(system)必也是根据架构(framework)在运作
着,如果把整个地球看成一个更大的系统,国家之间的海关好比是介面一样,负责每个经济
体之间的交流。海关从事的关税、检疫等工作,跟API限制参数数量与型态的功能非常类似
。用不同的尺度来看一个系统,我们就会看到不同尺度运作着的架构。从地球的生态系,到
电脑主机板上的南北桥与CPU,虽然着眼的尺度不同都遵守架构运作着,软体系统如此,经
济体系也是一样。在同一个经济架构内,也存在着功能分工与流通性,例如,嘉南平原的稻
米、高山的水果、彰化社头的织袜,新竹的科学园区,我种稻子给你吃,你织袜子给我穿,
这就是经济体系的专业分工。古人说「一日之所需,百工斯为备」,科技发展到今天,一日
之所需,可能是百万人斯为备。菜市场的水果摊,如果今天屏东的西瓜没货,也有花莲的西
瓜可以卖。公司里面的同事有恒春来的,有马祖来的,也有台北长大的,这就是同一个经济
架构内生产要素的流通性。
五、ECFA是新的经济架构
ECFA,当中的F,就是Framework,也就是架构。虽然我们无从得知里面的内容,但望文生义
就可以判断,当两个架构连结起来,构成一个新的架构时,必然是一个剧烈的变动,跟我们
软体上改换架构所会发生的状况是一样的。因为架构的专门性,分工会重组,角色轻重会有
所调整。我们套用新软体架构时,新模组会带来新的效应,但必然也有些模组会被舍弃而失
去角色。因为损益是相对的,有失有得是必然的,如果有早收清单,必定也有早损清单,其
实是损是益早就决定了,只是时间问题。而换新的架构的动机必定是因为新架构更具备经济
效益才对,否则何必用新的架构。所以套用新架构时,冗余的部份会被割舍抛弃,这是一定
会发生的。架构的通透性,造成的效应就是均化,这是明显的连通管原理,只要是同一架构
必然拥有的特性。经济体就是供给与需求之间的关系所构成,供给多了,价格自然下跌,至
少不会再上涨。
我们在资讯界人人都能朗朗上口的就是”Cost-Down”,你家业务创造更多业绩的方式是建
议老板替RD加薪鼓励他们开发更棒的功能,还是直接把价格砍得跟别人一样低?两者都有吧
。提昇竞争力的方法有降低价格与提高功能两种,所以要比便宜更便宜,比大碗更大碗。在
商品与服务市场上,贵宝号是卖方,在人力市场上呢,卖方就是你,贵宝号是买方。零件与
人资都是生产成本,用钱采购的生产要素(资源)。在同一个经济经济架构里面商品必然是
流通而趋近於一致均匀化的,如果你跟浑身香气喷人的正妹同在一个电梯内的时候放屁,电
梯内每一个角落不会只有香气而没有屁味,这就是均化效应。在同一个架构之内,当ECFA这
条水管接通,浪潮席卷而来时,水会往低处流,(中国)人会往(薪资)高处爬,这是避免
不了的趋势。你要保有自己在人力市场上的竞争力,要让自己更大碗,也要更便宜。
十几年来网路的成长已经让这种流通性大增,早就已经有不计其数的台湾软体在中国开发,
更何况云端服务时代来临後,「服务」是人资成本越低越能占优势的无形商品。你有没有想
过,虽然有网路,你的业主跟老板为什麽仍然愿意购买你的软体劳动力呢?那是因为你在台
湾容易找得到人沟通,用密集沟通的方式,帮助雇主厘清他自己还没搞清楚的需求。如果这
种情势改变,比人家贵又不见得比人家好到哪里去的台湾软体工程师,请问谁会理你?资讯
业的进步很快,累积好几年的功力过一两年就落伍,必须不断学习。不论这在世界的哪个角
落,所有软体工程师都在相同的起跑点上。如果研发的薪水相差3倍,在功力相差不多的情
况下,找1个贵但不一定成功的团队,不如找3个便宜的团队,用一样的成本,成功机率提昇
3倍,如果老板不会打这种算盘,这种老板大概也撑不了多久。然而,如果你的薪资比别人
贵3倍,请问你1天能够有72小时吗?
六、ECFA一定会来
不论你赞成还是反对,ECFA是必然会来的,台湾现状在短期内就会改变。这个趋势在台湾人
民选出马英九的那一天晚上就已经决定,就算公投成案,投出反对的结果也改变不了这个事
实。政府执政当局只要换个名称就避开公投的结果了,反正ECFA也不是它本来的名字。我们
在「苏花高」变「苏花替」、跟「淡水河沿河快速道路」变成「『北侧沿河平面道路』的『
永久性临时替代道路』」上都看到相同的手法。政府人员作这种文字游戏的时候还有薪水可
以领,百姓搞反对要向公司请事假扣薪,谁能撑的比较久,谁能坚持到最後,答案很明显。
有人说要号招人民上街头。实况是,颜色正确的社会名人一个就够力,然而颜色不对就算是
百万人上街头也没用,国民党只要把你打成民进党的同路人,说有民进党在背後操弄,那些
反对的声音就从人间蒸发了。国民党是用赞成或是反对ECFA而来判断你的颜色,在死刑与环
保议题上或许会有些异议空间,然而在ECFA上这种跟中国相关的议题上,只要稍有异议,国
民党就把视你如寇雠。别奢望白冰冰会质疑ECFA,张晓风更不会为ECFA的问题下跪,对於人
民的疑问,国民党的回应是发明新的口号,以及作更多的政治表演。从不开放中国学生,不
承认中国学历,不能考证照,到既开放也承认,甚至还能就任公职,不过短短几个月。把中
国医院纳入健保体系看来也是迟早的事。中国劳工来台有各种方式,或者读书後继续留在这
里,或者透过结婚、依亲、访问学者、博士後研究等等各种人道因素。所以你在台北的办公
室有来自高雄的同事跟也来自中国的同事,这种场景只是时间问题,而那个同事可能只是负
责跟设立在中国的研发单位的窗口。政府单位表面上这样说,实质上那样作的情况已经不是
新闻。先用各种名义与各种方式悄悄进行着,等到木已成舟再就地合法,也是他们常用的方
式。
军事上,从1949以来蒋氏父子跟美国建立的同盟联防关系已经开始被「Never说」切断。司
法上,虽然检察官用龟速办理一般人民的案件逼得台湾母亲走上绝路。中国人屡屡来台犯案
,检察官却不敢起诉,反而是中国人跌倒时展现惊人的办案效率。警察机关的状况也不皇多
让,当台湾人被诈骗的案件层出不穷尚未根绝的时候,说出以「中华人民共和国为上级机关
」的波丽士大人却努力查缉以中国人为对象的诈骗集团,接连破了好几个案子。从各种迹象
来看,2010年的台湾就像1997前夕的香港一样,只是没说破而已。也许有人说,再2年後如
果换人当总统就ok了。这种想法是不切实际的,就像软体架构一样,一旦架构确定之後,後
续的路就决定了,不会因为换工程师或换主管而改变,谁来当主管都一样,除非重新来过。
而经济架构除非是革命或因战争被彻底歼灭,否则是不可能重来的。当一切操之在别人的时
候,就算2012年换了总统又能怎样,天下大势底定,别人只要再稍微操作一番,2016就又翻
盘了。如果经济不能自主,主权丧失指日可待,而主权就跟皇后的贞操一样,一旦失去就不
会再回来。如果你认为政治可以归政治,经济可以归经济,那就上当了。因为「共产」是经
济制度,而「共产主义」却是一种政治思想,可见政治跟经济是一体两面。至少当你跟共产
党打交道的时候,人家是那麽在想的。
七、面对新的挑战
既然事情一定会发生,只好面对它。就像是如果一个人的阿爸决定变卖家产签赌六合彩的话
,如果他无能阻止他阿爸,必须务实地为自己寻找出路。
第一要调整自我的心态,接受薪水
或报酬必须向下调整的事实,这样会让自己心里舒坦些,不至於整天心烦意闷。
第二,不要
亲易创业。如果你认为廉价劳工的时代最合适当老板,那是一个误解。让我们用国小程度的
数学算一下:假设你有100块,大老板有1000块,在人力成本10块时,你能雇用10人,大老
板能雇用100人,此时人力差距是90人。如果人力成本下降到1块,你能雇用100人,大老板
能雇用1000人,此时差距是900人。所以人力越便宜,对大老板越有利。成本越低的情况下
,资本越集中越有利。
第三,要让自己的第二外国语文能力更好。用点逻辑能力自己推敲一
下,如果一个军队连自己的首都都沦陷,怎麽可能占领敌营的阵地,同样的,如果连自己家
市场都失守,怎麽可能去吃得到中国这个市场?如果中国市场那麽好,中国的软体工程师又
怎麽会赶着涌进台湾来?加强你的外语能力,尤其是英文能力,其次就看你自己的兴趣。英
文不仅要能达到听、说、读,甚至还要到写的程度。如果你认为全世界都在学中文,以後中
文会取代英文,那我只能说我真是被你打败,不过你能读到这里,大概就不会是会相信那种
鬼话的人。台湾软体工程师未来的市场一定不在中国而在全世界,尤其是网路这个新世界。
第四,要关心比较全球性的问题。我刻意不用「国际性」这个词汇,因为这个词汇过於歧义
。我的意思是指像是”Java与Ajax”这种大家都会遇到的普遍性问题,因为这类型的问题有
更广泛的市场。我要推崇的典范其实就是ZK的道路,他们英文好又能即时掌握到对的问题,
所以能把自己的产品推向全球,成为台湾之光。
第五,要乐於分享与合作。台湾社会里面除
了庙会之外,集体合作的机会不多,而升学竞争的成长环境更养成我们独善其身的倾向,我
们喜欢成群结党搞小圈圈,却不善於群策群力,这是我们要努力去克服的缺点。说到这我又
想起一个值得推崇与鼓励的范例,活跃於flash板的cjcat2266,他做了不少具有普遍性的
library,有很棒的英文网页,而且乐於与网友分享,很值得我们学习。
这篇发文很长,我对pcman介面操作还不太顺手,希望layout正常。谢谢你读到最後。
我的见解与对策不必然适合你,也不强求你赞同,但如果能带给你启发,
就算是你骂我跟民进党一样在「恐吓你」我也无所谓。
因为软体工程师如果再宅下去,恐怕连宅没有了。
祝福你,大家加油!
我是一个会在PTT出没的软体长工,一个年届中年的市井小民。如果你是那种在海边看到海
啸来了会呼叫示警的人,欢迎你转达给在台湾从事软体工作的亲友。在保留原文的前题下
不必考虑版权问题。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.80.10
1F:→ rofellosx:我怎麽看不出来内容跟ECFA有啥关系? 05/16 23:25
2F:推 bobhsiao:中间还有提到政治~有趣 05/16 23:29
3F:→ hik0301:没有2真痛苦 05/17 00:29
4F:→ nowar100:我没被启发到,只感觉到怎麽好像话中有话... 05/17 01:46
5F:→ Balduran:看谋啦 05/18 01:10
6F:→ rofellosx:简单说就是洗脑文 内容大意就是支持ECFA就对了.. 05/18 08:25
7F:推 staycation:推cjcat2266...前途无量的高材生!! 05/19 12:46
8F:推 leicheong:7.2不同意. 100人写的软体是会比10个人写的强, 但1000人 05/20 13:47
9F:→ leicheong:写的软体真的比100人写的会差很多吗? 在large scale dev 05/20 13:49
10F:→ leicheong:的情况下, 比的是领军的人的规划能力吧... 05/20 13:49
11F:推 greencha:不如先担心 IFRS 05/23 21:41