个人资料
归档
正文

我的程序轨迹(转)

(2004-10-24 05:44:51) 下一个

深圳、香港、新加坡 我的程序轨迹

20027月的深圳烈日炎炎。不觉已辞去工作近两个月,仍在天天奔忙着面试,寻找新的工作机会。我已经尝试了好几家公司,有小到只有一个三房一厅住宅改造成的软件公司,也有大到有几栋楼宇的大型IT国企。从繁华的罗湖商业区到IT企业林立的南山科技园再到美丽的蛇口,我都跑了,结果不 尽如意。我的开价是8k/月,有的公司去后即石沉大海,有的公司希望我能降降价,有的公司想让我合作作某某项目,我coding他们出工钱,相当于作短期外包,但coding量吓死人,工钱才6k/月, 还有一家风险投资的老板想要我作一个新媒体传销的技术方案。我其实蛮喜欢去面试,有挑战性,又能接触很多面试的人,借机了解各家公司的要求和情况。每天晚上我都和新婚的妻子一起在 网上搜罗公司,发送简历。随着时间推移,我开始感到生活的压力越来越大;我每天都在考虑我的资历、技术实力和今后的发展方向。

深圳

  从三级B证书开始

  在93年毕业后我选择回到家乡——内地一个美丽的小城市里工作。非常幸运,我进入本地的一个政府机关,按照老一辈的说法,捧上了铁饭碗甚至金饭碗。工资每月不足1K大洋,但经常有人请客吃山珍海味,而且还显得威风凛凛。我浑浑噩噩地过了7年,到最后仍是个小职员。我是学经济的,但偏好玩计算机,除了完成打字开票据作报表的一些琐碎工作,大部分时间就是不务正业去研究计算机的原理以至最后辞职时除了考了个从来没用过的非专业计算机三级B证书外一无所成。有时想想觉得很无奈,谁叫当年念大学时选错了专业。好歹现在兴趣和专业是一致了。兴趣和毅力才是发展之本。

  2000年底我满怀憧憬地来到这个让我向往已久的城市,IT的泡沫当时却已经沉到了水底。我终于在华强北找到了一家作安防产品的系统集成公司,同意试用期内最高工资4.5k/月接收。

  这家系统集成公司的面试很简单,只是问了一些Delphi编程的简单知识,面试的L经理大概觉得我和他合得来,就同意我的要求,让我进来了。进来后我才发现,这个公司的R&D部门只有我和他两个人,主要业务是作工程的,R&D是作后勤配合的。

  在这公司我的工作很简单,主要是用Delphi为引进的国外系统做点小的基于数据库的定制,这对我来说相当轻松。我的兴趣常在C++Windows平台技术,大多时候我都把一个Delphi小应用做得很花俏,看得L经理眼花瞭乱。

 与老板的首次暗战

  在2001年春节,公司中了一个投标项目,为某某大公司作门禁系统二期,其中的软件部分是关键。老板急得跳,因为不能再定制了,要基于该硬件协议开发一整套软件并且要提供与该公司的Oracle数据库应用程序的接口;L经理暗地里跟我说不要管,因为老板一直不加他的工资,这事情如果我们接了累死累活也是白累,还不如找外面人来做。

  于是老板找来一个台湾人做统领,还找来两个临时的打工仔做配合。台湾人带来一套好多年前他编的宝贝,扬言小case,会很快搞定新的Requirement,老板听了乐得嘴都合不拢。台湾人的价钱是每月三万,不给源码。L经理和我说,要是老板给3万我们,什么东西都会做出来还白送源码。

  台湾人一直不肯让我们看到源码,躲得远远的修改他的代码。直到第一次现场集成测试,一大堆问题浮出了水面,有通讯上的, 有数据库上的,事情变得很紧急很糟糕,我立即建议和老板一起开会讨论下一步的解决方案,在会上我从容的谈了我的看法,并提出了一些应急措施,我用VC来写ODBC数据库接口及通信部分的代码,台湾人要把源码公开出来让我们一起解决等等。最后我的意见被采纳,第一次集成测试pass。我第一次看到台湾人的宝贝源码,乱七八糟得可以,到处是补丁硬编码,非常难于维护。

  这次和台湾人的合作给我在2003年后在新加坡与香港人合作过程中的确有不少帮助。他们都和我一样,有着这或那的缺点,但都非常自信。

  到二月中旬,我的3个月试用期转眼已过去一个月了, 但工资还是保持不动,老板老是推托事多没空和我讨论。我便和L经理商量转正工资的事,这是非常好的时机,我已经在这个项目里取得了主动权,L经理,台湾人和两个临时打工仔都会听我的,而软件演示定在3月中旬。L经理和我很快站在了一个立场上:立即加工资加配笔记本电脑。老板很恼火,但也不得不当夜从香港带了两台笔记本回来,并且打电话给我,工资调到6k,转正补差明天就办。L经理也加了一千每月,乐不可支。第一次和老板交手,我们赢了。

  在我拿到的转正工资及一分钱不少的差额(1 - 2月转正)时,工程部一个河北的小女孩正在伤心的哭泣,她进这个公司近6个月了才转正,可三个月差额不再补给她,相当于变成了6个月的试用期。她干得很辛苦,经常通宵达旦做标书,可连正眼都没一个,无情的老板。

  第一个失败的项目

  虽然我得到了我想要的位置,而3月份的项目演示还是失败了。我一直没有意识到这仅仅只是要作一个演示系统,然而我却过份沉溺于技术细节以至于最后根本连最基本的东西没有做完调试好。演示时出了大量的问题,很令人沮丧的结果。L经理和我一样缺乏经验。我有点伤感但很快平衡了——我不比专业人员差。

  在随后的1年多,老板开始重视软件开发这一块,同意我和L经理的建议,我成为了这家公司的软件经理,L经理是硬件经理,由我招兵买马,一时我们的队伍达到8人之多。

  随着我对MFC/ATL的逐渐熟悉,我开始在队伍中推动使用VC加基于COM/DCOM/COM+的中间件与分布式技术,在工作分配上,我把接口用IDL写好,按照联系紧密程度进行划分;而L经理不熟悉这些东西,他就象他说的已经没有动力再学新的东西,一直没有技术上的进一步发展,他感到会被逐渐淡化出局的压力,我们之间不时出现争吵,距离越来越大。

  2001一年下来,我写了不下4万行的C++代码,但却始终离一个真正监控平台老板的想法很远。这只是国内一家很小的系统集成商,没有任何软件开发的经验和积累,我感觉到自已能力有限,有负老板重托,我再一次走到了发展的尽头。做软件不仅仅是写代码。我越来越想到一家真正的软件公司去学习新的东西。

