原文链接:https://dsx2016.com/?p=101

程序员需要不断的学习

不仅仅是学习新技术,还包括应用的问题域,用户的奇思妙想,同事的古怪习惯,行业的八卦新闻和项目演进的重要特征

我们必须学习学习再学习,持续不断的学习,然后把学习成果应用到解决日常遇到的一切新旧问题上


➢ 阶段一:新手

新手在该技能领域经验很少或者根本没有经验,这里提到的经验,指的是通过实施这项技术促进了思维的改变

举个反例:

可能一个开发人员声称拥有十年经验,但实际上只是一年的经验重复了九次,那么这不算是经验

引申问题:

一年有365天,你是过了365天!还是只过了一天,重复了365遍?

1.新手非常在乎他们能否成功,没有太多经验指导他们,他们不知道自己的行为是对是错

2.新手不是特别的想要学习,他们只是想实现一个立杆见影的目标

3.他们不知道如何应对错误,所以出错的时候,他们非常容易慌乱

以上是新手的明显特征,所以跨越新手有以下几个步骤

1.渴望成功,但是不要太过于执着,急功近利往往是失败的前兆,不急不躁的心态最好

2.没有经验就去寻找经验,一个好的老师和一些优质的资源能够迅速把有用的经验传递给你

在亲身累计经验之前,逆向思考,寻找经验才是核心和紧急目标

3.进行能力测试,可以利用第三方的题库和测试流程,标准而大众化的测试,同时也需要自我测评,比如完成一个项目,自己统计整体时间,自己撰写时间轴日志,自己判断自己的词汇量熟练度

自我测评是第三方无法完成的,这点尤其重要,简单来说,也可以称为自我认知,并且把数据可视化

4.兴趣是最好的老师,没有兴趣也是可以培养的

想要一个立竿见影的目标其实并没有错,新手恰恰需要酷炫有趣有用的目标才培养自己的兴趣,一个完整的小案例能够把所学的知识点融会贯通

新手要做的,是一边需要沉下心来学习零碎的知识点,一边整合知识点做出一个完整的效果案例,两相结合才能迅速进步

反之,一味的学习零散的知识点不去做案例,学的太多也只是空背概念而已,一味的追求项目效果而不去深入内容,那么永远不会进步,碰到一点改动就毫无办法了

5.不知道如何应对错误没关系,心态要冷静,并且及时的把错误整理下来,学会处理错误的方法尤为重要,比如如何正确提问,比如高效引擎检索,比如官方帮助手册等,遇到错误并不可怕,可怕的是找到解决错误的办法

➢ 阶段二:高级新手

高级新手能够多多少少摆脱固定的规则

1.他们可以独自尝试任务,但仍难以解决问题

2.他们想要快速的获取信息例如,当学习一门新语言或者API时,你可能会感觉到这点,你发现自己会快速浏览文档以寻找一个方法或参数列表,你不想在此寻根究底,或者重温一遍基础知识

3.高级新手能够根据过往的经验,逐步在正确的情境中采纳建议,但比较吃力,同时,他们能够形成一些总体原则,但不是全貌,他们没有全面的理解,而且的确不想有

以上是高级新手的明显特征,所以跨越高级新手有以下几个步骤

1.思考难以解决问题的原因所在,是哪个地方限制了你解决问题的能力?

这一点与你个人的现状有关,你正在学习的技术栈,你所做的项目,你的综合能力和资源

简单的说具体问题具体讨论,你必须对问题有深刻的认知并且对自己有足够的了解

2.在这个追求效率的时代,要去思考和学习底层原理,是一件很难的事情,因为时间不允许

事实上绝大多数事物的不成功,就是没有足够的时间

在时间的维度上,再无知的新手也有一个宽泛的坐标,那就是寻找一个参数方法的时间和解析一个参数方式的时间都大致明确的

比如找到并使用某个参数方法大概需要2分钟-10分钟,正常情况是5分钟,而解析一个方法原理,需要的时间是不确定的,确定的是大于等于10分钟,可能是30分钟,也可能是几个小时,这与效率不符,从利益上看也不划算

