写点什么

从程序员到架构师 - 非技能篇

  • 2020-05-06
  • 本文字数:2387 字

    阅读完需:约 8 分钟

从程序员到架构师 - 非技能篇

主动学习

大脑不是一个用来填充的容器,而是一束需要点燃的火焰


----普卢塔赫


学习不是强加于你做的事情,是需要你主动做的事情,仅仅掌握知识不去实践是没用的,古人已经总结了,纸上得来终觉浅,绝知此事要躬行,学习也需要方式方法,需要目标反馈,针对自己在日常项目遇到的问题去学习再进行实践验证学习效果会更好。SMART 目标就能很好的帮助你如何学习。

SMART 目标

  • S:Specific(具体的):首先,一个目标任务应该是具体的,把学习的目标具体化,例如:『我想用 PHP 写一个 Mock 服务端』

  • M:Measurable(可度量的):如何知道你何时完成,如果无法度量目标任务,那么目标还不太具体

  • A:Achievable(可实现的):先确定目标是否合理,从你现在所处的情况着眼,让每一个目标都可实现。

  • R:Relevant(相关的):目标需要和你相关,需要在你的掌控之中。

  • T:Time-boxed(时间可控的):这是目标最重要的一个特性,你需要设定一个最后的期限,没有期限,目标会逐步衰退,它可能就无法实现。


现在互联网技术的发展也是日新月异,我们学习的速率也要提高了,目前我们获取新知识的途径一般都是碎片化的,阅读老司机的公众号或购买高质量的纸质书籍,现在的问题就是我们如何在短时间内阅读并吸收其中的技术点呢?好的阅读方法让你对于知识的掌握事半功倍,SQ3R 法主动阅读法让你如何更有效阅读。


“SQ3R 法


  • Survey(调查):带着问题审视书,看目录,各章介绍,总结,在深入细节前有一个总体的印象

  • Question(问题):写下你要弄明白的问题,标题改为问题

  • Read(阅读):可以阅读全部内容了,在困难的地方放慢速度;如果内容不是很清楚则重新阅读

  • Recite(复述):复述回想和使用自己的语言改写书本最重要的部分,做笔记(思维导图,要点)

  • Review(回顾):扩展笔记


重复阅读相同的材料和笔记,不会有助于记住你的笔记,所以多编程实践,解释给其他人听,使用思维导图做笔记——需要使用颜色、符号和其他有意义的东西标记不同的事物,认真审查是否需要生成文档,避免不必要的文档,写文档的过程比文档本身更重要,学习某项事物的最简单有效的方法是尝试教别人。

积累经验

积累经验是学习和成长的关键——实践出真知。但单纯的『实践』并不是成功的保证,你需要从实践中学习其中的价值,而一些常见障碍会让这个过程很艰难。但是你也不要刻意地拼命实践,过犹不及。我们应该研究如何利用反馈、乐趣和失败来创造更有效的学习环境,关注设定最后期限的危害,并体会如何通过自我引导积累经验。


  • 加班(我不鼓励)主动加班去掌握工作外的技能、资源,承担的多了,自然经历的就多。

  • 自学:日常项目的业务有限,不可能涉及很多,靠自学才能延伸更多的技能。可以参加一些兴趣群,相互学习进步。

  • 复盘:很多经历变成经验,往往只差一步之遥——复盘,复盘可以帮你回顾这个项目过程,就可以看到哪里做的好,哪里做的不好,我们下一次可以做的更好。

  • 换位:不能仅用现在自己的角度思考问题,多身份变换,谋求多元化,否则思维容易固化。

  • 交流:思想的碰撞才能激发灵感,多加入一些社群,听高手、同行、前辈分享交流一些过往的经验,这些往往是自己无法经历的,也是书上无法获取的。

  • 坚持:坚持上面的这些点,你不卓越都难。

控制注意力

不知道你还记得最近一次解决真正的难题是什么时候吗?你可能是在试图修复一些 BUG,或者要弄清楚为什么代码跑不动。时间飞逝,你忘了吃饭、喝水乃至睡觉,一门心思扑在你的任务上。你全身心的投入到单个项目上,如果任何人胆敢打扰你,你就会暴跳如雷。这就是「专注」。就像生活中许多事情一样,专注就像一个「冲量」的游戏,想要达到专注工作的状态很难,但是一旦进入专注状态,就能轻松的保持下去。我觉得用来形容人类思维从一个「注意力分散」的状态进入到「专注」状态的过程是再好不过的概念了。


像我们启动电脑程序,第一次打开程序往往需要较长的时间。因为计算机要花一些时间把程序代码写入到内存,之后,你使用软件就更加顺畅了。就像以前写 Java 的程序员,上班第一件事打开 MyEclipse,然后直到下班才关闭。也像你忽悠产品经理,打开网站第一次会慢点,第二次就会飞快了。所以,当我们需要对一件事情「专注」的时候,我们需要花一些时间把所有的事务在脑子里过一遍,然后才能达到思维高峰以完成任务。


