「作于2018初」我的撸码人生

947 阅读15分钟

儿时每个人都有很多梦想,但长大后 就渐渐少了。取而代之的,是生活的苦涩与无耐。梦,虚无缥缈。梦想,就是异想天开。当你睁开双眼,回到现实,还是要油、盐、酱、醋、茶,生活依然故我!

说起来,我还真是一个 幸运儿,从高中时就梦想作一个程序员。结果一不小心,这梦竟成真了。

那时的电脑还是个新鲜玩意儿

1996年,我一次接触到计算机,那时的电脑还是个新鲜玩意儿。机房里一尘不染,我穿上老师发给我的蓝色鞋套,终于见到了传说中的电脑。你能想到我们当时用的计算机的样子吗?

没错,它就是美国80年代生产的 80286。16位字节,64K内存,10M硬盘,5.25寸软盘,以及 MS-DOS 操作系统。而当时最先进的计算机已经是 80586了,但根本不会给我们这种小白使用。

即使这样低性能的机子,对我也有着无限的吸引力。因为在当时,计算机还属于高科技,一般家庭根本买不起,也买不到。就是在这样的 80286 上,我学会了五笔输入法,还有金山的编辑软件WPS,永久的记住了一个名子 求伯君,因为它是打开 WPS 的万能密码。

老师改变了我的一生

人的成长除了父母外,就属老师最重要了。如果能遇到一位好老师,可以说是上天对你的眷顾,因为她会影响你的一生。

而我之所以能走上程序员这条路,就要特别感谢我的一位大学老师。虽然她不是课讲的最好的,但正是她的引荐,才开始了我的撸码人生。

现在还清晰的记得,2003年学末,在她教的最后一节ASP网页制作课的课后,她问我是否已经找到了合适的工作?是否想做程序开发?她愿意推荐我去一家IT公司。

当时我的心情就像中了500万彩票,不敢相信这一切是真的。就这样我怀着中 500 万彩票的心情,开始了我的第一份程序员工作。

大家也许不信,我去的这家叫 飞狐灵通 的小公司,就是现在微信撑门人 张小龙 当年写 foxmail 时所在的公司。他除了写了 foxmail,当时还用delphi写了一个叫中国人报表的软件, 好用极了。

不过,在我去飞狐灵通之前,博大收购了 foxmail,他也随之去了博大。再后来,从博大到腾讯, 从QQ邮箱到微信使他走向了人生巅峰。

学习知识,如饥似渴

兴趣是最好的老师。在大学的几年时间里,出于对软件开发的着迷,推动着我不断学习计算机相关的知识,甚至可以用如饥似渴来形容。

而大学里相对宽松的课程安排,也使我有了更多的时间去学习自己想学的知识。也正是在那时,为我今后的职业生涯打下了坚实的基础。

在同学们都去 游山玩水 搞社交活动的的时间里,我基本都浸泡在海淀图书大厦或学校的图书馆里,寻找学习中遇到问题的答案。在寻找答案的同时,也增长了新的知识。

你要知道,那时中国的互联网可不像现在这样发达, 可以在百度或Google上搜寻答案。当时上网都是一个奢侈的事儿, 所以图书馆、书店是当时学习知识最好的地方了。

在不断学习的过程中,有一件印像很深的事儿。大一那年我不知从哪里了解到只要学会 MFC 就可以做程序员,于是就一心想学它。但那时,市面上很难找到与之相关的书籍。即使有,也只浅浅的讲了一些简单的使用,并没讲清其背后的原理。即使是这些简单的使用,由于质量不过关,在实验时也无法顺利的编译通过。

一次在海图闲逛时,看到了 候杰 写的《深入浅出MFC》, 感觉自己找到了一把学会MFC的钥匙。老实说,这本书写的特别好,但当时自己的基础实在太差了, 根本看不懂。为了读懂书中的内容,开始了我的 长征 路。

既然,MFC是一套 C++ 开发框架,所以我决定先自学C++。经历万苦学完C++后(当时看的也是一头雾水), 又去看《深入浅出MFC》, 结果仍然不明白。因为里面的Windows消息转来转去,搞的我晕头转向。

正郁闷时,偶然在学校的图书馆里看到《Windows95程式设计》(台湾翻译的), 如获至宝(现在估计没几个知道这本书了吧?),它里面将Windows的消息机制彻底解释了个明白。

又是一段痛苦。等将《Windows95程式设计》学完后,再去看MFC时,结果却依然懵B。所以到现在为止我都对MFC 都敬而远之,它给我造成了极大的伤害!

