东拉西扯:程序猿的五个层次

我很反感装逼的文艺青年写起评论来但凡涉及“境界”二字便非搬出王国维不可的作风,就像我反感做营销提案汇报时总有人爱拿马斯洛需求五层次说事(虽然我也常这么干)。

但今天我必须借鉴一下王国维这装逼的句型——我发现自己已经达到了“醉里挑灯按键,梦回催缴原型”的境界。

今天在公交车上一觉醒来,惊觉自己刚才在梦里还在 review 一段 html 代码(用的还是最新版的 Firebug)。大概是今天白天读到了由新手、熟手和高手所写的三种不同的代码,颇有感触,现在看到波涛汹涌的、分层级的代码,就如同看到波涛汹涌的、未分级的美女那么赏心悦目。

很久以前我觉得程序员是这个世界上最神秘的种族,凭什么大洋彼岸那个叫什么盖子的混球对着黑底白字的电视敲打几下打字机,就成了世界首富。后来自己摸索了几种语言,像模像样地折腾过几个程序(现在看甚至可以称作项目,因为毕竟还正儿八经地规划了下,拿到 softreg 上当作共享软件干了几票 — —),发现其中相当一部分也不过是嘴上虽终日挂着流行技术,实则乖乖儿投靠大语言、寄宿 IDE、琢磨 SDK 过活的程序猿民工(no offense)。

我与真正意义上的程序员、工程师们接触,还属在盛大实习以来(之前都是科班学生或者业余玩票)。

在这里,我见到了充满激情的、挂着“坚决消灭所有BUG”头像的家伙;勤恳狡黠的、总在不经意间偷偷 update 上去一个令人惊喜的细节的家伙;踏实稳健的、喜欢三五成群扎堆讨论问题解决思路的家伙;迅捷高效的、同时接手六个项目周末依然有余力帮朋友搞搞兴趣开发的家伙;还有 workaholic + geek 型,把 7000 行代码压缩到 2000 行会兴奋到在微博上昭告天下……

前不久一个朋友还在微博上发感叹说,跟高手合作最快意的事之一就是沟通的成本很低。实际体验下来,的确如此。至少在交流原型和业务规划时,脱口而出一些计算机英文,不会被当作是装逼行为(拜托搞这个的就该掌握点英语思维好不好,何况很多术语进入中文语境就会产生歧义)。此外跟高手沟通,就要学会用高手的方式,自己的水准此时也就日渐水涨船高。

去哪里接触高手?严格的招聘流程和复杂的准入门槛,决定了在那些大公司往往能遇到更多行业内的高手甚至顶尖高手。对于眼比手高、心比天高的学弟学妹们而言,有机会不妨去大公司磨练磨练,在这里你们能获得更大的加速度。

举个例子,现在去创新院,我已经不敢像几周之前那么没大没小了,因为我发现站在眼前的这个哥们很可能就是该领域的骨灰级权威。

顺便扯一句,创新院4F冰箱上贴的一张个性便签,很耐人寻味——“把流行的技术挂在嘴上,不如把实用的技术记在心里”

最后用马斯洛的需求层次理论(我之前说过什么吗?)来阐述我眼中程序员的五种层级:

  • 第一层(生理需求):能或基本能写出符合要求的代码,完成预设的动作并返回正确的结果。
  • 第二层(安全需求):写出的代码效率高、鲁棒性强,自动适应特殊情况并纠错,对于用户的误操作有提示,且能够恢复错误的操作。
  • 第三层(社交需求):对内:代码写得很 zen ,可读性很强,方便团队其他人员阅读和维护;对外:程序 GUI 友好,用户执行每一步操作都行云流水心旷神怡。
  • 第四层(尊重需求):能够以架构师的视角看问题,在某一领域有较高造诣,对行业动态有深入研究并引领业界方向。
  • 第五层(自我实现):写程序受关注、卖软件到脱销、搞宣讲人爆满、开饭馆都有人赞助……

如果能燃烧小宇宙,到达第六层,基本上就该被人羡慕嫉妒恨以及盗梦了。到第九层,已然能呼风唤雨、上九天揽月。而如果到了第十八层,那就是个妖孽,得遣送回来,打下十八层地狱去。