Why did you write a million hours of code that failed to become an architect?

Point of attention, do not get lost; continually updated Java-related technologies and information architecture thermal paper! ! !

Sharp-eyed friend may also see this blog page upper left corner there are surprises yo

As a programmer, even though many work overtime, write the code a lot, trying to make too many. Most programmers can only stay on the job, "engineer", very few people can come, "architect", this is why? The authors together and we explore next.

Our programmers are constantly learning life, we never stopped to explore new technologies and new outlets, but technology continues to improve the process, we always find technical reserves and technology has always been a far cry from Daniel, years Huawei headquarters building in front with a view of the lights in the night, on the incorrect became synonymous today, someone can still say:. "hard-working people who, after all, deserve the honor."

Technology, is not the time of the precipitation

I have a friend, a little-known racing driver, though his skill and top F1 racer far, but compared with most of the taxi drivers, either road or mountain, far exceeds the latter driving ability . In fact, he got the license was only 7 years.

And a more than four-year-old professional drivers, career drive of not less than 30,000 hours.

I once asked him not because of your training methods and models to use is not the same? The track is hilly, not congested urban areas?

He told me: "Just to be faster than the first time."

We can regarded as a taxi driver for a long time precipitation programmers in the industry, racers can be regarded as an architect, they were not much work at the same time dimension, but the way of learning there is a huge difference, in the late 1800s, this approach to learning has been a systematic classification.

Learning at the same time can be divided into three types :

Play : the most important feature of this approach is that there is no clear targets for action, get a sense of that inner joy. Such as playing basketball with friends, the victory achieved the goal of course pleasant, but only played 10,000 hours, we are still quite reach the top level.

工作:每个人最初进入行业都在这个阶段,除去极个别的行业,工作中存在大量重复性劳动,往往还存在工作内容之外的竞争使人分心。工作最大的特点在于利益驱动,每个人都在为了薪水而努力,当对于目前的薪水满意时,人们很容易陷入舒适区而进入重复劳动的阶段。

刻意练习:刻意练习,也叫做刻意训练,此类活动的目标只有一个,就是为了成为非同凡人的大师而存在,如果仅仅因为喜欢,反复训练后爱好会被消磨殆尽。刻意练习的过程往往极其枯燥,在过程中可能很难短期拥有获得感和存在感,很多人无法坚持下去。

我们没有听说过五十岁还顶在一线的996程序员,也没有听说过五十多岁的职业赛车手,普通司机和赛车手的区别到底在哪?小白和大牛的差距到底在哪?程序员和架构师的学习方式在哪里有所不同?

围棋的学习方法,在不同领域是适用性最强的,因为这项运动不分老幼,但顶级的棋手如柯洁,他的年龄并不大,但已经数次站在世界之巅,因为,职业棋手从不长时间下舒适区内的棋,提高技术只打谱,在刻意练习中,这种方法叫做学习定式。

学习定式

围棋19条交叉线路的361个网格里,每一个不同线路上出现的棋子,都是一个全新的问题,而破解问题最快的手段不是研究和推导,而是直接从最优解中选取合适当下落子情况的解题方法,称之为“定式”。

优秀的棋手从未在熟练运用一套定式后开始随心所欲地玩棋,而是在不断全新的落子复盘中,从最优解的定式中选取方案与之应对,这样永不停滞的学习方法造就了当下顶尖棋手,称之“学习定式”。

如果棋手数万小时不断打磨技巧的方法论一般,停滞在舒适区内的时间不属于通往大师的路,程序员向架构师进阶的路从不是未知等待探索的局,是早有定式可言却又被无数人忽略掉最优的提高方法。

进阶架构师,找到属于自己的定式

定式一:发散思维

我们经常看到争论语言高低的言论,其实语言之间并无高低,如果自己带队操作项目,团队里任何语言的人才和工作定位都要优秀的架构师要考虑的。

我们要有善于学习不同语言和不抵触新技术的视野,保持对每个主流技术环节瓶颈的关注,以便更好的设计架构和技术选型。

定式二:洞察业务

没有不懂业务的架构师,所有的架构都要依赖业务而存在,刻意练习业务代码的输出也是不可以或缺的基本功。

对于每个公司而言,架构师能够准确看到公司业务核心需要解决的问题,“最高层次的规划,难以改变的决定”这句话本身用来形容架构再恰当不过,但进阶架构师需要对企业核心业务从多性维度产生的思考和分析,需要长期不断的洞察和揣测。

定式三:练习沟通

沟通的重要性不亚于技术能力,“知识的诅咒”里讲到越是在独立领域钻研度深的专家,对话时容易产生的误区越多且越复杂,甚至会演化成两个专业术语交互活动。

优秀的架构师需要协调每个环节不同技术领域的大牛,甚至跨部门和产品、运营、项目等达成有效沟通,从练习理解每个人的意图,和明确向团队表述自己的意图至关重要。

很多人在学习技术的时候担心自己起步晚,也有很多人在技术稳定时失去对未来的眼光,默然冷视因为年龄大被更新换代掉的人。

其实不妨想想,需要面对危机的是每个人,能够直视危机并找对自己进阶方向的人不但能够成为翘楚黑马,更能在竞争愈加激烈的行业内成为不可或缺的人。

Guess you like

Origin blog.csdn.net/Java_No01/article/details/90674490