【职业生涯总结】很想说“再见,.NET”

记得多年以前,自己少不更事,年少轻狂,把人生当做赛道,却偏偏喜欢障碍跑,为人生之路设置了诸多障碍,却又难以承受生活之重,一度十分颓废。

01年毕业时,华为大扩招,同系174人,五六十去华为,五六十去中兴,二三十保研,二三十考研,一二十出国,剩下仅只二三十散落在各家公司,而我,因为学位证问题,原先签约的公司故意刁难,一气之下没去报到,户口迁移证和派遣证都握在自己手里,孤独的走上了一条灰暗之路……

03年时,终于从艰难中正视自己,正视现实,出来找工作,踏入社会了。

第一份工作是在一家大公司的新部门中干的,当时GPRS远程监控刚刚兴起,公司成立了通讯事业部,组建了一帮子创业队伍来打拼。我在那负责上位机(工控系统中,习惯称PC、服务器等为上位机,而嵌入式前端系统为下位机)软件开发。招聘时,技术总监G君指着一套系统界面说,这样子的系统你一个人多久能做出来?3个月行吗?我说没问题。又问,1个月出Demo呢?我说没问题。于是就找部门负责人面谈,定下过来上班。

其实当时我对软件开发,所知甚少---曾经尝试用foxpro开发过一套进销存系统,曾经兼职讲过html页面开发,曾经Pascal考试85分,仅此而已,C/C++/Java/ASP/Delphi/VB等等几乎所有开发语言,通通没学过,数据结构等好几门专业课也是补考过关,仅仅最自豪的是操作系统一门课,当时考了七十多分,为全系前十名---说到这些,似乎我天生更像是个文科生,凡是马哲、毛选、民法等文科都成绩不错,还写过小说(后话),就是专业课,基本上很多都一塌糊涂。

还记得去上班的第一天,早上5:30赶到公司,天还黑蒙蒙的,一帮人集合上车,直奔徐州而去。当日大雾,高速上也只能慢悠悠的,给了许多时间去感受这上班的新奇感……

后来,我查阅资料,说服了领导采取ASP.NET开发,放弃已经风光不再的ASP。那时IDE是VS2003,呵呵,还记得第一次安装时,傻乎乎等待最后一步:系统更新,熬了一个通宵!

略微熟悉了ASP.NET之后,研究起了界面问题,考虑到这种为政府服务的项目,面子第一,所以在界面设计上下了不少功夫,考虑过纯Flash,学习过AS2.0,G君推荐过组态王,还去上海培训了3天,可惜,那时候组态王提供的二次开发接口功能太弱,做个报表要累死人的。

终于,在连番考察之后,觉得还是用html+css+js方式最合适。定下方案之后,一边学习一边开发,经常连续很多天,吃住都在办公室,饿了就叫外卖,实在困得不行了就趴着睡一会儿。到了项目上马前几天,领导天天来催问做的怎么样了,压力很大。当时我采取先做逻辑,后做界面的策略,所以,每次过来,领导看到丑陋的界面,都是一脸的不悦。幸亏G君护着,知道我十分尽力,很多晚上都在配合他做调试,领导总算忍到了最后都没发飙。

最后一晚通宵,疯狂的设置css,疯狂的搜索合适的图标,疯狂的拿FireWorks处理图片,疯狂的研究VML,终于完成了界面美化。次日一早,领导一看,个个眉开眼笑,G君说,真是一夜之间,天翻地覆啊!

那时候的想法,就是做到行业内同等规模企业中的最好,逻辑要好,界面更要好。记得还曾经为了排污水的标量应该是吨还是立方米和老顾问争执过半天,后来,项目上马没多久,环保总局下发文件中提到了此事,特别指出规范使用立方米而非吨。为此,那不愉快的争执反而成了我做事认真的资质。话说国内很多行业的习俗还真是搞笑,1立方的水习惯说1吨,那么,都是纯净水咯?呵呵,其实都是臭不可闻、藏污纳垢的工业污水。

好时光总是匆忙忙,之后,市场打开了,口碑树立了,市场部出门,到陌生地方人家都先倒茶了,再不用热脸贴人家冷屁股了,内部却分裂了……

一团乱战之中,我最终选择了支持总部而放弃G君,期间种种是非,如今想来,都十分可笑。不过无论如何,我对G君仍然心存感激,一起奋战在通宵第一线,一起分享联调成功的喜悦的那段日子,就如朋友一般,总是缘分。

不过自此,这个部门基本瘫痪了,上班就去跟同事玩天堂2,直到后来干脆就不去上班了,在家琢磨自己搞点什么。

