NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

码农精进之路:我不相信 35 岁就做不了程序员

  • 2020-06-20
  • 本文字数:4028 字

    阅读完需:约 13 分钟

码农精进之路:我不相信35岁就做不了程序员

“我有一个梦想,我写的代码,可以像诗一样优美。我有一个梦想,我做的设计,能恰到好处,既不过度,也无不足。”



很多人会有一种固化的思维,认为只有伟大的人才配拥有伟大的梦想,但其实这个世界上原本就没有那么多伟大的人。所有伟大的梦想都是由普通人一点点的小愿望经过不断地努力,最终才变得不那么平凡,甚至称得上伟大的。张建飞一直觉得自己就是一个再普通不过的人,但是拥有自己小小的梦想,也愿意为了梦想坚持和努力。

坚强的母亲带给自己不愿服输的性格

张建飞于 1982 年出生在皖南一个很普通的农村家庭。出生的那天,全村人都在参加婚礼,也许是受热闹气氛的影响,他比预产期提前了好几天降临,直到建飞已经呱呱落地了,父亲才从酒席上赶回来。还好母亲心态好,一切也都顺利。


80 年代的中国农村,虽然已经不存在温饱问题,但是日子过得还是很紧巴,一到下大雨的天气,家里的土房里就会下小雨。建飞从小就会帮助家里做一些力所能及的活儿,一家人虽然生活清贫但也拥有朴实的幸福。


在他 7 岁的时候,母亲决定建新房子。这可不是一件小事情,虽然妈妈和爸爸靠做衣服这个手艺挣到一些辛苦钱,但是离建房还差一些。就是在那种比较艰难的环境中,家里还是修起了新房子。建飞知道母亲在这其中做了很大的努力,这再次让他感受到母亲坚毅的性格,只要她决心要去做的事,一般都可以做成。


母亲有两个哥哥一个妹妹,在她 9 岁的时候外婆就去世了,外公是一个脾气暴躁、不会关心人的粗线条男人。母亲除了要给一家人洗衣做饭以外,还要在父亲发火的时候,保护妹妹。不好好的生活环境养成了她坚强不愿服输的性格,而这种性格从小又带给建飞很深刻的影响,让他自小就愿意多去尝试和努力,不会轻易服输。



张建飞和家人

成长中的无数小事,铺就了日后的路

小时候的张建飞并不是一个很自信的人,总觉得学习平平的自己在各个方面都很普通。小学 5 年级的时候,他和几个小伙伴在村里的一个池塘游泳。当轮到建飞的时候,他用最大的力气把自己抛向空,等砸到水里之后感觉一阵剧烈的刺痛,左脚被严重的割伤了,脚底几乎一半的肉已经被割开,可能是速度太快,伤口好像都来不及流血。正值小升初的关键期,这件事耽误了考试,他不得不在 5 年级又多待了一年。


但是塞翁失马,焉知非福,在留级的那一年,张建飞小宇宙开始爆发,成绩出奇得好,在各种竞赛中都拿到了很好的成绩。做惯了普通学生的他,突然发现自己也是有潜力变好的。后来在高考时分数刚刚跨过重点线,为了能选上一个比较热门的专业,他特意选了一所离家很远的普通 211 学校——云南大学。


离家遥远的代价就是每年他不得不坐上 2 天 2 夜的火车去学校上学,而且每年春运火车票非常紧张,连坐票也没有,只有站票。因为离家太远了,建飞基本上一年只在寒假的时候回家一次,暑假一般都留在学校勤工俭学。可以说,这个过程很大程度培养了他去探索和敢于吃苦的精神。


大学时候,张建飞有两个兴趣爱好,一个是英语,一个是打篮球。英语对编程的帮助主要还是在看书和看资料方面,打篮球也让他拥有健康的体魄。在建飞看来,人生是一场持久战,健康是 1,其它都是 0。更何况编程要学的东西非常多,没有一个好身体打持久战可不行。