寻根究底是需要的,但它的重要等级排列在熟练了解全局内容之后

重温知识点也是如此

3.高级新手在一个熟练的框架里有所经验,有所作为,但是换了一个框架,复用原来的知识,就显得生涩了

在学习的过程中,要不断的举一反三,一个例子刻意练习三遍以上,一个例子做出不同的三种效果,一个例子应用在三种不同的情境等等等,学会触类旁通

➢ 阶段三:胜任者

在第三阶段,从业者现在能够建立问题的概念模型,并有效的使用它们

他们可以独立的解决自己遇到的问题,并开始考虑如何解决新的问题——那些他们之前没有遇到的问题

你可能会看到,处在这一水平的人通常被认为有主动性和足智多谋

他们往往在团队中发挥领导作用(无论是否有正式的头衔),他们是团队里的好人,既可以指导新手,也不会经常骚扰专家

以上是胜任者的明显特征,所以跨越胜任者有以下几个步骤

1.教是最好的学,当你可以胜任工作,可以独自解决大部分问题,已经比较完善

这个时候要追求知识的深度,想要进一步提升,就需要整合以前所有学习的内容,资源以及学习方法,在底层原理上,还有很多需要融汇贯通的地方,通过教授新人和他人,能够完善自己的知识体系,找到自己的薄弱点,以另一个层面的角度来重新调整视野

2.学习与之相关的领域,这些内容你不一定会用到,或者不是在你的职责范围之内,但是学习之后会让你的本职做的更好,让你的知识更加全面

前端胜任之后,可以适当学习后端,也可以适当学习UI,往全栈的方向,学了python之后,也可以学学java,了解不同语言之间的优点和缺点,运用不同的内容适当的解决问题

对比思维,左右辩证,看似把时间花费在精通之外,实际上效果一样会反馈到核心事物上

广度和深度是一个选择题,在时间上,只能二选一,适度就行

➢ 阶段四:精通者

精通者有足够的经验,他们知道下一步会发生什么,如果没有发生又需要什么

他们非常明确哪些计划需要取消,而应该采取什么行动

处于精通者的人更像是初级专家,而不是高级胜任者

1.精通者一定是身经百战,给一个项目,他能在一开始就判断出这个项目需要多长时间,分为那几个步骤,需要什么人员

从一开始就是了然于胸,排除可能出现的错误,剩下的只是按部就班的走正确的流程就好,达到高效,高质量,少错误的效果

这个阶段的人,已然有了质的变化,想要如何往上跃迁,还需要另外的质的改变

➢ 阶段五:专家

终于我们来到第5个也是最后一个阶段:专家

专家是各个领域知识和信息的主要来源

他们总是不断的寻找更好的方法和方式去做事

他们有丰富的经验,可以在恰当的情境中选取和应用这些经验

他们著书,写文章,做巡回演讲,他们是当代的巫师

思考:

1.自我测评,你处在哪一个阶段?

2.如何做才能提升到下一个阶段?

3.针对你的行业,细分阶级,比如十个阶级?哪十个阶级?