某日,忽然接到总部电话,说签的协议到期了,过来填填表格,交接一下。去了一看,好家伙,最后三个月人都没去,工资一分没少。只是午餐补助因为人没来公司,所以取消了,原先的工资和奖金照发。不用说,再次感谢领导。也感慨国企就是财大气粗啊!

这一段两年多的时光,就是第一次和.NET结缘,并影响了我其后多年的路。

在家闲散着,忽然接到一个私单,为水厂做自动化控制配套的上位机软件。疯狂的开发之后,用户很满意,又给了一个网站的单子。可惜,后来源码丢失之后,我就再也没去联系他们了。真诚的说声Sorry,LL!

尝试了一次失败的手工艺品经营后,跑到一家ERP公司干了1个月的试用期。那是一个港资公司的分部,程序主体是ASP的。

一个月中,我每天上班完成任务后,基本上都是在google这个行业到底如何,积累了对国内ERP行业的丰富认识,遂决定放弃。

一个月中,领导为了我那未处理的户口迁移证和那不知踪影的档案,四处奔走,耐心寻访,终于在某派出所的档案室,找到了尘封已久的我那中国大陆人终身相随的命根子---档案,也帮我把户口挂上了公司的集体户口。这份恩情,实难言表,在此也就不多说什么了。

领导是一对老夫妻,人都特别和蔼,先生是我的校友,曾任职于发改委,夫人曾在高校任教,都已经退休了,他们子女当时都在美国,按说完全可以悠闲度日,享受清福……真是老骥伏枥,志在千里啊!

其后,试着在起点写小说,可惜,自制力不够强,一个人闷着在家很难控制自己的情绪,导致写作缓慢,码了十几万字,了解了网络写手这个圈子的潜规则后,颇感不屑,只好回头。

其后,跑到一家电力公司做了3个月的试用期。公司在国内也算颇有名气,国有改制后开始盈利,规模不小。项目经理Y工,人特别好,东北人,原先在电力局上班,四十多岁时舍身出来闯荡IT行业,颇有闯劲,如今在本城生了根,过得很安逸。

由于公司开发使用VC6.0,这三个月中,我基本上都在学习,奇怪的是如今回想起来,C++基本语法似乎没有好好学过,基本上都在学习MFC、COM、COM+、DCOM等。干的活就是为公司预研了Webservice到底是啥玩意,VC中如何使用,另外一个活,就是每天和Y工讨论他心中的一个想法如何设计。那想法叫模组管理,他自己也觉得概念十分模糊。

总之,为此,我特地跑到CSDN上发过贴,问过其中一些个别细节的设计问题,总之,我很认真的反复沟通,终于在1个月后,大概明白了他的意思,也大概明白了如何设计,涉及到树、图,或许还涉及到了堆,总之,那是一个从模糊到清晰,从笼统概念到设计的一次完美的内部用户需求调研经历,总之,那仅只是个我走后从未去实现的想法而已……

走的原因很好玩,我断定微软已经把重心移到了C#上面,C++是开源界、Xnix界的宠儿,跟着微软混,就去搞C#,想搞C++,就去开源社区混,我认为这是我离职的原因。而Y工却一直坚持认为我离职的原因,是由于我短短的就职时间中,先是在公司楼下丢了一辆旧自行车,其后买的新自行车也丢掉了,再其后,遭入室盗窃,丢了价值1万多的笔记本,是这一连串的倒霉事,让我觉得在公司干着很倒霉,所以冲动、非理性的要求离职了。

不管原因究竟如何---或许二者兼而有之,我对自己的判断基本上还比较满意,微软确实越来越宠幸C#了,VC是越来越没落了。

其后,到一家非常人性化的小公司干了1周的试用期。公司本身是做Oracle维护的,固定业务每年有几百万,想开展政府OA系统业务,于是组建了项目组来做这个事。

那一周,天天上班只需到公司楼下,迟些没关系,跟项目经理一起打的到某区国土局,做需求调研。那时是夏天,国土局9点上班,11点多下班,下午3:0上班,4:30以后基本上就找不到人了。真是让人羡慕啊!

离职的原因很简单,因为有另外一家公司招我过去,是做自动化监控行业的,跟我以前的经验相符,也是搞GPRS监控,区别只在于搞路灯,我以前搞环保而已。

去后,第一次有幸阅读到代码到底能有多垃圾。每每回头看自己以前的代码,总觉得很垃圾,可是和接手的代码相比,我那些垃圾代码顿时却“叮”的一声,闪亮无比了。那些代码,虽然是先前的人留下的,但是能垃圾到如此地步还能在客户那里跑,其实是个非常严重的问题,可惜当时没有意识到。