人生每个转折点都是一种选择,工作让我更成熟

2007 年计算机工程硕士毕业后,张建飞先后在软件公司 InfoSys 与互联网公司 eBay 担任高级研发和技术专家的职务。2007 年到 2010 年是高级研发工程师,2010 年到 2014 年是技术专家。这段工作经历最大的成长是在 eBay 学会了大型分布式系统的技术体系。


2014 年,他加入阿里巴巴,先后在 1688、ICBU 和零售通担任技术主管。他非常认同阿里的文化和价值观,比如“客户第一,员工第二,股东第三”,就是一种利他文化,当我们越多地帮助他人成功的时候,自己才会成功。再比如“唯一不变的是变化”,阿里强调拥抱变化,他也非常认可。这两个价值观促使建飞不断学习、不断成长。


建飞在阿里工作最大的转折点发生在 2015 年年底,也就是加入阿里半年后。因为自己自小就不是一个太自信的人,而且还很敏感,非常在意别人的眼光和看法,所以在入职阿里之后,张建飞想要快速地去证明自己,这种“求功心切”的想法无形中给了他巨大的压力。在这种压力和焦虑之下,工作也很难做好,工作做不好又会更加焦虑,形成了恶性循环。最严重的时候,他连续失眠两个星期。



张建飞和朋友


使得张建飞状态逐渐调整好的方式是看书。这个阶段对他影响最大的有两本书,一本是《 成长型思维 》,另一本是《 活出生命的意义 》。


《成长型思维》教会了他要用发展的眼光看自己,焦虑不能改变现状,而持续学习、提升自己可以。《活出生命的意义》教会他生命的潜能是无限的,即使在最糟糕的境地,我们也有选择的自由。这之后张建飞逐渐放平了心态,平复了思绪,该学习学习,该运动运动,该努力努力,该度假度假,不再那么敏感,也不再那么在乎别人的眼光,这才有了后面的 COLA,有了《代码精进之路:从码农到工匠》。


2018 年的时候,建飞带领团队在部门的代码大赛上拿到了第一名。当时的奖励是和集团副总裁玄难共进晚餐。在晚餐会上,玄难同他们聊了很多有关自己的心得,这对张建飞有很大的激发。张建飞向玄难表达了想写一本书的想法,玄难表示很支持,还答应给书写序。


后面,每当在工作中遇到问题,玄难也会像朋友一样给张建飞指点,给了他很多的力量。

好奇心给我热情,写代码是一直探索到老的事情

对张建飞而言,当初选择了计算机专业并不是没有后悔过,选计算机专业没有别的,就是因为计算机是当时的热门专业,但其实他一度认为自己不适合编程。直到大学毕业那年,他也没有写过几行代码,还好学校的计算机课程大部分是不用编程的,否则建飞认为自己甚至会很难毕业。后来读了研究生,研究生的前半部分生活简直就是大学的延续,上课、寝室、球场、英语角……直到开始做一些小项目,才开始了张建飞真正的编程人生。


他是一个典型的慢热型程序员,虽然很慢热,但他一直没有放弃学习,没有放弃得的更好 。建飞不相信什么“35 岁之后做不了程序员”之类的话 ,他认为我们就是要活到老,学到老。写好代码不是一件容易的事,唯有不停地学习,不停地探索,向国外的编程大师们看齐,保持精进,才有可能把这件事做得更好。


好奇心对建飞职业的影响是他一直在探索如何写好代码。从开始工作的第一天起,就有这个想法,不过受限于当时的技术能力和经验,一直没有找到很好的方法。直到《代码精进之路:从码农到工匠》的出版,才算是找到一些门路。但他知道,这只是开始,未来的路还很长,自己会继续保持好奇,继续探索。


