原文出处:
新技术能解决多少问题?
前些天与一家大公司接触上了,
幸好是对方主管直接看到我的履历,所以大家都是内行人,电话面谈后,就约见面(面试)了如果是透过人力顾问(猎人头)大概又要折腾一两周,然后到了现场,发觉两方面都有落差,都失望了
其实最大的原因,就在于公司的 .NET开发,跨足了多个版本
从他们的谈话里面,我发觉他们很敢「尝鲜」。
所以在极为有限的人力下,公司内部的系统有 ASP/ .NET 1.x / 2.0~至今。实属难得。我会这样区分,是因为这些版本简单的拆开,就是三大套。
他们对于 MVC、Linq、Entity颇有兴趣,问了一些问题。
但我偏偏持反对意见。其间,双方意见不同。到最后他们都迟疑「你有心要换工作吗?」「你很排斥新事物、新技术吗?」
我的看法如下(个人浅见):
作案子,不分内包、或是外包,不分外部客户或是内部使用者。
有三个原则要紧紧把握: (1).尽量符合(满足)客户的需求。除非客户指定要用哪种技术,不然的话,我相信我们Coding的团队可以给很多建议的。
(2). 自己的技术成熟度(与掌握能力)。能作得顺手、作得完,日后也能改。或是以后有人离开,我们也可以找得到人来接手。
(3).把握开发时程。除非客户愿意等,不然在合理的时间内,我会优先考虑我们能力所及的技术来作。
(相信大家都知道,客户通常都很心急。要求下周一立即上线。对吧?)
如果是一个小团队,客户的需求不少,
您要逼这些同仁去学新技术?还是先把目前的需求给收敛起来?当这群人一直被困住、被修修改改的小需求包围时,而且常常加班?
这时候应该谈新技术的引入?还是新人力的扩编呢?
引进新技术,到大家都熟练之后,需要多少时间?
这段时间内,如果原本的旧系统有一些更改需求该怎么处理?
新技术是不是能解决目前的问题?还是造成更多风险?(我觉得这点最重要)
把所有系统转成 ASP.NETMVC / Entity 或是其它新技术之后,是不是上面的问题都能解?
OK,如果能解,那么公司给我们多少资源来转成MVC?
多少人力(有新人加入吗)?多少时间全力进行这件事?除了上面的考虑之外,这种新技术的人才,是否容易取得?容易替换?
举例来说,所有系统都要改成 Linq / Entity,就算内部同仁完成之后, 后续的新人有没有能力跟得上?或是这样的新人好不好找齐?很多问题都有隐藏的风险,
光是引进新技术,改写旧系统,要花的时间都不容易预先「空」下来。那么,我们谈新技术,谈得风风火火,用意在哪里?前一阵子五都大选,有人提出社会住宅的议题,
有些没脑的政客看到人家有这样的政见(傻呼呼地学起来、拿香跟着拜)最后被媒体揭发「明年度根本没有这笔预算 来盖社会住宅」,你还敢跟着人家大谈社会住宅的议题?对啊!没人、没时间的情况下,
有没有MVC、什么新技术.......都解不了眼下的问题。
=====================================================
其实我手边的案子,也是一样的困境(我相信很多人都遇见类似的问题)
我不敢说一次就能解决。
因为人力、时间这些资源都有限,我们只能慢慢来。老旧的ASP系统,随着OS、DB升级,有些功能不能用啦。有些组件不能安装啦。
怎么办?那只好改写啊。除此之外,一些常用的报表、多人共享(常用)的程序、最耗费资源与时间的SQL指令。
这些都可以透过监视,把他们列出来。能优先修正、改善这些问题,虽然是用老技术,但不见得没有效果。
我们新的系统,当然都是采用 ASP.NET(运气很好,我们从 2.0版以后加入,少了 1.x的困扰)
旧的系统,部分改成 ASP.NET(有时间的话就作)。SQL 2000的 DTS,全部改成 SQL 2005/2008的SSIS了。这些也都是成绩啊。
难道不引入 MVC、Linq、Entity就不是新技术吗?就不是改善吗? 如果有一批新人进来,有一年半载的时间可用,我也愿意让他们这个团队好好练功,引入新技术。或是把哪些旧系统全面改写。(但有哪个老板这么大方?资源无上限?)
但如果根本没有「额外的资源」,我们是不是谈得太远?
这些问题,说穿了,没有标准答案。
就是我们团队、跟客户怎么协调沟通。
一旦大家都能接受、找出最大公因子,我们就全力以赴。新旧技术之间,该用?不用?
用多?用少?都要大家一起协调。我想说的是:新技术,纵然威力可比倚天剑、屠龙刀
但我们自己能力如果不够,驾驭不了他们。
不但无法「事半功倍」,甚至会砍伤自己。
这些问题,可能永远谈不完。
但如果没有额外的资源(事实上,每个项目都在抢资源)
我会先把手边的事好好处理完成。
资源有限的情况下,每个人作法都不同。
但大家集思广益,总会沟通出一个「大伙都能接受」的结论。
.....................以上都是我的胡言乱语,大家看看就好。
或许您也有更好的方法可以解决..............................