现在回想起来,主要是我当初设定的目标太高了。在没人指导,也没有任何基础的情况下去学习MFC,只能说我给自己刨了个坑!不过经过这次长征,我也收获颇多:

  • 最主要的是培养了很好的自学能力;
  • 第二个收获是在考专业课时,过90分可以不费吹灰之力;
  • 三是由于成绩好,得到了老师的推荐,成为了一名程序员。

我的撸码人生自此开始, 这真是意外的惊喜!

成长之路

毕业后正是 Web 网页蓬勃发展的高潮。开发模式从以前的 C/S 模式切换到了 B/S 模式。JSP、ASP + JS + 数据库 是当时最流程的组合。你可以通过 JS 在网页上做出各种特效,通过 JSP、ASP 做逻辑控制,数据库存储数据。可以使用数据库的第三范式,第四范式, 第五范式对表做优化等等。

再后来,技术发展越来越快,但做 Web 开发你始终绕不过去在各浏览器之间显示适配的问题。页面的主色、线条的风格、什么样的字体等等。对于这些问题,我真的没有半点兴趣。

“我想成为真正的高手,解决别人不能解决的问题。我厌烦今天修修这个边框,明天改改那个颜色的人生, 那是在浪费生命。人的一生就要做出一、两件可以拿的出手,可以让你的子孙后代提起来能啧啧称赞的事情才不枉此生。” 这就是我当初略显稚嫩的想法。

为了摆脱每天做这些我不情愿干的工作,我选择了另一家公司。到新公司后,在一次与同事的聊天中,得知 赵炯 博士 写了一本**《Linux内核深入剖析》**的书, 并且他还建了一个论坛 www.oldlinux.org

我像是发现了新大陆,在 2005 年那一整年的时间里,我常做的有两件事儿:

  • 一是根据《Linux内核深入剖析》这本书,深入的阅读了 Linux 老版本内核的代码。清楚的知道了当计算机启动后,操作系统是如何从磁盘上被引导到主内存中开始执行的。然后,它又是如何通过CPU各种"门"从用户模式切换到内核模式的。大学里学习操作系统课如读天书,而到此时, 我才真的理解操作系统中的CPU管理,内存管理,设备管理以及文件管理到底是怎么回事儿。随着研究的深入,它像一副图一样在我的脑海里逐渐延展开来。

  • 二是逛 www.oldlinux.org 论坛,将自己学习的一些心得体会分享给大家,也从别人的回答中得到灵感。你有任何问题放到论坛里,很快就会有人来答复。

由于在坛子里呆的时间长了,渐渐的我也成为了一个版块的版主。在那段时间中,论坛非常的活跃,你可以在论坛中看到各种操作系统的源码, 如minix, oldlinux, ms-dos等等, 还可以看到很多网友自己写的小型操作系统。

除此之外,你还可以学到 C/C++ 的各种用法,如何使用嵌入式汇编语言对代码进行优化等等。那真是一段快速成长的阶段,这样的学习机会和效率可要比上研究生强百倍。

由于经常看一些优秀的代码,我的编码水平有了质的飞跃。在很短的时间内,我就从一个编程新手成为了可以独挡一面的高级程序员。

生活是否美好, 要看你的眼光

2006年左右智能手机逐渐的进入到人们的生活中。以诺基亚为代表的手机厂商在那几年着实火了。但真正给我带来震撼的还是 2007 年第一部iphone手机的出现。

那大约是在 7、8月间,同事去香港出差回来时买了一部iphone,当时觉得 iphone 的出现简直不可思意,感叹苹果真是一家伟大的公司。不光是其优雅的手机操作方式,还因为它可以像电脑一样访问正常的网页。而当时其它智能手机还只能访问那种十分丑陋WAP站点。

iphone手机的出现使我意识到,以后的手机不光是一部手机,还是一台可以移动的电脑。除了接打电话,还可以用来办公。甚至编写代码,只要给他配置上键盘和显示器就可以了。

那时已朦胧的感觉到以后智能手机一定会有好的发展。于是 2007 年底我辞职进入了一家做手机应用开发的公司。

当时做的产品类似于以前的彩玲,当有电话打进来时,显示一个大头贴,用户可以根据自己的需求进行变更。现在大家觉得这个功能没什么了不起,但在当时做起来却困难重重。

  • 首先当时还是2G的移动网, 速度很慢;
  • 其次相应的人才很少,基本上都是从传统的C/C++转型过来的;
  • 第三塞班系统的开发很变态,又没有太多的资料,大家基本上是边学边干。

回想起来,我可能是中国移动互联网的第一批开发人员了。有句俗语说的好,后浪推前浪,前浪死在沙滩上。我在的那家公司在移动互联网的发展上并不顺利,当时的技术还不成熟,产品也不够给力,也没有好的盈利模式,最后导致大批的人员流失。

