书接上文《》。

在学校{zh1}的日子

前文提到,大三那年我差点被学校开除。那次我的父母也被学校召唤了去,那对他们来说是一次耻辱的旅行。

在我们机械系的办公室,他们听到的我们系的老师们给他们讲述我是怎么样一个不上进的垃圾,如何拖了整个机械系的后腿。于是他们对我已经出离失望了,所以没有一点点愤怒,只是失望。

不过,在他们拉着垂头丧气的我去学校门口饭馆吃饭的时候,路遇了很多跟我差不多大或者比我还大的学生,对我很客气的说,郝老师好。这是因为,就在不久之前,我给学校的{zd0}一个系的学生们做过几场Office的培训,至少有400-500人参加过那个培训。那之后,他们的心情和表情明显有了好转,似乎明白了我一直以来都在想些什么,我有什么样的追求和梦想。

那天晚上他们和我有次长谈,他们说我学机械学不下去也无所谓,只要我以后有自己的饭碗,不管做什么他们都支持。不过大学如果能凑合上就争取凑合上完,毕竟只差1年就毕业了。之后,他们找了一个对我们学校来说很牛的关系,在加上我们系里面个把还算喜欢我的老师的配合,我顺利留了下来,没有被开除。

那年假期,他们还拉着我去了鞍山西道(注一),带我见了一些招聘程序员的网站,问他们要不要大学没毕业的人之类的。有些乐意招聘没有学历的人,甚至对我还有些兴趣,有的所用的技术我一无所知。那些网站的办公室都有点破烂,我也不懂他们怎么能挣钱,去了那一趟后其实我更加迷惘。不过不知道我当时去看过的公司,有没有现在已经大发了的。

之后就熬到了大学毕业前,最盛大事件的就是所谓的双选,不过我从来没进入过我们学校任何一个双选场次,因为我对未来很迷惘,不知道是该进去表现自己,还是不进去争取不被他们选走。

刘老师曾经问过我对未来有什么想法,我说没想法,那是非常真实的,我真的很迷惘。他知道我没有参加双选后,问我想不想留校做网络中心的老师,还想推荐我去他的一个大款朋友的公司里去,我都未置可否。每天在我都在幻想未来会是什么样子,期望有张明确的路线图掉在我的桌上,如果照着做,一个月就能做出来巨牛xx的网站或者是软件,然后被雅虎或者微软收购,一夜变成大富翁。

{zh1},我没有选择留校(以我的成绩也许也很艰难,不过如果动用关系也许又不难,谁知道),去他朋友的公司,也没有参加双选,没有任何就业协议。

所以,我成为了学校就业率里面的一个污点,老师们鼓动我们这些污点去成都参加一个大型招聘会,还有些已经签了协议想追求更好机会也一起踏上了征程。那两个星期里,我们每天大早,走到成都的各大高校,吃各种好吃的早点,然后钻进各大招聘会,扔一份简历。期间,我还冒充N个同学,帮他们面试编程方面的工作。但,我自己就投了一两份。那段时间过的很快乐,我喜欢在成都那样的城市里面闲逛,但是也很短暂,{zh1},我没有任何就业协议的离开学校去做一个老师的项目。而这个项目就在天津,就在我父母的单位,中海油的塘沽分公司,当时叫做渤海石油。

项目还没做完,我就毕业了,收到了邮寄来的xxx。

项目做完后,我跟老师交接了一下,回到了家里。之后三个月,天天都在上网,聊天,看贴,写程序。三个月后,没有作出什么伟大的程序,也没有雅虎和微软的高管来电话找我。倒是我妈去交电话费带回来三个月900多块钱网费的账单(那时候是01年,我们那边还没有adsl也不能包月),大发雷霆,甚至用扫把打了我一顿,说我不去上班只知道在家里乱花钱。

{dy}份工作

那天晚上,我再次上网找了一个聊过几次技术问题的天津网友,问了问天津哪里有招聘会。第二天,打印了几份简历,我就去了那个招聘会。我进门口看到一家公司写着找网管,凑过去聊了几句。来招人的是一个很帅的人事经理,懂点技术,他说需要网管,能写程序更好,他们是一个电子厂。我觉得聊得很愉快,留了一份简历,留了家里电话,就离开了招聘会,回家。

到家,我妈告诉我已经来电话说我被录取了。她很高兴,虽然我的工资只有1200,而且要离开塘沽,去天津市区上班。

