本帖最后由 wenhb 于 2017-9-17 17:33 编辑
每个即将进入编程行业的人都满怀期待,在此之前都有一番心理准备。 一方面,你在年轻的时候总听流言说编程如何如何难,但它们就像老奶奶讲的吓人故事,是用来唬孩子们去学习社会科学而已。 而另一方面,“学习编程”运动已经取得了很多成就,它打破障碍并向人们展示编程其实也没那么可怕。
如今市面成熟的入门课程及大大小小的培训机构足以像教小孩过马路那样,引导你学习那些令人头疼的变量和条件语句,以及初级编程语法。当你不断完成游戏般的学习挑战时,你的自信会随之大增。最后就学会了编程!而且基本上你已经是一名开发者了。
那么在程序员从 入门到大成需要经过哪些个阶段呢???
首先第一个阶段 : 手把手辅导的蜜月期
这个阶段充满了乐趣,面对看似棘手的问题,那些高质量资源的鼎力相助让你轻松取胜。虽然你主要学的是基础语法,但每一个完成的小任务会让你很有成就感。在这个阶段你会发现你的成长速度犹如火箭升空一样向上猛窜
这个时候你正处于编程初期阶段,尽管你可能感觉成功就在不远处,但其实你才刚踏出第一步。一切才刚刚开始……
第二个阶段:
充满迷惑的下滑期 在阶段一结束时,我们会进入阶段二。在这个阶段,太多有潜力的人却不能掌握真正有用的技能,而是一味地停留在挫败的情绪中。可怕的是,你甚至还没有遇到过真正棘手的事情。在这个阶段你会遇到 资源的密集程度的变化和知识面的广度的扩展
就是这两个变化会让你迎来巨大的挑战,进而会有很大的挫败感
如果你想学习编程 ,java ,C ,Pythod .... , 搜索这些关键字”,你会得到一大堆有用的工具、文章、视频以及自学教程,他们可以让你轻松的度过第一阶段手把手辅导的蜜月期,让你能够轻松入门,不幸的是,后期可供使用的资源太少了。 在配合上知识面的广度的扩大,你会遇到巨大的问题,
刚开始学编程时,你需要理解的东西很少。不论你的目标是什么,不论你用什么编程语言,也不论你之前是做什么的,每个人要做的都是搞清楚什么是for循环,如何创建条件语句,以及其他一些编程语法的基础结构。总体来看也没多少基础概念,因此阶段一所需要的知识面广度很窄。一旦你学完了基础部分,就需要去了解一些更复杂的东西,比如理解错误以及何时使用那些你已经会用的代码,此时你会发现需要学习的额外知识瞬间多了很多。这个时候情况变得不同了,因为一个明确的问题不一定有一个绝对正确的答案……事情开始变得棘手, 你需要理解该使用哪些工具,该学习什么编程语言;学习相关的计算机科学基础,如何写模块化的代码;学习面向对象的编程,学习好的代码风格,以及学会寻求帮助
只有当你终于摸到了一些门道并结束这个“荒漠之旅”以后,所需的知识面广度才会再次缩小。那时,你已经选择了某种技术,并了解了它在这个行业的生态系统中所处的地位。你最终学会了那些你以前不懂的东西(可以说相当了解),也知道如何解决问题。随着你深入学习和事业逐渐起步,你将越来越专注于自己领域的技术。 对那些真正准备从事这个行业的人来说,他们通常会在渡过阶段二以后决定是否全身心投入这个新生活。但太多的人放弃了。而不幸的是,你现在才刚到阶段三(“绝望的迷茫期”)的入口。
第三个阶段:
绝望的困惑期 这个阶段路途遥远,而且危机四伏。你会发现自己总是沉溺在虚无缥缈的东西里,许多诱人的资源看似包含了你要找的对策,实际上它们只是又一次地让你深陷在了无边无际的砂砾之中。就像在沙漠里一样,迷茫得团团转却找不到方向. 或许你找到了一个声称能一路指导你的自学教程。你自以为吸取了阶段一(手把手辅导的蜜月期)的经验教训,明白问题并不是那么好解决,但还是忍不住去寻找帮助。你注册的课程信誓旦旦地保证,一定能让你达到前所未有的高度,对此你还信以为真。无论别人怎么说,你都不可能只花一个星期或一个月的时间,也不可能就只上个学院课程就学会这些东西。因此,别再相信那些谎言! 这个阶段要学的东西很多,远超出你可能预期的那些。尽管你能让程序运行起来,但要成为一名真正的专业开发人员需要做的更多,在其中你很容易感到迷茫失落。你每一次进步都难以衡量,你如何知道自己该学什么?甚至这些东西是不是你该学的呢? 就算你走对了方向,却仍然很难衡量你取得的进步。在你能做出外形和功能都符合自己期望的东西之前,你可能会感觉很迷茫。但是只要坚持不懈,并且保持正确的方向不跑偏,终有一天你能将那几个“货真价实”的处女作发布出去,你终于开始上道了 第四个阶段
煎熬的上升期
你已经成功穿越了第三阶段的荒漠,也越来越自信。你Google搜索的技能越来越了得,也能理解那些细致入微的专业博客文章和视频讲座。或许你已经深入掌握了某一种编程语言或框架,并且有自信能创建并发布一个能运行的应用。 这是“煎熬的上升期”:
表面看上去一切都OK,但你知道底下还差得远呢。 虽然你能让那个应用程序运转起来,但底层都发生了什么?你的代码里充满补丁,最糟糕的是,你甚至不知道哪部分很糟糕,也不知道实际上哪部分将运行无误。你不时地取得成就,同时也犯了许多菜鸟级错误,更糟的是,你渐渐开始怀疑怎么还是搞不清自己在做什么。这是个两极化的阶段。一边觉得自己是个无所不能的开发者,另一边又觉得自己是个效率极低却深陷其中的狂热新手。走得越远,越是感觉惶恐不安,生怕哪天有人 “揭穿”你代码中的诡计。 你觉得自己应该算是一名开发者了,但你现在写的代码和在“职业”工作环境下写出的代码相比,差距实在是太大了… 尽管艰难,最终你一定会成功。那时的你心情澎湃,浑身充满力量,绝望的荒漠已经过去,而令你困惑迷茫的阶段二也成了遥远的回忆。终于,你是真的在走上坡路:你的学习速度更胜从前,也更理解如何学习编程。尽管历尽艰难,但你会经历足够多的最佳实践,把那些宝贵的知识凝结成产品级的技能集。这个可怕的上升期会比你预想的要长,也会让你感觉看不到头,因为你已经离终点如此之近……但你肯定会到达的。
每个阶段我们处于的状态
|