我喜欢质数,没有原因,但当想起自己原来都已从业五年之后,又莫名的心慌起来。盘点职业生涯还早,但对职业寿命短的码农来讲,倒也可以回望下这勿勿的五年了。
只所以说用“勿勿”,可能已不符合现在互联网的主节奏,五年的互联网可能会翻天覆地变化,但对于五年前的我对现在的憧憬,竟不知道这几年是怎么过来的。这碌碌无为的几年,技术能力的停滞,都快让我快忘了当年 “让自己的代码运行在千千万万台机器上” 的小小愿景。技术切磋,何等早已,但细想,说来也是,一个平常的商业型项目,哪有那么多需要攻克难关,哪有那么多关键的 position 去让你施展码农精神。但收获自然也是有的,一群哥们也就在这样的特殊环逆境下成为了老铁。
五年后的今天,当想重拾码农精神时,忽然发现,离技术居然越来越远。加入到新项目,惊奇地发现 C++ 已经趋向于 python, 客户端代码风格已经和服务端傻傻分不清楚,各种各样的 boost 模板让我看一个调用堆栈都不太习惯。这反倒唤醒了从前那种渴望。单纯地堆砌功能显然不能满足我。于是决定加入到新项目中,开始找回自己。
一直以为程序重在设计,因为良好的设计会使思路更清楚,代码也更简练。在拥有一定扩展性的基础上,不过分设计便成了重点。其实软件工程发展到现在,已经在局部程序设计上都有了很好的前车之鉴,很多设计良好的开源项目提供了机会去领悟他们的设计思想。这里之所以说局部,是因为随着技术的发展,一些大型混合式应用,在架构上已经发生了翻天覆地的变化,从 google 发布了那三篇论文至今,人肉解决分布式计算以及均衡调配的时代已经过去,mapreduce, bigtable 也衍生出很多成熟的开源组件流行了起来,这当然是时代的进步,数据激增也必然会促使新技术的研究,新技术的成熟也反哺业务,进而形成良性循环,这大的方面的架构也不是我现在能驾驭的,作为一个码农,目前只能做好本分,在局部编程,小的架构设计中体会编程的魅力。
加入新项目(桌面百度)不久,但一些新特性还是吸引了我,传统软件设计中,客户端软件在 windows 上自然会联想到窗口界面驱动,进而形成经典的冯.诺依曼架构,接地气点就是用户输入,业务计算 ,结果反馈。大家都讲分层,界面与逻辑分享,自然,界面也只是数据输入的一部分,界面也自然不必当作主线程成为驱动程序流转的主动力,而只是以插件的形式运行在自己的环境中,与其它业务平等,当然这种设计可以在界面被完全替换的情况下正常工作,再加上 boost 库里一些好用的注册监听机制和内存池机制,可以很方便地对接上业务运行以及结果反馈,感觉毫无违和感。在大的设计上,桌百的目的也不仅仅是对搜索框的封装,更像是一个集大成者,连接人与服务自然也成了它的一个重要目标,各类 APP 已经像一个服务池,慢慢为大众提供优质的服务,即使是一个平台,当然就具备了无数可能性,本地资源整理,互联网资源搜索,阿拉丁的方便展现,以及框计算智能,其实这就是整个世界。
或许有一天,我的代码真能运行在千千万万台机器上,体现一个码农的价值,但我想,这大概也是今天的选择,不忘初心的工匠精神的最好回报吧!
PS: 官网地址:http://zhuomian.baidu.com/,