网管的工作,最痛苦的部分就是经常要趴在别人的桌子下面,去重接那些仅仅是松动的网线,抑或者是把打印机关了再开,开了再关,检查有没有卡纸等等。

我乐意去做这样的工作,一方面是我不知道以我当时的能力经历,能找到什么更好的工作,也不想去尝试;另外一方面,我觉得偶尔劳筋骨也是有好处的,对于我自己的发展是有利的。从01年到03年离开天津前,虽然也做些软件开发,但我从来没有甩掉网管的头衔。

其实就算是这个网管工作,刚刚开始做的时候,我觉得自己也没有足够的能力,怎么做掐水晶头,做网线做电话线,等等,我都是到了公司现跟人学的。网管的工作非常枯燥无味,但是对逻辑分析能力的培养还算是有点用处。我经常要在对某个老机柜xx不了解情况下去解决里面出现的线路问题(连线上的标签都丢光了),要帮助别的工作人员恢复系统和数据,要用一套复杂的流程复位打印机,要用更复杂的流程复位税控、报关等设备,甚至因为我们直接跟国外某大公司业务往来紧密,我还曾经必须多次在国内的病毒中心报告某病毒之前,人工隔离杀死病毒,恢复被病毒干死的防病毒系统等等。

但除此之外,我是相对自由的,可以参加公司的开发工作,参与新产品研制。

那段时间,因为身份比较模糊,我没有主要担负任何产品的设计。不过因为比较爱扯淡,经常作为我们研发部领导的顾问,什么项目都掺活一下。

比较有意思的项目是一个跟手机内部排线插座接口的项目。那时候,手机越做越小,手机前盖后盖之间排线连接的插座也越做越小,而且结合很紧密,打开很费力且容易损坏。所以我们的手机测试仪连接手机上盖下盖的时候,反而不能用原装的插座,需要做方便接触,且对插座xx无损伤的接口。原装插座非常小,但是上面有20-30个触点,传输数据和取电都需要的。我们当时的方案非常的复杂,用一个有机玻璃方块作为底座,上面打上跟触点数目对应的孔,放置上直径是1毫米,甚至更细的弹簧针(注二)产品试制的时候,损坏了很多钻头和弹簧针,{zh1}才成功。所以仅仅就一个简单的接口,即使不考虑试制时物料的浪费,成本也是非常高的。

后来这个接口终于成功了,但是还存在两个问题,就是生产成本很高,而且损坏的太快,寿命不够长。后来我发现,手机前盖后盖的连接插座,是不一样的,一个凸出,一个凹进去,凸出的那端,触点在插座的连接平面上也是存在的。于是我想到了一个很简单的方案,就是按照连接插座的尺寸和触电分布,定制柔性电路板,在电路板上作出一样的触点,然后在柔性电路板下垫一个橡胶垫,把凸起的插座按在电路板上对齐,就会很稳定的接触上。这样就省掉了一半的复杂昂贵接口的成本,凡是凸起的插座都可以用这个方案来解决,而这样的一个柔性电路板,才几块钱的成本。当然如果是凹进去的那一端,就仍旧需要使用昂贵的接口。我提出的那个方案不算xx,不过在很多产品的测试仪上都使用了,在我离开那个厂子的时候,还在一定范围内使用。

当时我立项并一直在做的项目是,我想做一个基于GBA的GPS导航仪。为了这个我学习了GBA开发,翻译了GBA的硬件手册,也认识了很多同样有志于GBA游戏或者应用开发的朋友。有一个哥们叫azhong,他也翻译了同一本手册,我们成为了朋友,经常聊GBA的技术问题。前两天,他通过另外一个朋友知道我来到了盛大,在公司的内部通讯系统里面找到了我,原来他05年就进入了盛大一直干到现在,现在已经非常有成绩了。我们两个人在8年后{dy}次见面,真是内牛满面。

而这个导航仪项目,我也算初步有成果,我把一个细节很清楚的天津地图扫描到电脑,{zh1}在GBA上面实现了对地图的浏览。GPS芯片和GBA的连接,数据通讯,在硬件组的同事帮助下也搞定了。不过这个项目{zh1}还是没有什么太多结果就结束了。我曾经的梦想是,给GBA加上外置的键盘,做上面的PDA程序,地图程序,等等。