这家公司的很多同事之后展转都去了腾讯、阿里等大公司,并做到了很高的职位, 其中腾讯手机QQ的前几版就是由我的几个同事带人做出来的。

而令我懊悔的是,我是以服务端开发人员进入的公司,中间几次试图转去移动端都没有成功。最终没能留在移动互联网领域,导致我没有享受到日进斗金的红利。

后来复盘我的失误,很大程度上也和我自己的优势有关。我对 Linux 系统和服务器开发太熟悉了, 这能发挥我最大的优势。而转到移动端,自己要从头学起,还要降薪,导致我下不了这个决心。

其实,2008年的时候我就已经开始研究 Android 开发,当时还没有实体机,只能在模拟器上进行实验。当时的Android实在是太简单了,简单的无法激发我的学习兴趣。又没有实体机,最后觉得索然无味,也就放弃了。

痛失移动互联网真是我的最大失误,如果当时没有离开的话,我可能有另一翻人生了。值得欣慰的是,有得有失。离开移动互联网后,我进入了一家音视频会议公司。

在这家公司我有幸全程参与了一个全新的云会议音视频平台的开发。这个平台与大家熟悉的直播平台类似,不过要比直播平台的技术难度不知高了多少。

最大的难点是可以支持多人、多视频实时互动。其特点是可以与所有的终端联接在一起, 如硬件视频会议、电视盒子、各种手机终端甚至电话。

可以想像一下,在一个视频会议中,一群人是通过电脑进来的,另一群人是通过电话进来的,他们像坐在同一个会议室中一样进行讨论沟通。在会中的人哪怕一秒的延迟,在电话的一端都是无法忍受的,这是多大的难度呀!

我在这家公司一干就是 6 年,从一个资深开发人员变成了高级管理者。

机遇可遇不可求,是否能过上美好的人生,主要是你的选择,你的眼光。对于我来说,无论怎样,最终没有留在移动互联网, 错过了10年红利,这绝对是我的选择失误。

人到中年的焦虑

我曾在西二旗工作过一段时间,现在的西二旗可真是太有名了。中关村,上地,西二旗就像《茶馆》这台大戏的三个阶段(清末,军阀混战,民国)一样,演绎着中国IT科技的变迁。

而现今的西二旗成了互联网公司的聚集地。百度,新浪,网易,腾讯门对门,脸对脸贴到了一起,使这里成了一个神奇的地方。(我一直在想,他们是觉得这样大家跳槽比较方便吗?)

现在的西二旗人都是科技精英,但这些精英拿高薪也不是无故来的。汗水+泪水,甚至奉献了青春与生命。

离开音视频会议公司后,我被一家互联网在线教育明星企业以优厚的条件招入。公司为了尽快占领人们“心智”,实行996(早9点到晚9点,工作6天)工作制。为了赶项目,熬夜工作到凌晨1-2点是经常的事儿。剩下的唯一一天可能还会被拉去开会。在那一年多的时间里,我的身体被严重透支。

2017的下半年, “互联网转入下半场”,“华为不要35岁以上的员工”,"中国经济衰退"这类消息满天飞,其实细细想来,每一条消息都预示着 40 岁以后的你有可能失业。想到哪天可能要失业,想到孩子马上要上学,想到未来没有了好的生活保障,怎能不让人产生焦虑呢?

告诉你一个事实,不光是打工者焦虑,老板更焦虑,人到了中年都会焦虑。有工作上不能完成指标的焦虑,有生活上不顺心的焦虑,有孩子上好学校的焦虑,不一而足。而且你的责任越大,焦虑也就越多。据说新东方的俞敏红每天焦虑的睡不着觉,只有到美国后,才可以让自己放松下来。

怎样的人生才是我想要的?

人到了一定年龄, 一定的阶段都会去想三个问题,从哪里来? 到哪里去? 你要成为什么样的人?说到底就是要思考你想要怎样的人生。

在西二旗的那段时间里,身体严重透支的情况下我开始思考,我想要怎样的人生?我工作的开心吗?要不要为了钱可以不顾身体,可以不考虑心情?

每个人经历不同,就会有不同的选择。对于我而言,身体、老婆、孩子才是最首要的,因此我离开了西二旗,这个神奇的地方。其实仔细想想,这世界上还有什么比自己的身体和家庭更重要的吗?

我到底想要一个怎样的人生?

  • 有一份自己值得一生追求的事业。
  • 有一帮志同道合的兄弟姐妹,可以为了这份事业相互鼓励,砥砺前行。
  • 除了工作外,可以和朋友、同事一起喝点小酒, 聊聊天。

这就是我想要的人生,哈!

我的课程地址

WebRTC实时互动直播技术入门与实战