网友ROCKFORD经历:
当时小弟刚毕业,进入这个中型的,非IT公司的开发部门。有个大系统, 非常重要,成败将决定公司几年的运营。公司的大大门,都不是技术出身,认为这么重要的一个Project. 交给我们几个刚毕业的小伙,不是很靠谱。 所以决定外包。 找到了温哥华当地有名的IT公司 - T.
小弟当时看过这个系统的spec, 说实话,当时就没觉得是什么大不了的系统,无非就是一个稍微复杂一点的管理系统加一些工作流. 即没有3D 图形, 也没有即时通讯。 不过当时的确是年轻,没有经验,对自己的判断也不是很自信。 那一段时间经常有穿笔挺西装的TELUS"高层人士"来公司,最后说服我们公司的大大,这个系统非常庞大复杂,需要两年才能做好。
Project正式开始,T先派来一个analyst,在我们公司呆了个吧月。写了一份几十页的user requirement documentation (用户需求). 当时小弟非常好学,提出想看看这份文档。 于是team lead给我发了一份。 文档本身不错,不过从事过开发的人都知道,任何文档或者图表都难以100%描述业务的细节,这份文档也不例外。
更有趣的事,team lead给我发的文档里面,最后一页是T给我们公司的报价,清清楚楚写着程序员$150 per hour. 当时小弟心理那个复杂 - 有激动,有惊讶,有不平,更多的是对美好未来的无限憧憬。
长话短说,T拿着需求,兴冲冲的开始Project了。 当然有好几轮的project kick off meeting, project kick-off lunch也是必不可少的, 谁付钱我就不知道了。
一转眼一年半过去了,期间小弟和另外一个小年轻一直做另一个"小规模"的系统。抱着虚心学习的态度,给T的大牛发邮件,提出能不能帮忙看一下我们的架构会不会有问题。大牛回信说很忙,如果要看架构会影响进度,可能要另外charge,再说我们做的系统是他们大系统的一部分,日后他们反正是要重做的,不用看了,"it is throw-away code", 直到今天,哥都记得这句话。
期间小弟还去温哥华裆烫的T总部去过一次。 再说一句,当时真是年轻,是怀着到西方世界掌握IT核心技术的圣地朝拜的心情去的。看见谁都觉得是大牛。 记得碰到Project Manager, 见面就说,这个系统非常复杂,oh my God, it is BIG!!. 碰到印度架构师,在白板上跟我们讲SOA, Smart Client, Web services, 这些都会用在这些系统中。
2年期限快到了,开始听到消息说T无法完成系统。 T给的官方解释是,微软发布的Smart Client(又叫CAB)技术有bug。 造成我们过去花了很多时间修复他们的bug, 都怪微软。 你说我们公司能去找微软么? 可怜的微软也只能躺着也中枪。 反正又过了一年,这个耗费3年的,"庞大"的系统终于release给我们了。
一上线,这个系统就遭到了公司上下上百个用户的一致差评
- 速度比乌龟漫
- 经常性死机,崩溃
- 最要命的,很多用户需要的功能,这个系统都不提供,简单的说,没用。
这时候哥已经有了一定的经验, 不夸张的说,这个系统,从复杂度来说。 比一个一流大学的本科毕业设计强不了多少。从编码来说,代码质量极差,哥在本科的时候有一些编码强的同学大二写的代码绝对秒杀这些每小时rate 150美刀的 "Senior Software Developer".
公司向T抗议,要修bug, 要加功能, T说可以,拿钱来。
哥在这个公司的最后几个月,就是维护这个系统。you can imagine how frustrated this can be. 所以哥果断走了,走之前听到几件事:
- 整个系统耗费公司4年,共400万加币
- 公司打算向T打官司索赔
- T 的project manager 被炒了,之前他是个厨师,99年dot com bubble的时候趁着东风进入IT界。 没有任何IT学历。被炒后又进入一家大银行C继续做project manager
- T的架构师也被炒了,据说当初选择Smart Client是他的主意,后来Smart Client走入死胡同,他又否认Smart Client是他选择的。被炒后马上进入另一家本地家喻户晓的企业BH做架构师.
整个过程就是这样,写出来一个目的是回忆一下,另外一个是让大家知道。在温哥华,不要被所谓大公司,高职位,穿高级西装的"大尾巴狼"给吓着了,很大可能性,他就是比你会忽悠,掰胡而已
|