后来,我零星做了一些GBA游戏开发的尝试,也都限于还可以的DEMO而已。那时候,我曾写过一个极简单的DEMO(注三),放了一张很沧桑的大木船的图片,木船移出屏幕后,打出几行字,写着“你的心是不是还想着远航,欢迎加入GBA大航海开发项目,布拉布拉布拉”。就这么一个简单的DEMO,当时吸引了百十号人参与,大家都非常热情,有人写出来了数万字的剧情,然而我,在巨大的群众热情面前,才发觉自己连带一个最小的三四人团队的经验都没有,汗流满面,慢慢的没有任何动作,拖黄了这个项目。上个月,在Twitter上面,我还遇到了当年写了上万字剧情的兄弟,聊起往事,羞愧难当。

后来随着上游厂商的erp化,我们也开始选择购买还是开发erp,后来的结论是买了其中的一个erp。但是公司的工资系统和考勤系统是自己开发,当时我是实际编写者。我从那时开始正式使用Borland C++ Builder,因为它显然比VB强大,而又是C++跟我当时的学习方向比较吻合。这两个系统其实做的都很垃圾,不过在当时我还是很自负的,觉得已经做的不错了。当时我甚至想过“”。而且还认认真真的分析了当时公司面临的一些管理问题,有文章为证“”。

但是后来也许是因为我这两个平台的开发进度不够快,或者对其他部门的需求满足不够,也或者是其他的一些我不知道的原因,公司{zh1}倾向于自己购买人事工资管理软件,虽然我觉得他们购买的产品并不好,而且太贵。

在此之后,也许是因为这些事情,也许是公司大了需要更复杂的网络管理,公司的人事总监对我的工作范围做了调整,要求我只做网管,不参与任何新产品,考勤软件也交给别人去接手。我要求专职开发,不再做网管,他也以我招聘近来的时候主要任务就是网管而拒绝了,我积愤难平,觉得自己虽然没有做成什么大项目,在各个项目里面还都是起了些作用,而且自己的发展方向也不想被限制在网管上,郁闷的干了几天,离开了这个公司。

在2年半的时间里,我成为了一个还算凑合的网管,了解了一点公司内部网络管理的知识,其实后来的职业生涯里面基本上这些都没有用上。玩了2年左右的GBA开发,后来,我还做了几年,后文会提,不过基本上也跟屠龙之术一样,没有帮我赚到什么钱,也没有作出什么伟大的软件或者游戏。用Borland C++ Builder做了相对复杂的人事管理、工资和考勤的软件,工资管理实际上是我用BCB真正开发的一个真正的程序,真正的有还算复杂的界面逻辑,用上了Sql Server数据库等等。期间为了帮助其他的项目,我还研究过PC摄像头,研究过Windows驱动开发,但都没有任何成果。这些日子也不算xx蹉跎,但是回想起来在技术方面进步很少,在公司里面,我一直是什么都会一点的,那种多面手的形象,但其实又没有什么东西能搞的比较好,相对失败吧。

我当时也有过反思,也许一开始不该去一个小公司(注四),也许应该去一个牛程序员多点的地方,自学找不到方向,很痛苦,进步也很慢。当然,如果你仔细看,你就知道我其实根本没有挑选过公司,只是去了在招聘会上{dy}个看到的,且收了我的简历的公司。

敬请期待续篇《在路上—Tinyfool的程序员生涯(职业生涯篇二)》
========================

注一:基本上可以理解为天津的中关村地区

注二:我以前扯淡机械制造工艺的时候提到过这个针,全部从日本进口,一根就几十元,虽然直径只有1毫米甚至更小的型号,但是是中空,带有弹簧和两边的针的,结构基本上类似于传统的表带两头的弹簧针,我是用显微镜看过不慎折断的这种针的结构的。直径这么小,它的加工工艺是如何的,我曾经跟一些国内不错的机械厂的技术人员聊过,xx无法想象。即使是我们用来给有机玻璃方块打孔,所需要的机床,和钻头,也都是跟我们合作的一个天津大厂的最{dj0}设备了。

注三:写这个DEMO时,遇到技术问题我还写了一篇Blog,是。现在看出写Blog的好处了吧,一转眼就算是7-8年了。

注四:其实厂子也不算小,技术部10来人,办公室人员100来人,工人上千。不过软件开发力量不多,能直接教我的人几乎没有。