作者 | 村村
责编 | 伍杏玲
出品 | 程序人生(ID:coder_life)
【编者按】作为程序员,纵然加班繁多,写的代码也不少,做出的努力也不少。可大多数程序员仅停留在“工程师”的职位上,很少人能走到“架构师”,这是为什么呢?本文作者一同和大家探讨下。
我们程序员一生都在不断地学习,我们从未停下对新技术、新风口的探索,但在技术不断提高的过程中,我们总会发现技术储备始终与技术大牛相差甚远,几年前有一张华为总部大楼夜晚灯火通明的图,放在今天成了不正确的代名词,可还是会有人讲:“那些勤奋的人,终究得到应有的殊荣。”
技术,不在于时间的沉淀
我有个朋友,是个不太出名的赛车手,他的技术虽然和顶级的F1赛车手相差甚远,但与大部分出租车司机相比,无论是公路还是山地,驾驶能力都远超后者。其实他拿到驾照才不过7年。
而一位四十余岁的职业司机,生涯里的车程不低于30000小时。
我曾经问他是不是由于你们的训练方式和上手的车型不一样?而赛道是崎岖的山路,并非拥堵的市区?
他告诉我:“只是要一次比一次快。”
我们可以把出租车司机视作一位在行业内有很长时间沉淀的程序员,赛车手可以视作一位架构师,他们在工作的同时间维度上并无太大分别,但学习的方式存在巨大的差异,在19世纪末期,这种学习方式就已经得到了系统化的分类。
同等时间下的学习方式可以分为三种:
玩耍:这个方式的最大特点,在于没有明确目标的开展行动,获得感在于内心的愉悦。例如和朋友一起打篮球,进球取得的胜利当然会令人愉悦,但仅仅是玩10000小时,我们依然很达到顶级水平。
工作:每个人最初进入行业都在这个阶段,除去极个别的行业,工作中存在大量重复性劳动,往往还存在工作内容之外的竞争使人分心。工作最大的特点在于利益驱动,每个人都在为了薪水而努力,当对于目前的薪水满意时,人们很容易陷入舒适区而进入重复劳动的阶段。
刻意练习:刻意练习,也叫做刻意训练,此类活动的目标只有一个,就是为了成为非同凡人的大师而存在,如果仅仅因为喜欢,反复训练后爱好会被消磨殆尽。刻意练习的过程往往极其枯燥,在过程中可能很难短期拥有获得感和存在感,很多人无法坚持下去。
我们没有听说过五十岁还顶在一线的996程序员,也没有听说过五十多岁的职业赛车手,普通司机和赛车手的区别到底在哪?小白和大牛的差距到底在哪?程序员和架构师的学习方式在哪里有所不同?
围棋的学习方法,在不同领域是适用性最强的,因为这项运动不分老幼,但顶级的棋手如柯洁,他的年龄并不大,但已经数次站在世界之巅,因为,职业棋手从不长时间下舒适区内的棋,提高技术只打谱,在刻意练习中,这种方法叫做学习定式。
学习定式
围棋19条交叉线路的361个网格里,每一个不同线路上出现的棋子,都是一个全新的问题,而破解问题最快的手段不是研究和推导,而是直接从最优解中选取合适当下落子情况的解题方法,称之为“定式”。
优秀的棋手从未在熟练运用一套定式后开始随心所欲地玩棋,而是在不断全新的落子复盘中,从最优解的定式中选取方案与之应对,这样永不停滞的学习方法造就了当下顶尖棋手,称之“学习定式”。
如果棋手数万小时不断打磨技巧的方法论一般,停滞在舒适区内的时间不属于通往大师的路,程序员向架构师进阶的路从不是未知等待探索的局,是早有定式可言却又被无数人忽略掉最优的提高方法。
进阶架构师,找到属于自己的定式
定式一:发散思维
我们经常看到争论语言高低的言论,其实语言之间并无高低,如果自己带队操作项目,团队里任何语言的人才和工作定位都要优秀的架构师要考虑的。
我们要有善于学习不同语言和不抵触新技术的视野,保持对每个主流技术环节瓶颈的关注,以便更好的设计架构和技术选型。
定式二:洞察业务
没有不懂业务的架构师,所有的架构都要依赖业务而存在,刻意练习业务代码的输出也是不可以或缺的基本功。
对于每个公司而言,架构师能够准确看到公司业务核心需要解决的问题,“最高层次的规划,难以改变的决定”这句话本身用来形容架构再恰当不过,但进阶架构师需要对企业核心业务从多性维度产生的思考和分析,需要长期不断的洞察和揣测。
定式三:练习沟通
沟通的重要性不亚于技术能力,“知识的诅咒”里讲到越是在独立领域钻研度深的专家,对话时容易产生的误区越多且越复杂,甚至会演化成两个专业术语交互活动。
优秀的架构师需要协调每个环节不同技术领域的大牛,甚至跨部门和产品、运营、项目等达成有效沟通,从练习理解每个人的意图,和明确向团队表述自己的意图至关重要。
很多人在学习技术的时候担心自己起步晚,也有很多人在技术稳定时失去对未来的眼光,默然冷视因为年龄大被更新换代掉的人。
其实不妨想想,需要面对危机的是每个人,能够直视危机并找对自己进阶方向的人不但能够成为翘楚黑马,更能在竞争愈加激烈的行业内成为不可或缺的人。
作者:村村,中国技术创业协会认证企业孵化导师,地产经济业态管理,大数据算法模型分析师,斜杠青年,技术干货公众号:编程新鲜事。
作为码一代,想教码二代却无从下手:
听说少儿编程很火,可它有哪些好处呢?
孩子多大开始学习比较好呢?又该如何学习呢?
最新的编程教育政策又有哪些呢?
下面给大家介绍CSDN新成员:极客宝宝(ID:geek_baby)
戳他了解更多↓↓↓
热 文 推 荐
☞ 华为至暗一周,任正非回应一切;开源代码不受美国出口管制约束;GitHub 开启赞助功能:用金钱贡献开源项目 | 开发者周刊
为什么你写了一万小时的代码,却没能成为架构师?| 程序员有话说
☞ 大神!这段代码让程序员躺赚200W,源码简单,你怎么看?
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/2cba20d74577dec51dc9daf89a6a59e5.png)