70后程序员池建强:我的人生元编程

来源:岁月联盟 编辑:exp 时间:2014-01-03

  池建强,70后程序员,Blogger,《MacTalk·人生元编程》作者。先后任职洪恩软件和用友集团,从事互联网和企业应用软件研发,目前担任瑞友科技IT应用研究院副院长。 热爱技术和编码工作,Apple 和 Google 产品重度用户,分享技术,坚持梦想。微信公众号名称:MacTalk by 池建强

  

 

  Yes, I can

  “整个车间只有一台电脑,每天吃完饭,我就回到车间,把公司的硬盘拆下来,把我自己的装上。每天我都在那里,开一盏灯,拿一本书。”

  你是怎么开始学计算机的?

  以前看过一本叫《异类》的书,书里说大部分计算机大师都出生在20世纪50年代,比如史蒂夫•乔布斯,史蒂夫•沃兹,比尔•盖茨,保罗•艾伦,比尔•乔伊等等,这帮牛人开始设计个人电脑、操作系统和编程语言的时候是70年代,那时我刚刚出生。

  到了80年代,苹果公司已经上市了,但大部分中国人对电脑还没什么概念。做为一个生于农村长于乡镇的土人,我小时候根本没见过电脑,所以开始编程的时间很晚,这一点和很多少年天才、编程神童的经历有很大差距,我真正接触编程是从大学开始的。我的专业是机械电子工程,这个专业里有几门计算机语言的课,包括C、Fortran等,数据库用过 FoxBase,电脑是386/486,黑白的脸,没有奔腾的心,我只记得给老师写过一些类似图书馆书籍管理的系统,但细节完全不记得了。

  高中时我学习成绩很不错,但报志愿没报好,一本和二本都没有录取,导致心是高等学府的心,身是二流院校的人,所以就去了河北科技大学,哈哈。在大学里我很愤青,觉得这个学校很一般,没有太大学习热情,但我对计算机技术很感兴趣,可能和我小时候喜欢装配各种收音机有点关系。我经常和志同道合的小伙伴们一起交流和上机,当时机房使用时间也不是很充裕,还要交钱,所以我们会在上机之前做很多功课,把程序编好写在纸上,这样上机后就能直接录入程序并进行调试和跟踪了。还有一个乐趣就是我们通过各种程序和工具优化软盘空间和内存大小,以期那时的计算机能够运行我们喜欢的程序,我记得最常玩的一个黑白游戏叫做战斧,主角拿着一把斧子打怪,乐此不疲。

  总体来说,我在大学学到的计算机知识并不系统,不像现在的很多大学生,在大学里学到的东西已经很扎实了。

  那你真正开始学习其实是在工作后?

  我是在工作以后才真正开始接触编程工作的。我毕业之后很想去北京,后来去了河北汇能亚奥集团,这家公司在北京的郊区顺义的郊区林河工业区有一个厂房,工厂和研发中心都在那边,于是我就来北京了,也算曲线救国。公司的主要产品是直流电源,公司里有一个实验室,实验室的办公条件很好,每个人配备一台电脑,还带沙发转椅,但是只有具备名校背景或者家庭背景的人才能去实验室,于是我们这几个不太招人待见的家伙就直接被派到车间了。我们去了之后第一件事就是擦散热器,到现在我已经不知道为什么要擦散热器了,只记得那上面好多油……散热器擦了三个月,然后开始“插件”,每个人一个工位,把分配好的二极管、三极管、电容等插到电路板上。后来我们又去搞测试,照着图纸修理返场的电路板和直流电源。

  整个车间只有一台电脑,平常你是用不上的,只有晚上机器空闲。于是我去中关村买了一块硬盘,每天吃完饭,别人回宿舍看电视、聊天的时候,我就回到车间,把公司的硬盘拆下来,把我自己的装上。我还记得当时装的是一个盗版的Windows 98系统。每天我都在那里,开一盏灯,拿一本书,学一些互联网方面的编程知识。当时已经出了HTML4,可以通过JavaScript在网页上做一些动态的效果。一边学习新东西,一边把自己以前学的语言温习了一遍。大概学了半年多的时间,在99年年底,我离开了那家工厂。

  你是怎么去面试的?

  我把我自己写的程序都存在一张软盘里,每次去面试的时候就拿出来给人家演示。当时互联网第一波浪潮已经过来了,我做了很多动态的网页设计。很多人觉得我做的东西很新鲜,可能他们都在忙着做静态网站,没时间学这些东西。我还记得当时做了一个泰坦尼克主题的网站,用了一些电影里面的元素,大海、沉船、岩石等等,演示的时候会播放主题歌,画面的元素有各种互动效果。他们看了之后就不问我问题了,说:那你就来上班吧。于是我就去了洪恩。

  快乐并痛的时代

  “我和池宇峰说,我先出去看看,等你们开始做游戏了,你再叫我,我马上就回来。”

  你刚去洪恩时做什么?

  在洪恩的三年半时间,是我职业生涯中最快乐的一段时光。我刚去的时候,洪恩正在做洪恩在线和论坛。洪恩的创始人是池宇峰,因为我俩都姓池,这个姓又很少见,所以大家都以为我是他的亲戚,对我都挺好,哈哈。

  当时我的头儿对我说,你有两条路可以选,一个是去做现在我们所说的UI设计师,走前端路线,也可以做后端、写服务器端的程序。我想了想,我还是写后台吧,前端不都是小姑娘做的么?

  当时我刚从车间里出来,忽然来到这么一个地方,年轻、开放、热情,最重要的是每个人有一台电脑,这简直让我幸福到眩晕。我的同事都是年轻人,有很多刚毕业的清华北大的学生。池宇峰本人也是清华毕业的,后来创办了洪恩软件。池宇峰的管理方式很有特点,他总不在办公室呆着,四处转悠,看谁干活就想跟谁聊两句。结果无论白天黑夜,他每次过来的时候我都在闷头编程,面对花花绿绿的高亮代码,噼噼啪啪的敲击键盘。这时他就会和我聊一聊项目进度,问问我的想法,有时他也会讲讲公司的发展思路。过了一两个月之后,我就调工资了,结果2000年一年我就调了三次工资。老板都喜欢疯狂工作的员工啊!

  洪恩在五道口的东升乡租了一栋三层楼,一共有一二百人的规模。当时很多同事晚上都住在公司,上午11点,大家穿着拖鞋开始上班,浏览下新闻就去吃午饭了,吃完饭偶尔我们还去清华踢场球。下午两点多,我们开始正式的工作,一直编程到天色变暗,吃完晚饭后,大家继续编程,通常是凌晨12点的时候开始更新网站,发布程序。之后想学习的继续学习,想编程的继续编程,有时候我们还会打场三角洲游戏,一般在凌晨四五点钟才回宿舍休息。池宇峰和我们一样都是七零后,所以整个公司的氛围就像学校一样。公司牛人很多,可以从他们身上学到很多东西,那个阶段我的成长也是最快的。

  这样轻松的环境维持了多长时间?

  这种的情况大概持续了一年左右。当时互联网的氛围有点像现在,很多公司都不挣钱,有人给投钱就花呗。洪恩在线是不挣钱的,主要是靠卖教育软件挣钱。我们那里真正挣钱的人工作都很辛苦,我们这些搞互联网的反而显得很悠闲。后来互联网泡沫终于来了,大家觉得钱不能再这么个烧法了,再不改变整个公司的现金流都可能出问题。于是洪恩在线只留了很少的人来运营,把以前从别的部门抽调出来的人还回去了。当时洪恩聚集了大量的技术人才,但是不知道让这些人干什么,搁到现在这些技术人员可能都会被裁掉吧。但是当时池宇峰觉得技术人员都是宝,琢磨出一个事儿来也得把他们留住。

  为了解决这个问题,公司决定新启动一个项目,叫做数字校园,准备使用最新的技术Java实现,新的旅程又开始了。

  数字校园当时的定位是基于BS架构的校园信息化平台,大部分功能使用浏览器操作,少数类似排课引擎要安装客户端。主要技术架构J2EE,支持Windows、Linux、Unix,数据库采用PostgreSQL,HTTP Server是IIS+Tomcat或Apache+Tomcat,主要语言是java和jsp,其他用到的语言包括汇编、C、VC、Shell等,当然前端的HTML和JS是少不了的。为了在浏览器上模拟客户端程序的效果,我们使用xml数据岛的技术实现浏览器异步加载,后来类似的技术有个更时髦的名称叫AJAX。为了实现智能排课和分班,我们走访了很多学校,编写排课和分班算法,分别实现了在线版和离线版……

  虽然产品优秀,理念超前,但曲高和寡,而且洪恩本身缺乏企业级产品的运营和销售经验,学校的信息化需求也没那么迫切,现在看来,好像很多事都没踩到点上。系统虽然也销售出去不少,但是只能达到收支平衡的程度。当初做这个系统的时候,公司高层和我们自己对这个产品期待都很高,大家坐在一起数全中国的学校,想象着成为土豪的样子。一年后再坐在一起的时候,我们都无语了。后来这个产品被搁置起来,留下几个人做维护,其他人又被派走了。

  这次项目失败之后你想离开吗?

  当时很多人就想,怎么又失败了?于是很多人选择离开。我当时已经是一个技术管理者了,自己写代码,还要带团队,团队里还有清华北大的硕士、博士。虽然我是个Leader,但是我的技术并不是最突出的,很多人都比我强。我当时的老板觉得我在协调和管理方面有一些天赋,不像很多技术牛人那样比较容易情绪化。池宇峰有一天来找我,说:“你呀,你就不是做技术的料。做技术的人都是大学毕业的时候就已经非常