程序员:新手到专家的5个阶段相关推荐

  1. 程序员新手 0年份等级 指导(一) 开发人员IT架构总览

    程序员新手 0年份等级 指导(一) 开发人员IT架构总览 程序员新手 0年份等级 指导(一) 开发人员相关IT架构总览之职能分解 开发人员IT架构总览 一.职能分解 软件项目的主要组成大体上按照一个项 ...

  2. 网络游戏程序员新手入门 [转]

    网络游戏程序员新手入门 [转] 原文地址: http://job.17173.com/content/2008-12-15/20081215172107441,1.shtml 游戏开发流程和部分分工 ...

  3. 程序员实现财务自由的9个阶段,你达到了哪一段?

     程序员实现财务自由的9个阶段,你达到了哪一段? 我们从一些最基本的需求开始出发,借鉴最火的手游王者农药的段位搞了个几个段标准.请大家参照自己的生活,对号入座吧! This entry was p ...

  4. 什么样的程序员才算成熟? 让程序员认清自己的所处的阶段

    http://www.nowamagic.net/librarys/veda/detail/1450程序员在经历了若干年编程工作之后,很想知道自己水平到底如何?自己是否已经成为成熟的程序员?虽然程序员 ...

  5. 程序员菜鸟到高手的11个阶段,你处于哪个阶段?

    今天给大家分享程序员菜鸟到高手的11个阶段,都来对比自己在哪一阶段吧,小编自认为自己已经到了11阶段了,哈哈当然这是我的自信,不知道广大程序员大佬们都在哪个阶段呢?来看一看每一阶段对应的能力是什么吧! ...

  6. Visual Studio 2022版本 B站黑马程序员C++自学分享-第三阶段(1)(主要包括:自己敲的代码、通过注释来备注上自己对代码的理解)

    Visual Studio 2022版本 B站黑马程序员C++自学分享-第三阶段(1)(主要包括:自己敲的代码.通过注释来备注上自己对代码的理解) 前言 三.第三阶段 C++提高编程 介绍C++泛型编 ...

  7. 软件之路:程序员修行路上的七个必经阶段

    软件之路:程序员修行路上的七个必经阶段 目录 软件之路:程序员修行路上的七个必经阶段

  8. 程序员新手速成之六脉神剑

            引子· 武侠梦 大家好,我是一名程序员,小时候呢,非常喜欢金庸武侠. 记得吴启华版<倚天屠龙记>中,少年张无忌无意进入光明顶秘密石室,机缘巧合之下,习得已故教主阳顶天留下的 ...

  9. 每日一皮:程序员新手尝试新框架的时候

    往期推荐 每日一皮:在同一个项目上工作2年的样子... 每日一皮:当我突然有一个很棒的调试想法... 每日一皮:努力寻找Bug的程序员 每日一皮:曾经的你是不是也这般天真? 每日一皮:当你开始研究一个 ...

  10. Java程序员进阶架构师的五个阶段,你到了哪各阶段?

    之前有个讨论:实现同样功能,简洁代码一定比复杂代码效率高吗?有的说,还得看算法,如果算法相同,简洁代码效率应该会高一些.有的说,即使算法相同,简洁代码也不见得比复杂代码效率高,而应尽可能减少循环的使用 ...

最新文章

  1. R语言如何将字符串转变为命令执行
  2. http几个版本的区别
  3. 赴马来西亚旅游遇车祸 70岁中国籍老人不幸身亡
  4. 《系统集成项目管理工程师》必背100个知识点-78配置项的版本控制
  5. JavaWeb学习之路——jsp与serverlet(一)
  6. NoSQL(3) 之Redis主从复制、哨兵和集群介绍及详细搭建步骤
  7. Java面向对象(6)--this关键字使用
  8. SAP License:财务帐与后勤不一致情况
  9. PAT (Basic Level) Practice1030 完美数列
  10. PIC浅谈--《x86/x64体系探索及编程》试读
  11. C++客户端面经总结
  12. c4d安装没有出现语言文字,关于C4D以及渲染器插件安装时遇到的问题以及解决方法...
  13. 三相全桥整流电路_三相全波整流电路原理?
  14. Stemming and lemmatization
  15. 网络层 --- 路由器工作原理
  16. 5G技术是如何改变我们的生活
  17. 网络工程师学习Linux的亲身历程
  18. [HDU]6069 Counting Divisors
  19. 统计笔记3:statistical inference
  20. 邮件客户端远程管理邮箱

热门文章

  1. 回调地狱[Callback Hell]
  2. 机械键盘无冲测试软件,全键无冲 键盘测试 优缺点总结
  3. c++ 字母降落小游戏
  4. 为了让你在“口袋奇兵”聊遍全球,java面试代码题
  5. python 126邮箱发送邮件
  6. 什么是图床如何搭建图床
  7. 一个程序员的科幻小说
  8. 学Python理由千万条,不秃第一条
  9. 浪潮服务器如何安装win7系统,WIN7旗舰版操作系统中浪潮ERP-GS5.2安装说明.doc
  10. 手机上最好用的五笔输入法_什么手机输入法最实用?目前最受欢迎的3款盘点,你正在用哪款呢...