张建飞的偶像是维克多·弗兰克尔博士,正是他让自己看到人类如何在最恶劣的环境下仍然可以发出人性的光辉。反观自己,我们受的这点苦,根本就不值得一提。维克多·弗兰克尔博士说过:“人越是忘记自己——投身于某种事业或献身于所爱的人——他就越有人性,越能实现自己的价值。所谓自我实现,绝不是指某种可以实现的目标,因为人越是追求这个目标,越是容易失去。自我实现是自我超越唯一的副产品。”这些都给了建飞很大的启迪。


说到研发 COLA(全称是 Clean Object-Oriented Layered Architecture)的初衷,建飞觉得在做了多年业务技术开发之后,他发现“日子再也不能这么过”,为什么所有的业务代码都这么混乱,这么复杂?解决复杂度就是他研发 COLA 的初衷。


COLA 的优点是它给那些想实践 DDD、想写好业务代码的同学提供了一个可以落地的框架,可以减少他们的学习成本和探索路径。COLA 对行业的最大贡献是让 DDD 从一个形而上的思想,变成一个可以看得见、摸得着的代码框架。同时其扩展点的设计是继承之阿里中台的扩展设计,对于那些想要通过一套代码支持多个业务,或者多个租户的场景也能提供帮助。

创作《代码精进之路》的初衷,写出更好的代码

2018 年 7 月,张建飞在阿里巴巴内部的技术博客 ATA 发表了一篇文章《技术人自己的 KPI》,表达了对技术团队越来越没有“技术味道”的担忧,以及技术团队除了业务项目之外,还应该有属于自己的 KPI,而不是完全和业务的 KPI 绑定。让业务先赢应该是底线,而不是全部。文章中还提到,程序员要有工匠精神,并鼓励大家通过学习、实践、分享不断提升编码能力和设计能力。用工匠精神写每一行代码,而不是简单地通过代码堆砌实现业务功能来交差。



张建飞和阿里的同事


该文章在阿里巴巴内部和外部(在公众号“阿里技术”上也有发表)引起了不小的反响,道出了很多一线工程师和技术 Leader 的心声。大家纷纷表示技术味道的缺失不利于工程师自己的成长,从长远来看,也不利于公司的发展。我们需要做出改变,需要一种追求卓越的工匠精神。


基于这个出发点,建飞提出了一套对技术人员技术工作进行量化的指标,并通过“工匠平台”这个产品进行落地。“工匠平台”会收集这些技术指标,并对其进行评分和统计,从而提供一个更加全面的技术人员画像,更加客观地反映技术人员的技术贡献。


张建飞很多次在思考,在软件的世界里,到底有没有优雅的代码和整洁的架构呢?他想还是有的,但是更准确地说是:有优雅代码和整洁架构,但是没有一成不变的优雅代码和整洁架构。在软件的世界里,一定要学会变通,不能教条。


就是这样的,我们学会规则的目的是为了知道在什么时候打破规则。不是说你使用了 COLA,就一定要遵守 COLA 的条条框框。不是的,你完全可以变通,可以发展,可以尝试不一样的做法。只要这种做法在你的语境下是合理的,就可以去做。


张建飞说,他有一个梦想,他写的代码,可以像诗一样优美;他做的设计,能恰到好处,既不过度,也无不足。他认为工程师最大的美德就是写出让人可以看懂的代码。



编后语:张建飞说过,他最希望将《代码精进之路》推荐给职场新人看,因为如果在你初入职场的时候,就有一个人教你怎么写好代码,那一定是一件很幸运的事情。


“种一棵树最好的时间是在十年前,其次是现在”。我不相信什么“35 岁做不了程序员”,也不相信什么“年纪大了,精力不够”。我只知道有些人在持续学习,有些人过早地享受安逸。


愿你在新的一年可以快乐,也能有所收获。


2020-06-20 18:361171

评论

发布
暂无评论
发现更多内容

【高并发】如何使用互斥锁解决多线程的原子性问题?这次终于明白了!

