专栏名称: 程序员大咖
为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。
目录
相关文章推荐
51好读  ›  专栏  ›  程序员大咖

为什么成为一名程序员这么困难? —— 从程序新手到准工程师的必经之路

程序员大咖  · 公众号  · 程序员  · 2017-03-26 19:12

正文

来源:inside

作者:Jewel

原文: www.inside.com.tw/2015/03/27/why-learning-to-code-is-so-damn-hard (点击阅读原文即可前往)



有人说,每个看起来与正常人无异的程序员,其实都是在学习程序开发的途中熬过、压抑过、而且创伤过的反社会人士(sociopaths)。



在学习程序开发的过程中,常常看到网络上的「甘苦谈」,也听过身边前途一片光明的程序员朋友们分享过学习历程,总觉得不同的人、同样的故事却不断的重复,像是狼叫声般,从远处传来一声又一声的回响。


最近读到Erik Trautman在Viking Code School博客中的文章《Why Learning to Code is So Damn Hard》,文章里将学习写程序(Learn to Code)的过程分成了四个阶段,并解释了两个影响各阶段形成的关键因素「资料密度」以及「知识广度」,最后集合成这张图:



这篇文章很有趣也十分符合我所听闻的那些「程序员辛酸史」,因此决定将这四个阶段介绍给大家,希望程序初学者们在进入这条不归路之前,眼睛要放亮、计划要周详,清楚明白在前方等你们的是什么,做好完全心理准备吧!


接下来我将介绍从刚开始写程序到成为一名程序员,Erik Trautman所归类必经的四个阶段:


想成为程序猿,请做好准备迎接这段必经之路


先假设你学写程序的终极目标是要靠这行吃饭––进入相关领域工作或是自行创业,你是否做好万全准备可以从你的信心(Confidence)跟能力(Capability)散布图中看出:


随着你具备的知识跟技能越来越多,你的自信心也会随之而增减,最后达到能力够信心足的「Job Ready」点。在Job Ready前则可以分成四个阶段:


第一阶段:手牵手心连心蜜月期


刚开始进入程序开发界的朋友们总是怀抱着远大的梦想跟抱负,这不能怪他们,毕竟一方面,大家小时候听多了「写程序很难」、「电脑科学很硬」这种传闻,从一开 始就把不少人吓去念社会科学(…没有冒犯社会科学专业人士的意思);另一方面,「全民写程序」这项运动实在太成功,坊间许多工具跟学习平台让程序开发变得超好理解、上手容易,像是Codecademy、Treehouse、跟CodeSchool等线上平台,或是麻省理工的Scratch语言、Google的Blockly等程序语言工具,成功地营造了人人都能写程序而且靠这行吃饭的假象形象。


突然间我们的问题不再是「困难度」,而是「比天高的期望」跟「比地大的梦想」。


最重要的是,以上提到的这些工具跟平台实在太有用,带领毫无程序开发经验的初学者们一步步认识变数、条件语句、程序语法。当你一路过关斩将把程序语言基本逻辑跟语法学会的同时,你就会超有成就感、自信心大增,开始有「原来我也行嘛」、「写程序也不过就这样」的感觉,基本上觉得自己已经跟「程序员」相差不远了。



这个阶段将充满喜悦与成就感,在各种线上工具、网络教学的帮助下,你享受着用指尖下指令、电脑就能准确执行的主导感,你赞叹着程序语言的神奇与强大之处,从HelloWorld到简单回圈,每完成一道练习题你的成就感又增加几分,很多人会在这个时候认为自己已经爱上了电脑科学(而且觉得电脑科学也爱他们),正处于能力提升,自信心也大增的「蜜月期」,这时你可能会觉得世界真美好、人生大概就会从此飞黄腾达,但我得残酷的告诉你: 这段旅程才刚开始而已。


第二阶段:困惑之崖


就跟大部份的情侣/新婚夫妻一样,蜜月期会结束,你会慢慢发现「相爱没这么简单」。 作业难度一增加(重点是程序码长度也会跟着增加),程序错误警告就频频出现,开始不停的除错(Debug)。而且通常最大的挑战是—— 当错误出现时,你根本不知道错在哪里、该问什么问题。 你的学习进度在这个阶段开始停滞不前,像路走到一半突然遇到悬崖而无路可走般,开始对之前的认知感到困惑,跟着信心大失。



通常这个阶段会在你完成线上的基础教学后发生。以制作个人网站(Portfolio Website)为例好了,W3School平台提供了一系列HTML、CSS、JavaScript等网页制作相关的程序教学,让初学者一单元一单元的学习语法跟功能,每单元还有例子示范用法,看似好简单!全部跟着学一遍之后,你准备好动手打造自己的网站,打开文字编辑器……,然后写没两行就卡关了。







请到「今天看啥」查看全文