刚上班,那些代码就在客户那出了毛病,是delphi的,仗着当年85分的pascal,当天乘火车赶到,吃完午饭往那一坐,晚饭没吃干到次日凌晨2点,终于解决了问题,和陪同的同事小W吃点夜宵,连夜又乘火车赶回去了。说起来,那是个串口通讯断包的简单问题,可惜毕竟对系统不熟,delphi7又根本不会,完全是看着遗留代码和帮助边学边改,又手贱把那些不用循环而一条条赋值的语句、到处混乱的变量清理了一下以方便调试,所以连累了小W同志,十分抱歉!

没几天,公司组织去日照旅游,大陆的黄金海岸,真的不错。可惜,我闻到海鲜味就吃不下饭,只好天天吃方便面就花生米,有点遗憾的一场旅游。

其后,被派到客户那里做开发,基本上是从头做起。那客户当然是某地的路灯管理所,所长L所是个难得的人才,是我人生阅历中对公务最有责任心的一位好所长。在L所对路灯管理精益求精的要求下,本来很简单的小系统开始变得复杂起来。我也只好滞留在外3个月之久,天天窝在宾馆写代码,完成一部分模块后就跑所里测试一番。

期间,自己用js+VML画了个仪表图,电压电流双针,对于js半生不熟的我而言,还是挺满意的,也写了不少Socket通讯代码,自己弄了个类似Stream的缓冲类,现在想想,仍然挺适合那种工控通讯的。

后来,回到公司,老板W总却颇有微词,认为客户的要求我满足的太多了,没必要客户要什么就做什么。当然,这时候已经完成了验收,收到了项目款。我和公司的嫌隙由此而生。

后来,公司指派我做横向项目经理,负责路灯系统硬件、嵌入式软件和上位机软件的全部工作的项目管理,并承担上位机C/S系统开发。辛辛苦苦的、苦口婆心的、在内部派系纷争中左右为难的、熬夜打拼仍然为行业内最好的目标奋战的干了大半年,与W总的冲突越来越多,对公司也越来越寒心。

最终的爆发点,定格在公司出台的新制度,这所谓的激励制度,却是把原先的工资割裂为两部分,一半做基本工资,一半做责任工资,每月考评高于一定值才能拿全。这让我看到了W总管理上的致命缺陷,终于醒悟了为何垃圾代码可以堆砌在客户的机子上,终于醒悟了任何招聘时候讲的话都是空话的道理。跑到CSDN上发了个感慨贴,提醒大家注意此事,毅然辞职了。

辞职的交接十分搞笑,W总要求我把核心代码打印出来,并要求每页都要签名。拿着厚厚的几百页核心代码,我说签字太慢了,我按手印好吧,果真拿了一盒印泥过来……嘿嘿,这是我人生第一次十分清醒的认识到忍字的精髓。

之后,跑去一家电力行业国内前排的企业去面试、体检、实习。实习十分有趣,是下车间实习,而非做软件开发。嗯,学习了各式测量仪器的用法,复习了误差计算公式,学会了按照潜规则伪造测试数据,了解了车间工人的嬉笑怒骂,忧乐苦酸。虽然是短短的两周,却是一门十分难得的社会课。跟兄弟姐妹们混熟了以后,了解了软件部门的不太合理的薪水制度,再加上周六也必须上班,每天必须加班到9点这些潜规则,我只好说声bye-bye,NR。

之后,跑去一家培训机构做讲师,主讲C语言和C#,又是一番别样的生活。我终于有机会逼迫自己学习C语言,认真的处理指针,近乎疯狂的学习,恶补了许多基础知识,弥补了技能体系上的不足。期间,被称作金牌讲师,网站上贴着我的照片和教学理念:“学以致用,以用治学”。

一帮子高中毕业的孩子,由我和班主任S老师带着。我教他们如何训练逻辑思维,见缝插针的补充内存管理知识、操作系统原理,为他们编写各种有趣的小游戏,跟他们大谈OO的核心根本,组织他们做各种兴趣小组,和S老师一起带他们出去活动,一块拉大队溜冰……都是十分美好的回忆。

美中不足,仍然是美景易逝。老板的诸多行径,令人齿寒,终于忍不住,狠心与大家分离,我跳槽了。随之,三个班主任也纷纷跳槽而走。随之,把在校生教完后,学校关门大吉了。

我带的那些学生,当时努力的,现在混得都不错,几个跟我混的熟的,还保持着联系,经常叫出来玩,一起吃饭,一起喝茶,一起打牌,一起杀人……