冰河

并发编程 多线程 协程 异步编程 精通高并发系列

大数据培训Spark SQL知识点与实战分析

@零度

spark 大数据开发

OneFlow学习笔记:从OpExprInterpreter到OpKernel

OneFlow

数据结构 学习笔记 虚拟机 代码 oneflow

华为云持续快速增长,IaaS市场排名中国第二、全球第五

科技热闻

原生JavaScript灵魂拷问(二),你能全部答对吗?

战场小包

JavaScript 前端 4月月更

划重点,2022 常见的面试题和八股文都为大家总结出来了

Java架构追梦

程序员 java面试 后端开发 Java面试八股文

【三级等保】三级等保办理流程经验大分享

行云管家

网络安全 等保 等级保护 等保三级 等保2.0

【架构视角】一篇文章带你彻底吃透Spring

潘大壮

spring 后端 springboot 后端开发

2022年国内外主流的10款Bug跟踪管理软件

PingCode

web前端培训React 中Router的必备知识点

@零度

前端开发 React

知乎疯传3W次,堪称最强Java面试题,顺利拿下京东T5的35K*16 薪 Offer...

Java架构追梦

程序员 java面试 offer 后端开发

【堡垒机】2022年网络安全堡垒机厂商排名看这里!

行云管家

网络安全 堡垒机 移动云 网络安全堡垒机

已开源!分发业务看过来【跨端动态模板引擎】

阿里巴巴文娱技术

ios android 开源 开发工具 移动开发

没想到我也可以入职阿里,两年CRUD,二本毕业,备战两个月面试阿里,侥幸拿下offer定

Java架构追梦

Java 程序员 后端开发

国产ETL自动化运维调度工具 TASKCTL 控制容器概述

TASKCTL

大数据 DevOps 分布式 自动化运维 Kafka ETL

netty系列之:可能有人听过ThreadLocal,但一定没人听过ThreadLocal对象池

程序那些事

Java Netty 程序那些事 4月月更

基于SpringBoot2+redis+Vue商管系统,秒杀等,可二次开发接私活

Java架构追梦

Java spring 后端开发

恒源云(Gpushare)_VSA:一个可变形尺寸窗口自注意力模型

恒源云

深度学习 GPU算力

三生万物,万企明道|明道云发布三周年

明道云

使用xdebug调试php详细教程

CRMEB

云电脑的四重守护,安全有谱

天翼云开发者社区

安全 云电脑

低通信量是筛选分布式多方安全计算常用安全协议方案的先决条件

易观分析

安全多方计算 低通信量

总结JAVA全栈知识点,七面阿里成功斩获P8Offer

Java架构追梦

程序员 java面试 后端开发

蒙牛乳业加入星策开源社区,携手推动企业智能化转型建设

星策开源社区

人工智能 机器学习 企业数智化 智能化转型

蚂蚁三面被挂,幸获内推,历经5轮终于拿到口碑offer

Java架构追梦

java面试 后端开发 程序员面试 大厂Offer

我以为自己MySQL够牛逼了,直到看到了Alibaba的面试题,是我不配了。。

Java架构追梦

Java 后端开发 MySQL 运维 程序员面试

百度ToB垂类账号权限平台的设计与实践

百度开发者中心

神秘男嘉宾登场,引爆全场灯光?

龙智—DevSecOps解决方案

Atlassian Confluence confluence插件

Apache APISIX Summit ASIA 2022——5月20日开启开源生态探索之旅

API7.ai 技术团队

网关 API网关 APISIX 开源生态 summit

浅谈小程序开源业务架构建设之路

百度开发者中心

已开源,就等你来!优酷动态模板研发体系为分发提效30%!

阿里巴巴文娱技术

开源 前端 开发工具 移动开发 开发框架

码农精进之路:我不相信35岁就做不了程序员_文化 & 方法_技术琐话_InfoQ精选文章