由深圳到香港

  我从来没想过会去一个新加坡软件公司工作。当我20027月第一次来到这个公司面试时,在做完C++/VB/COM/IQ等一系列试题后,两个穿得整整齐齐的小伙子面试我:你的得分很高,多谢夸奖,你介意加班吗?我说不,相反我喜欢,你有什么缺点?我想了一下,哦,有,晚上加班后第二天会起不来。对不起,能问一下你们公司是哪的吗?新加坡的一家上市企业的下属软件公司。同意我的8K试用期工资吗?没问题。就这样我进来了。

  新加坡上市公司

  我初进这家公司的身份是开发人员,感觉很新鲜。首先项目都大得我从来没见过,动则上亿。其次所有的项目都是香港或国外的,所有的文档包括Email都是英文的,后来我才知道,虽然新加坡人会讲国语,但却斗大的中文认不到半罗筐。我的英文不好,但很快也习惯了。多亏中国的英语教育体系,学了十多年,虽然半句英文都难出口,象聋子哑巴,但开着金山词霸写英文俺还是能凑合凑合。另外一个现象,几乎所有的人都象是工作狂,每天到晚上20:00公司还是坐满了人。难道新加坡公司都这么敬业?

  这儿的阶层划分非常不明显,人和人之间的关系比较平和,所谓的Team Leader都和我一样要参与编码测试,所有人都是直呼其名,对老板或董事长也不例外。老板是个新加坡人,其实也是个打工仔,相当于新加坡外派到深圳的经理。他绝大部分时间和我们在一起,基本上只管项目进度和与新加坡或客户联络,有时也会参与需求分析,他对软件开发的了解显然比原来公司的老板要高出很多个数量级。但是他却很扣门儿,连一起和大家出去吃快餐也是AA制,每人10元不等,而他一个月差不多有3万新币,相当于15万人民币的收入,年底还有分红。不过说实话,我还喜欢这样的工作氛围。觉得象是在做事,求发展吧。

  闻所未闻的大项目

  试用期里我还呆在深圳,我最初参与的是两个基于J2EE的解决方案的演示项目,演示地点在香港,一个V项目,一个B项目。招标总金额都在几个亿以上。Demo项目周期刚好是3个月。开发的流程大体相同,每个项目差不多6个人,确定了总体框架后,把要交待的功能点列出来,分配到各个人手里,每隔几天集成一次,即所谓的Iterative development。每个iteration结束都会完成一部分功能。

  V项目中我只是参与了一个次要功能的定制,是一个基于Windows的中文字体制作和输入法的扩展的解决方案,我通过配合一个COM+服务器,在客户端用代码插入技术把一个Windows上的已有的一个桌面应用变成了一个分布式程序,解决得很漂亮,大部分的功能都不用写了。在做完V项目后项目组中3个人即去了新加坡。剩下三个包括我加上另外三个开发人员转入B项目的开发,由于V项目里我表现出色,B项目里我开始负责主要的应用服务器逻辑。

  B项目和印度第二大的软件公司合作,我们负责移动通信和调派部分,他们负责SAP的安装和定制。我们还要负责开发和他们的接口。

  我在这里首先学会的是如何快速开发一个Demo系统。在两个月内想作完一个价值数亿的项目是不可能的,没关系,把数据库当内存使用,只要你能正确快速地实现功能,我的Team Leader这样告诉我。在这个指导下,虽然我几乎没有用过Java,也在几个星期内完成了要求的Demo应用服务器逻辑层设计。效率低点,500毫秒吗?够了,远远满足Demo的需要了,千万不要钻到技术的牛角尖里,时时想着自已在为谁作,要作什么,记往我们卖的不是自已的技术而是用户需要的功能。这的确是非常非常重要,如果再要我回到2001年重作当时那个标,我肯定能拿下。

  我们在十月底到了香港做最后的与SAP的集成测试。印度公司出的是一帮10来个黑不溜秋的印度人,叽哩咕噜不知说的是什么英语,我基本一句听不懂。情况十分糟糕,接口存在大量的差异,我们给他们的XML他们居然不懂如何处理,他们一大帮人居然没一个会Coding!他们要求全部改成标准的文本文件来交换信息,但是又不知道如何控制多进程读写冲突,流程几乎无法进行下去,我简直无法相信这是SAP的水准。我们原来的工作必须要做很大的改变,我们必须去适应他们。这次的教训为我在两年后设计一个雷达系统的接口时积累了宝贵的经验。

  能压死人的压力

  刚进公司时,同事和我说,在香港工作压力很大,不是人过的日子,我还很难想象,直到这时才真正体味到。印度人在不断的报怨以显示他们Ready了很久,听着他们的嘟囔经常会有种要跳过去扁他们一顿的冲动。我们的处境非常糟糕,天天有一大帮经理们在耳边催,好了没好了没;催得人脑袋一片空白。幸亏有老板在,他白天组织与SAP的集成测试,开会和印度人讨论最后的接口,晚上参与我们的修改,负责逐一检查每个逻辑的正确性。在最后演示的那一个星期里大家平均每天睡不到3小时。星期五Demo日晚通宵旦,好歹pass过了,在调试完毕后,一早7点钟即到会场安排布置。演示开始时,我已经处于半梦半醒状态,坐着坐着头就会坠下,迷迷糊糊听着老板在谈笑风生向客户介绍我们的Demo系统,超人!

  B项目结束,我转正了,工资升到了10K。我的Team Leader对我的技术打了个很高的分,但对我参与的Leadership(领导精神)给分很低。我奇怪,我不是Leader为何要给我评Leadership? 老板告诉我,Leadership是说不要只表现你这一块,系统是个整体,任何一部分好不等于全都好;不是每个Leader都是神,每个人都要挑起leader的责任。这话我一直牢记在心。在1年后我带队做项目时,我也会要求每个人不仅只是关心他的部分,也要关心整个项目;项目是每个人的,不是项目经理或Team Leader一个人的;每个人都得负起这个责任来。这就是Leadership!