跳槽到了又一个校友的公司,公司不大,盈利不少,属于低调发展型的,典型的浙商风范。公司还是搞电力行业的,招聘时说的是进来做GIS,结果一个数据同步的项目,足足做到我离职,GIS那边也从来不缺人,我是碰也没碰过。

在这个公司,技术气氛非常好,人缘关系也很简单,基本上都是老板直接管理,项目经理一大堆,谁手下也没固定的人。几个骨干老员工,出奇的拼命。活大部分都是出差在外干的,他们总是至少干到深夜0点才回宾馆。老板本人技术出身,十几年前硕士毕业,对技术一直十分热心,很多时候跟技术总监争执的面红耳赤。技术总监是个技术迷,痴迷于技术专精,生活比较邋遢一点,经常在早上抱着笔记本,穿着拖鞋,挂着电源线,拿着鼠标,晃晃悠悠的走进电力局干活,十分的有趣。

受到这种气氛的感染,一贯比较懒散的我,虽然有点不情愿,也不由自主的很努力起来。期间比较得意的两件活:
一是自己设计实现了个RawRemoting,远程服务调用层,支持断点续传,网速检测,事件回调等,序列化弃掉Remoting的XML方式,改用精炼的二进制方式,所以起名字为RawRemoting。当然,其中借用了一些开源组件,都是codeproject上的。
二是在一个省级项目中,原先定下由公司和当地一个龙头企业的软件分公司合作,共同承标,对方是用.NET的,公司是用Delphi的,所以派我去负责程序主框架,以及和对方接口等问题。隐藏任务是借着对方技术较差,进度跟不上,实现的效率也很低的机会,向领导展示本公司的技术实力的强大,争取把那部分拿过来做。幸而不辱使命,在我离职前已得到确认消息,电力局高层在看过系统联合的演示后,全标都由公司承接。虽然功劳是大家的,毕竟也有我一份力。所以,本来要离职时想到公司转向J2EE平台,放弃了.NET路线,一年大多数时间的结晶,我的得意作品RawRemoting,对于公司都成了没用的东西,心里总有点愧疚,现在呢,却不必这么愧疚着了,拿下这个全单,有我数个熬夜拼搏努力的劳动,也直接为公司带了效益,呵呵,悄悄的,1年合同到期了,悄悄的,我走了……

离职之后,一直在家,没再想去上班了。

从03年到09年,扣除中间做私单、倒生意、写小说的时间,上班的时间也有5年吧。

技术从近乎白痴到胸有成竹,态势从自傲自卑到不卑不亢,情商从偏执脆弱到和光同尘,一路走来,职业生涯还是让我长进了很多。

不过,无论如何,我是个向往自由的人,这自由,只能靠自己去打拼。

所以,我想我该更努力一点,努力在荆棘丛中开拓出自己的路,不算事业,不算创业,就算是自我独立的谋生吧。总之,不想再为人打工,想为自己打工。

考量了许久,还得从技术入手,还得从运行效率更好的C/C++入手,B/S的话,web服务器上还得从php/perl/asp等入手……

所以,一路走来,现在却很想说,再见,.NET。

我相信win7不会重蹈覆辙,可惜,如果等到那一天,那我也等待得太久了……

03年开始守望时,就期望随着LH/Vista的辉煌会带来.NET的普及,比及Vista失利,仍然在坚持“信微软,有饭吃”,可惜,1.1,2.0,3.5,4.0……跟到2.0时,对remoting非常不满,跟到3.5时,对WCF不屑一顾,对WPF又爱又恨,对WF、LINQ等基本无视,说话间,已经4.0了,还没有来得及去望上一眼……

信微软,有饭吃。不错,现在出门找饭吃,虽然30了,还是找得到。

然而,30而立,很想以后能够立着吃饭,而不是蹲着、趴着、跪着,为了这个小小的梦想,必须要付出更多的努力,下更多的苦功夫……

过几天,在.NET版就要升仙了,但我却或许真要对.NET说再见了……呵呵,生活就是这么无奈。

最后,谨以结尾文字,献给我挚爱的妻,是你一路风雨无阻的陪伴,鼓励,爱护,理解,终于让一个浪子回头,终于让一个漂泊浩淼星汉的孤零人入世,认真的面对生活。
谢谢你,爱你!

顺祝oj老弟新婚幸福,生活美满,万事如意,恩爱白头!

结尾:

前世因果、三生石上缘深刻
今辰蹉跎、几番春秋几番错
空许宏愿、击楫中流难报国
莫犹疑、在水一方、芳草连天碧空阔

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页