非常感谢你能坚持看到最后一页。希望你在看完本书后,能够把这些底层思维能力内化成自己的“不知道自己知道”。这些底层思维中蕴藏着解决问题的强大力量,当它们与软件设计相遇时,会擦出耀眼的“火花”。希望你能感受到软件设计中所蕴含的思维美学。
在你看到这本书的同时,我已经离开了阿里巴巴这个令我熟悉的环境。在接近不惑之年,我选择走出舒适圈,继续“折腾”,去一个国内知名大厂做软件教练。
很多人不理解我为何这样做,因为在国内一直有一个论断:技术人的35岁是一道坎儿,如果继续做技术,自身竞争力将开始下降,无法跟上更年轻的程序员的步伐,体力上也不能适应“996”的工作节奏。
我非常不认同“35岁现象”,根据成长型思维的观点,人类没有那么脆弱,人类的智力也不会在35岁后就停止发展,更不用说35岁之后就没有竞争力了。Martin Fowler、Eric Evans、Neal Ford这些人在60多岁时还在写代码,为什么我们中国的程序员在35岁时就应该退役了呢?
年龄不是最重要的要素,关键要看你想成为什么样的人。很多程序员抱怨“面试造火箭,入职拧螺丝”,工作没有成就感,没有成长性。实际上,程序员大部分的日常工作的确是在“拧螺丝”,我的职业生涯也是从这样的基础岗位开始的。我还记得我的第一份工作是在交通银行,因为看不惯当时乱糟糟的系统,于是我对照着一本设计模式方面的书开始做重构,重构的工作完全在我的本职工作之外,加上我当时的技术水平也是“半吊子”,结果改出了一堆bug,我不得不在客户现场随时待命,准备修复问题。然而最后,经过我重构后的系统得到了单位领导和客户的一致认可。
从那时起,我心中就已经埋下了“追求代码的极致和美”这颗种子。因此,周围的环境只是客观存在的一个因素,更重要的在于我们自己的主观想法——有没有一颗追求极致的匠心、永不放弃的恒心、坚定不妥协的决心,以及永不满足的好奇心。如果你只是妥协于外界环境的压力,只会抱怨工作的琐碎,只甘心做一个实现业务逻辑的if else程序员,那么你也许只会按照自己选择的路线沉沦下去。
软件开发行业的匠心和传统行业的匠心不一样,不是重复做简单的事情,你就能把它做好。这就好比你即使做了10年的收银员,也只是一个收银员,无法成为财务总监。在软件开发行业,你需要不断地学习、不断地思考、不断地积累、不断地尝试、不断地失败、不断地创新,才有可能做得好。
优秀的工程师,心中都有一团火—— 一种对美的追求和渴望。这需要我们经历无数个不眠之夜,承受很大的压力,受很多委屈,看很多的书,尝试很多别人没有实践过的东西,要具有一颗“不妥协、不将就、不放弃”的倔强的心。这样我们才能做出一些不同凡响的东西,才能活成自己所期望的样子。
人生不是百米短跑,而是一场马拉松,拼的是心力、体力和脑力。种一棵树的最好时间是十年前,其次是现在。从今天起,保持好奇心,持续学习,不断丰富自己、提升自己,构建自己的知识体系和核心竞争力。就像我也是在而立之年以后才开始“技术开悟”的,请相信我,一切都为时不晚。
35岁不应该是技术生涯的终点,也可以是起点。我希望我们这一代技术人能像国内外的软件大师们看齐,在技术这条路上坚持得更久一点,走得更远一点。希望有一天,中国可以涌现出更多的软件大师,产出更多原创的软件理论和方法论,为世界技术发展贡献更多的中国力量!