“程序员是一门吃青春饭的职业”、“30 岁以后程序员该何去何从”、“大龄程序员缺乏竞争力”等一些诸如此类的观点和言论在近些年总会被媒体或个人拿来有意无意地制造焦虑。
诚然,如果把程序员这个行业当成是“体力导向型”行业,而你的优势在于“能加班”、“敢拼命”,那在走到三四十岁的时候,理所当然就会发现自己越来越力不从心,拼不过年轻人,更拼不过毕业的学生。但我们应清楚的认识到,这是一个“技术导向型”的行业,虽然年轻人经过培训也能很快上手你的工作,但“能做”和“做得好”是两码事。时间带给你的不应只是年龄,你拥有的经验和技术积累、在工作中习得的知识这些都是难以被取代的。
那么对于程序员职业生涯的发展,技术大咖又是如何看待的呢?在 12 月 23 日开源中国源创会年终盛典上,我们采访了国内最有影响力的 PHP 专家鸟哥,他和我们分享了当年求学时期的“热血”经历和职业生涯中的一些心路历程。此外,鸟哥还就当前关于程序员的一些热点话题发表了自己的看法。
【本期嘉宾】
惠新宸,鸟哥,国内最有影响力的 PHP 技术专家,PHP 官方开发组核心成员,PHP 7 核心开发者。曾供职于雅虎、百度、新浪,现任链家网技术副总裁兼总架构师。鸟哥作为 PECL 开发者贡献了 Yaf、Yar 以及 Yac、Taint 等多个优秀开源作品,同时也是 APC,Opcache,Msgpack 等项目的维护者。
【采访实录】
1. 首先想问一下,您刚加入链家的时候,在媒体采访中您说未来的工作主要是管理和研发。目前您在链家的工作,管理和研发这两块的分配比重是怎样的?是否还投身于一线写代码?
目前在链家主要还是负责管理方面的工作。
至于技术这一块,当然也还会保持写代码的习惯。不过主要是业余时间写写 PHP 语言本身的开发和我自己的一些开源项目 Yaf, Yar 之类的。除了这些方面,我也会研究一些自己想玩的东西,包括业界比较热门的技术。其实现在写代码,对我来说更像是一种休息的方式。
总的来说,现在工作的重点还是偏向于管理。
2. 2015 年时,网友说您从雅虎、百度、新浪到现在的链家,这个就职选择很风骚。您曾经在微博中回复说,加入链家是为了寻找对自我更大的挑战,想问一下这个更大的挑战指的是什么?
其实无论做出任何选择,背后都会有一个核心的原因。对我而言,这个原因就是希望寻求自身的提升。事实上,无论从事怎样的工作,无论做什么事情,背后的本质一定是这个。
无论是在雅虎、百度、还是微博,哪怕现在在链家,每一个地方它都有值得我去体验的东西,我不会太在意平台的大小。有的同学可能会在意第一份工作的平台有多大,因为它能给你带来对第一份职业的第一印象,但后续更应该考虑的是,我去这个地方,我能在这个地方做什么事情,这个事情是否符合我想要做的事情的预期。
就我自身来讲,我做技术已经有十年了,算上研究生已经有十二年。在技术行业做了十二年,我一直希望能去做一件相对来说比较独立的事,不太想被人管。
当然对于大多数做技术的同学来说,期望去做自己想做的事情,要实现这个转变可能会很难。很多做技术的同学往往缺少对产品的感觉。所以他们从业多年以后会比较困扰,想着什么时候才能去做一件自己想做的事。
我喜欢做有挑战、由自己去决定和努力的事情。我喜欢有一个目标,埋头去做,不要有人天天管着我。
3. 对您来说,您的这个目标是什么?可以具体和我们说一说吗?
一开始我希望能够带领一个团队去做一些事,在产品上拥有更多的话语权,包括这个产品应该长成什么样、它的反响如何、数据表现如何。我当时主要是希望做这类型的事,对产品负责,担任一个真正的能统领大局的角色,而不仅仅是一个技术人员。技术在这过程中是一个生产工具,我更多的是希望能做出被用户认可、对用户真正有用的事情。
当然从另一个角度说,如果只做 PHP,服务于广大开发者,这也是一个选择。毕竟开发者也是一种用户。
但人嘛,人生不就是在于折腾吗?
4. 萌生了这个想法后,就想着走出去实现它,然后加入了链家?
也不是,有了这个想法以后也是在等待合适的机会,当时接触到的机会也比较多。
之所以选择了链家是因为,第一我买过两次房都是选择了链家,对链家的”不一样”有一些感受。第二是链家网比较年轻有活力,它的技术氛围也很好,我原来的很多同事都在链家工作。而且当时在跟链家网的 CEO Stanley 聊过以后,我觉得将要做的事情对我有一定吸引力,用技术推动行业进步,这个使命感。
推动行业进步说大可大,说小也可小。大家可能会觉得这个口号太空洞,没有吸引力。不过从我自身来讲,因为我买过两次房,在交易过程中,我作为消费者会有强烈的不安全感,而且消费者知情的信息都很少,所以本质上我希望能通过技术去解决相关的问题,推动信息无差别共享,从而间接推动整个行业的进步。
很多人也会问,那为什么你不加入其他公司呢?其实如果谷歌愿意把整个中国的业务交给我,我当然也愿意去啊。所以关键的地方在于要找一个双方都能匹配的点,当时我经过简单思考之后,觉得链家提供的机会跟我的意愿比较匹配,就毅然的来了。
5. 现在您在链家工作已经两年多了,是否有遇到一些新的挑战?
那肯定啊,挑战当然会有,困难也不少。
但无论做什么事都会有困难,写代码有写代码的困难,做系统有做系统的困难,做产品有做产品的困难。现在也做了职位和工作内容上的调整,我会负责一个比较新的产品,这件事情很有挑战,但也很有意思。我们努力让这个产品在明年跟用户见面。
6. 我们很多的用户都是您的粉丝,他们对您当年在求学时期的一些事迹十分感兴趣。您能和我们谈一下当年的“西交大罢餐”事件吗?
这是念大二时的事,参与这件事其实我主要是凑热闹。
当时有同学在 BBS 社区发起要搞罢餐的活动,自己也是一个热血青年,很“无脑”,也很容易就被煽动,想着说能做点什么。我就把一些宣传资料放到了自己搭建的 FTP 上,包括一些罢餐的歌曲和活动照片,然后把 FTP 地址也放上了 BBS。不过那个时候没注意自我保护,没考虑到可以根据 IP 地址查到人。
当时 FTP 的访问量非常高,把我的机器都快弄垮了。罢餐事件之后没什么动静,但过了很长一段时间,学校说要给我们处分,我当时还担心学都快上不了了。不过在我们毕业的时候,学校把处分都取消了。
现在看来,我倒觉得这件事对我是一种帮助。人常说,人经历的挫折越多,成熟得就越快,很多事情就看淡了。关于个人荣辱的一些事,我也经历了不少。现在看这些挫折对于我后来的从业、学习都有很大的帮助,让我不会太在乎当前的一时输赢。反正经历了更多的挫折对我还是有好处。
7. 前段时间有一个比较火的程序员跳楼事件,据说是由于被劝退等一些诱因导致的。而且目前很多程序员都会有一种迷茫和焦虑感,在国内的这种形势下,您怎么看待程序员的焦虑以及“程序员是吃青春饭的职业”这种说法?有什么想对年轻开发者说的吗?
首先我对发生这种事表示感到遗憾。但毕竟我们不是他,不知道他经历了多大的压力和焦虑,所以可能不太能理解他的选择。
不过很重要的一点,我觉得每个人都需要锻炼自己保持荣辱不惊的能力。生活中遇到困难和挫折很正常,但挺不过去可能就过不去了。大丈夫,要能屈能伸,正所谓“留得青山在,哪怕没柴烧”,心理健康十分重要。
第二点,我觉得并不存在“程序员是吃青春饭”这个说法。我身边有很多三十多接近四十岁的程序员,他们在自己的岗位上依然有很强的不可替代性,他们的工作都很重要,能产生很大的价值。所以我觉得程序员的职业生涯发展跟年龄有一定的关系,这是指当我们年纪大了以后,学习的精力、身体机能方面可能会比年轻人差一些。但我觉得最重要的是年龄越高,应该拥有更强的不可替代性。
不可替代性简单来说是,如果在一个公司,你的工作别人也能干,那你就有可替代性。如果你的工作别人不那么容易干,这就是不可替代性。如果你只会一门语言、一种技术,只是说能实现一个个需求,那你的可替代性非常强,但如果你跟一个产品、一个行业捆绑在一起,你的行业和产品经验很丰富,你的不可替代性就会变强。
事实上,很多行业都存在“吃青春饭”这个疑问,不仅仅是程序员群体才有。程序员不要因为众多媒体的带节奏而自乱阵脚,重要的是认清自己的价值所在。就好比大家都说程序员木讷、不会穿衣、不爱与人打交道等等,其实这些都是个体存在的问题,而且每个行业都会有这样的个体。但经过媒体的渲染、放大和贴标签,越来越多的人都有这种看法,其实这是让整个群体为个体背了”黑锅”。
最后,我觉得最重要的是不断提升自己。当然也有人又会说提升自己这个建议太空泛了,提升自己就是伪命题,不知道该提升哪方面。我觉得每个人的想法都不一样,不一定都要朝同一个方向去努力,但核心的就是要提升不可替代性。你不妨每个月问问自己,现在比上个月在哪里有成长了。
8. 开发者从事这个行业是有些是因为自己的兴趣,有些是专业对口,有些是半路转行,但逐渐的他们都有一种干腻了的感觉,您对此是怎么看待的?
很多开发者说自己的兴趣是编程,我觉得其实”兴趣”这个理由有点站不住脚。你的”兴趣”还应该是有一个更深层次的原因,这个原因十分很重要。像我自己,我做 PHP 是因为我觉得自己一直都在提升,我研究各种能提升 PHP 引擎性能的方法,这个过程能让我学习到很多新的知识,这也是我坚持的动力。所以对我而言,学习到知识,感受到今天比昨天懂得多,就是我兴趣的本因。
所以如果说你的兴趣就是编程,我觉得不够。更重要的是自己要认识到为什么兴趣是编程。如果找不到一个能让自己兴奋的点,我觉得这个兴趣是站不住脚的。
很多程序员喜欢编程,但喜欢的本因是不同的,有的可能是因为做出的作品被别人称赞、有的是因为做的东西帮助到了别人,等等。所以开发者应该找到这种本因,并且不断刺激它,在这上面发挥自己的动力。
9. 最后,您能跟我们分享一下您在之前的工作或者是学习过程中,是否有遇到一些有趣或者难忘的事情?
说一个研究生时期的事情吧。
当时我在给学院做各种各样的网站,自己也写了一个 CMS,主要是为了后续做类似的网站时效率更高。那时候刚刚流行 Ajax 技术,我就打算给我的 CMS 添加这样一个技术。比如说删除文章,点击一下就可以删除,而不需要刷新页面。然后,这个功能一直不能成功运行,当时折腾了整整一天一夜,没吃饭没睡觉,最后发现原来是编码的问题导致的。
现在看这件事,我会觉得,同一个原因会导致各种问题,而外表看来会有千奇百怪的表象。这个时候,调试错误更多是依靠经验的积累。比如调试 PHP 代码,我和别人一起调试错误,别人就会好奇为什么我觉得会是这里出问题了,这就是经验和第六感的作用。通过观察表象,我能大概判断出问题所在,所以我很乐意去多做这些事,积攒经验,培养自己在解决问题时的第六感。我觉得这是事半功倍的一件事。
像我当年遇到的 Ajax 问题,搁现在可能半个小时甚至几分钟就解决了,但当时却耗费了我一整天的时间。所以,我觉得经验十分重要。
从这个角度来看,也能说明程序员是一个随着经验越高越有价值的职业。因为经验丰富,解决问题更高效,写的代码也更健壮。
10. 所以您觉得第六感也是经验的不断积累而生成的。
肯定的。因为做的越多,经验越丰富,第六感就更强。当遇到一个问题,别人给你描述了表象,你就可以把可能出问题的点列出来,然后根据列出的点进行排查就能解决问题,这会比没有经验的同学效率高出几倍甚至几十倍吧。
转自 https://www.oschina.net/question/2928191_2272289