如果不幸,你专注期间,产经忽如其来讨论需求,测试忽如其来报 BUG,之后你还需要重新回想刚才做到哪里,重新花一些时间来形成「冲量」。就像计算机线程间来回切换所需要花费的成本。被打断的间隔越长,需要继续之前的任务所需要的成本也就越高。


忽然想起个段子:「你跟产经讨论了一天,他的需求有了,你的代码呢?」


如何保持专注


明白了什么是「专注」,以及专注的克星「打断」。我们可以总结保持专注所需要解决的几个主要问题:


  • 锻炼专注,缩短冲量的成本

  • 减少干扰源,避免打断

  • 注意休息,注意思维体力

  • 学会管理任务,明确目标

超越自己

  • 制定计划

  • 制定一段时间的计划,然后努力实现。跟踪你的进展,当你感觉做得不沟时重新审视你的成果。

  • “不作为”是敌人,而“错误”不是

  • 危险不在于做了错事,而在于根本没去做事。不要害怕犯错误。

  • 给新习惯适应时间

  • 在新行为变成习惯之前通常需要至少三周的时间,或许更长。

  • 信念是真是的

  • 你的想法的确会改变大脑的机制和化学物质。

  • 采取步步为营的细小步骤

  • 开始时目标设置低一些。当你实现时奖励自己一下,再设立下一个目标。脑子里记住你的最终目标,但不要试图把所有步骤想明白。只关注下一步,一旦达到这一步,再继续为实现下一步目标而努力。

小结

用战术的勤快掩盖战略的懒惰!那么这样的后果就是我们把自己限死在流水线的工位上,阉割了自己能够发现业务价值的能力,而过多关注新技术对职场竞争力的价值。这也就是我们面对繁杂技术,而产生技术学习焦虑症的根本原因,希望通过上面的内容能让职业更进一步,让我们的职业生涯进行脱变。


本文转载自技术锁话公众号。


原文链接:https://mp.weixin.qq.com/s/mR7I-bi6IQRgrULeceVTQw


2020-05-06 17:42615

评论

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

模块六作业

potti

软件架构设计原则之依赖倒置原则

Tom弹架构

Java 架构 设计模式 设计原则

软件架构设计原则之合成复用原则

Tom弹架构

Java 架构 设计模式 设计原则

模块一作业

hhh

「架构实战营」

架构实战营-第三期-模块一作业

岚哲

极客时间 架构 架构实战营

Spring版本命名规则

Tom弹架构

Java spring 架构

10分钟搞懂事件驱动API

俞凡

架构 API

随便谈一下kafka消息队列

Regan Yue

kafka 10月月更

架构实战营总结

gawaine

架构实战营

Vue进阶(幺肆玖):template 标签

No Silver Bullet

Vue 模板 占位符 10月月更

电商系统微服务拆分

michael

架构实战营

HMS的舞者们,在智能世界的舞台

脑极体

【架构实战营作业】模块六——创业公司电商微服务架构

聆息

模块一作业

zjluoyue

软件架构设计原则之迪米特法则

Tom弹架构

Java 架构 设计模式 设计原则

拆分电商系统为微服务

缘分呐

微服务 电商系统

学生管理系统

Mars

架构实战营 模块一

web安全:mysql提权总结篇

网络安全学海

黑客 网络安全 信息安全 渗透测试 WEB安全

指标统计:基于流计算 Oceanus(Flink) 实现实时 UVPV 统计

腾讯云大数据

大数据 流计算 Oceanus

架构实战训练营模块一

人生就是梦

架构实战营

软件架构设计原则之单一职责原则

Tom弹架构

Java 架构 设计模式 设计原则

软件架构设计原则之里氏替换原则

Tom弹架构

Java 架构 设计模式 设计原则

这样学BAT必面之软件设计原则,还不会就是我的问题

Tom弹架构

Java 架构 面试 设计模式 设计原则

软件架构设计原则之接口隔离原则

Tom弹架构

Java 架构 设计模式 设计原则

什么是架构

天天向上

架构实战营

ZK(ZooKeeper)分布式锁实现

牧小农

zookeeper ZooKeeper原理 zookeeper分布式锁

电商微服务拆分

白开水又一杯

#架构实战营

软件架构设计原则之开闭原则

Tom弹架构

Java 架构 设计模式 设计原则

模块6作业

4anonymous

学生管理系统架构设计

天天向上

架构实战营

架构实战营 拆分电商系统为微服务

💤 ZZzz💤

架构实战营

从程序员到架构师 - 非技能篇_文化 & 方法_技术琐话_InfoQ精选文章