程序员的自我修养: 我写代码这五年
- 【程序熊的自我修养】我写代码这五年。谨以此文,纪念我过去五年的技术之路,感谢陪伴我这五年的家人,感谢所有陪我一起打拼过的战友,感谢所有阅读过我文章的陌生人。
程序员的自我修养:我写代码这五年
五年里最忙的时候需要兼顾两个公司的团队,还有论文和自己待出版的书,最多的时候直接负责过二十多人的技术团队。不过从写博客以后虽然也是断断续续,但总算坚持了下来。一年多里写了两百多篇博文,各渠道总阅读量超两百万
在对待所谓成功与经验的态度上,我是蛮欣赏勃学的态度,认清自己的同时不去盲目崇拜,不以物喜,不以己悲,。笔者在回顾自我的道路时,我觉得最大的特点会是可行的,当然也是因为我尚在起点左近吧。我没有天赋过人,当年七个月早产出生,差一点就不能跟这个世界说你好。从小略显愚笨,弱于常人,就像笔者对于数学心有畏惧,这么些年一直没学好算法结构与机器学习。笔者也没有过人的毅力与执着的态度,到现在也没能真正的好好锻炼过,也没能如预期般学完一个课程或者看完一本书。更多的时候我是想着怎么跟自己妥协,寻找到真正能够完成的,精神与肉体上都能接受的方案。
贯穿笔者整个系列的方法论,概括而来就是王阳明的知行合一,心学博大精深,我也是以自己的方式与实践尝试去理解。知行合一最简单粗暴的理解就是认知与实践的相统一,不过借用韩寒的一句话,读过很多道理,却仍然过不好这一生。现代社会我们每天或多或少的都会被灌入一些鸡汤,但是那些明明很有道理的道理却是如此的难于贯彻。我自身的自制力本就不强,因此更多的思考会立足于可行性,不过做太多超乎我执行力之外的规划,梦想总是要有的,但尽可能的让它能够实现。
高屋建瓴的技术知识体系
在物理学科中放射性元素有所谓半衰期的概念,即某种特定物质的浓度经过某种反应降低到剩下初始时一半所消耗的时间。
Stay Hungry,Avoid Foolish
睁眼看世界。心有多大,世界就有多大。井底之蛙
笔者不喜欢别人称呼大牛或者类似的头衔,在我看到的世界里不过是刚刚上路的初学者,尚有山高水长,千难万险,若现在就称大牛,真是汗颜。
知识的半衰期
从系统化学习到碎片化学习、从阶段性学习到终身学习、从专业学习到通才学习。孔子曰,三人行,必有我师焉。技术中所谓的术道之分,本文提及的《人类简史》与《未来简史
术业有专攻,专才能有,通才难得。
从指向性学习到跨界式学习从小学到大学的学习模式,所有的课程都是提前设置和规划好的,是一种序列式的指向性学习。而大学毕业以后,其实就进入了自我教育的阶段,因为工作的原因,我们不得不进行跳跃式学习。这个时候学习知识就不能太具有指向性,也就是一个知识只用来解决一个问题,而是要对知识进行跨界的迁移。回顾下我们的程序员的知识
从整体化学习到碎片化学习所谓碎片化,是一个相对概念。比如你敢一天不刷朋友圈,第二天上班同事聊天,就能一句让你插不上话,一天不看手机就会感觉整个世界都变了。另外碎片化除了占用学习时间短以外,还要能保证学习的随时随地,比如蹲厕所、等公交、开车时都可以进行学习,也就是可以满足多场景。知识的更新迭代实在是太快了,整体化学习越来越不适应市场竞争,碎片化学习的时代已经到来。所以,未来基于互联网的语音分享和视频直播,会慢慢成为人们主要的学习方式。大学里还有机会去系统的学习,工作了大部分时间被加班占据,我们的时间已经变成了碎片,每天能够抽出
从阶段性学习到终身式学习时间会消磨一切的价值,随着时代的演进,技术被再次突破,审美被迭代,甚至使用的场景也发生了根本性的变化,一劳永逸的学习方式一去不复返了。我们这代人,注定一生花在学习上的时间比真正花在实践上的时间多。因为终身式学习来了。现在已经进入到云计算时代,软件架构也要从单体过渡到微服务,
记忆宫殿:有效地碎片化学习
Learn Everywhere, Anytime.
在如今这个知识爆炸的时代,限制我们学习的不再是知识的来源,而是我们自身的学习能力与学习方式。不可否认不同人的能力是不一致的,我们也不能奢望自己能够勤奋到囊萤映雪、凿壁偷光。不仅是大部分人的努力程度之低尚谈不上比拼天赋,而且我们几乎很少能达到自己的既定目标。对于很多工作的人而言,可能只能利用晚上或者周末时间进行学习,即使制定了详细的计划往往也会因为家庭或工作的突发事件而无疾而终。这种现实的无奈是很难以人为意志为转移,因此在无法像学校那时的完全的系统化的学习。在初级阶段,我们势必是要进行碎片化学习的,这总比不学习来得好。笔者非常支持认可碎片化学习的思想,但是否定在没有知识体系的情况下盲目的碎片化学习。特别是对于尚未建立基础知识体系与认知能力的同学,如果突发性地吸收过多的知识,反而会摧毁自己的认知能力。就好像传说中的吸星大法,乱吸的后果就是体内真气斑驳不堪,最终走火入魔,爆体而亡。另外,。在没有知识体系的情况下,学习的知识都是相互独立,难以互相借鉴,举一反三,阅读也不过是春风拂面,一掠而过,不留痕迹,知识也就难以真正的沉淀下来。
从笔者自己的经历而言,最初的阅读,这个阶段非常的痛苦。在碎片化学习的过程中,我们不仅要感受到每日阅读、学习的东西,还要能够感受这些知识真正的聚沙成塔、集腋成裘,成为了你的知识体系中不可分割的一部分。
知我不知,穿越未来
I Know What I Dont Know
梭罗在《瓦尔登湖》中写道:知道自己知道什么,也知道自己不知道什么,这就是真正的知识。知我所知是对于自己能力的正确认识,知我所不知则能为自己未来的路明确些方向。
我们不能让已有的知识,已有的技术,已有的成就,已有的地位成为阻碍。
知识在它该在的地方
Code Complete》里面强调的 “programming into a language rather than programming in a language” 原则,即我们应该把编程的通用原则和规范应用到具体编程语言中,而不是受某门编程语言的限制而忽略了编程的通用原则。
笔记与博客:知识的积淀
阳明先生朝思夕计,终于领悟了格物致知,知行合一的道理,也是他面对这个世界的方法论,从此为天地立心,为生民立命,为往圣继绝学,为万世开太平。前文所讲我们竭力地去为自己开拓
生命存在的痕迹
笔者最初做笔记的时候,很多朋友会质疑,记录的笔记真的会去看吗?是不是记录之后就能记住了?答案自然是否定的,笔者一直以来鼓励自己做笔记的动力并不是让自己不会遗忘,而是希望在下一次需要的时候能够以最快的速度学习让自己回忆起之前的东西。笔者发现身边很多人的学习能力并不弱,但是技术能力难以进步突破的问题却是在于永远都在重复学习,譬如笔者团队中秉持岗位轮换的原则,可能做几个月的服务端再轮换做一些简单的前端,但是每次都需要重新学习,看不出什么进步。
罗曼罗兰说过,多数人二十或三十多岁已经死了,他们变成自己的影子,不断重复以前的自己。
打造个人品牌
在带领团队的时候我一直会思考,应该如何激励他人,常用的方式包括责任心、对于技术的追求以及物质的刺激。物质的刺激是笔者最不想用的,人的欲望是无穷的,物质的刺激作为额外的辅助,但是一直作为主要的刺激手段不免终有黔驴技穷的一天。回到本部分的主题,笔者在这几年里一直建议敦促身边的朋友们尝试着写写文章,不过能坚持下来的寥寥,更多的则是三分钟热度。估计很多阅读本文的读者也逃脱不了这个问题,因为繁忙的工作、因为总是觉得尚未准备好,一而再再而三的推迟文章的计划。最终在那一天蓦然回首,当初的梦想终归是梦想。
因此在这里,笔者想特别陈述下文章与博客对于个人发展的重要价值。
我们很多人想着去赚钱,但其实应该让自己先值钱,才能去赚钱。
时刻阅读
Read Everywhere, Learn Anytime.
按需阅读
Read It When You Need It
辩证式阅读
尽信书,则不如无书,不过这并不是不去读书的理由。
王安石天命不足畏
每日阅读清单
认识你自己
对于所谓成功者或是所谓天才,爱因斯坦说过,天才是百分之一的灵感,百分之九十九的汗水;但那
笔者并不敢随便置喙这个千古谜题,不过从笔者个人的成长经历而言,既然机器都可以通过大量的数据而不是算法的革新来提升自己的认知能力,那么人类在大量的训练、见过了很多的风景之后缘何不会得到提升呢?天地不仁,万物刍狗,在这样一个崇尚个人自由的年代,笔者相信只要奋斗就能提升自己成才的概率。苏格拉底有句名言叫认识你自己,而实际上以我们现有的认知能力很难去勾画出未来的自己,就好像你永远不知道未来的自己有多强大。入无法家拂士,出无敌国外患者,国恒亡,人也是这样,安逸的环境会掘下梦想的坟墓,本部分也是希望先描述笔者对于未来的担忧,来思考应该给予自己未来怎样的定位,才不会被这个时代所抛弃。
对于笔者而言,我认识到自己的天赋普通,也没有傲人的背景,接受的也是一般的教育与平凡的经历。笔者不会奢求完成某些小目标,但是既然外在的力量能够通过细致的分析去发现你自己,那么我们是否能通过换位的分析来更加地了解自己呢?
未来幸存者
独立而可变的意识
我是程序员
程序员的自我革命
很浮躁,很多关于技术的讨论不再关注技术本身,而是要么互相吹捧,要么人身攻击。我个人很不喜欢所谓的师徒这种关系。
程序员的使命就是自我革命
所谓更牛,就是换个罪受,我们一生都在处于不断地向上,在资讯爆炸外部资源极大丰富的年代,更大的瓶颈还是在我们自己。
他山之石,求同存异
君子慎独
道不同,不相为谋。
相看两不厌,唯有敬亭山。
渡尽劫波兄弟在,相逢一笑泯恩仇。
不想当将军的士兵不是好士兵
技术与管理二者互不冲突,笔者不太提倡单纯的炫技,我们对于技术的追求本质上还是为了构建更好的产品,而伟大的产品需要伟大的团队作为支撑,当年求伯君单枪匹马睥睨天下的时代已是明日黄花。笔者经常会思考,我的价值在哪里?实际上,而是所谓格局。格局是一个很抽象的词汇,有的人写代码的时候看到的是眼前的代码,有的人看到的是一个模块,有的人看到的是一个产品,有的人则看到的是在使用着产品的用户场景。
软件架构
定位在未来
我至今为止没有在大公司实习或者工作过
君子有责,当仁不让
老人常说,吃亏是福。
火影里鸣人穷其一生是为了获得认同,虽然有很多的羁绊,但是一生是有意义的。德国社会学家马克斯韦伯说过,人是悬挂在自己编织的意义之网上的动物。
在西欧的一些高福利国家,譬如德国,很多穷人选择主动失业以获取高福利。我们工作的目标不仅仅是为了获取
德国的穷人失去了自制力,变得不守时,变得懒惰与放纵。
我们体面着装不是炫耀的工具,而是约束自己的工具。我们以为追求生活的美好而自律,因为自律而达成体面。
路上
我在路上,仰望星空。
如果时光倒流
浪潮之间
悲悲戚戚,如丧考妣
致谢
本文最后,笔者还是想对于所有阅读过我的文章的朋友说声谢谢,你们的支持是我前行的动力,希望在未来的岁月里我能够继续完善我的知识体系中的内容,也希望能够帮助到所有花时间阅读我文章的人。未来的世界是时间的战场,愿意花时间阅读的朋友本身也是一种付出。