由香港到新加坡

  2003年初,当我第一次踏入新加坡时,感觉非常好,干净清爽的城市,人都那么彬彬有礼,巴士上一丁点不拥挤。我会在这里生活半年,太好了。

  但是项目的内容却不象我想象那样是全新的项目可任我发挥,那是一个已经完成并投入使用了的项目M,客户在香港。我过来的任务是熟悉别人做好的系统,在新加坡人的领导下做一次半年一期的维护工作,然后再将维护工作再带回深圳做。

  印度同事

  我被安排在一个大约30个平方的房间里,房间名字就是项目名字M。没有窗户,看上去更象个仓库。放了十来台电脑,都是三年前的古董,跑着NT4/Win98这样的操作系统,M项目的全部软件也装在上面。

  和我搭挡的新同事是一个叫宾杜的印度妇女,大约30出头,黑黑的,总穿着印度人的长外套,有时还会在脖上挂一条长长的围巾,我很少看到她。她在这个项目里已经3年了,主要作coding。她只和我同事了两个月不到便辞职而去,我后来也能体会到为什么她会辞职这个项目要么搞掂它,要么被耗死在里面,她不能作到第一点,也不甘心最后一点,只好走中间道路。她是这个项目里最后一个Developer(

[ 打印 ]
阅读 ()评论 (3)
评论
目前还没有任何评论
登录后才可评论.