程序员2.0 - 学编程的心境

程序员2.0 - 学编程的心境_第1张图片
你的灵魂仿佛与百万年前那个举起木棒的祖先相连。这,就是程序员。


最近朋友说想要学编程语言,从Java在入门。我觉得这路子开得甚好,倒不是因为我对Java有多深厚的感情(有蛮多的),而只是因为我迈得是同一路过来,自然对Java有所偏爱。

2015-2016是我Web的一年,红红火火,只可惜web这扇窗我打开的极晚,到了毕业后才开始着手。严格来说,我对编程造物的手段,也是在毕业后才慢慢有所体悟。

仅用这篇文章,聊聊我栽过的坑,刚开始编程的朋友就不必摔了。

先一语盖之,把CS Degree读下来,尤其是有板有眼地为毕业和高GPA而读的,出来了并没有什么卵用;除非,下课之后你是真爱编程,真爱琢磨。

(先说一句,这文章就是吹给非码农;入行之后十八般武艺,走了哪一路都必然有截然不同的看法。我说的肯定不能代表所有码农,那么换个称呼,讲讲我们‘代码仔’的故事。)

代码仔的生活和CS本科生是很不同的,也许跟非码农所能看到的也不同。我所喜闻乐见的,就是那种程序员2.0版的代码仔:热情,机灵,学得快,用的巧,满汉全席触类旁通...etc。 技术方面,代码仔要关注的可不仅仅是旁人都能吹的'Java, C++, C# ...etc';当然我们所知的这些,都是一些基础和硬功,一定要有的,但是做产品的能力和手腕,就是内功了。

先把第一点说了,代码仔和CS本科生有啥不同?CS本科生大部分都有很重的课业,不仅要急着编程入门,紧接着还要学数据库,数据结构,算法等一些(我知道你已经看天书了)大课;与此同时,那些数学,工程相关的知识理论课,也不能少。没有强大的内心和郭靖的耐心(或者超凡的经验和智商),CS拿不下好成绩。在这种情况下,我本科的时候就光顾着闯关了。

代码仔与之不同的是,我们现在关注的很多东西关乎互联网时代的发展。比如代码仔每天必然要做的事情就是关注最新的科技新闻,每天不断的去阅读大牛的best practices,时常给自己制定一个学习计划(明天,这周,下个月)去摸索一些新的工具。下一步,自然是要在项目上设法把学到的新工具用上,然后再循环式的解决新问题,阅读更多人的best practices。代码仔关注的东西像碎片一样,一天两天不成气候,但是时间一久,几经磨练以后就会呈现出一个错综复杂的知识体系。这,就是内功,解决实际问题的内功。

说好的‘坑’呢?坑在下面。

学编程,最重要的就是出效果。在此列举几个学习的反例:

1. 拿着一本编程语言C++(我干过),意图无师自通,光看不练,这就是一2B。

2. 虽有机会跟老师学,但因为遇到瓶颈,把别人代码直接copy过来,这是2B ^n。

3. 一旦遇到算法,数据结构,就退却不前,搪塞说数学基础不好。这属于没找对资源学习。

4. 只用一种资源学习(书,tutorial, 网站),非常片面,不可取。

正面的例子其实还挺多的:

1. 做项目。内功嘛,还是要从0虐起来的。

2. 跟对人。跟对导师(导师不是说您的大学导师啊,大学导师可能只管生活啊!),比如有个大牛愿意时不时到你的学习计划里指点江山。 有时候,去公司面试的时候就是非常好的学习机会,碰到爱讲的面试官,那就聊吧,绝对是一些值得参考的学习方向。

3. Keep up with what's hot。这个很重要,即便你不一定会永远尝试学新东西,但是起码你可以多读一读新东西出现的原因和人们的反应。

4. 找对学习资源,下手快,成功率要高。比如做完一个tutorial, 做完一个小demo, 完成一个课的流程,不断的切换学习的资源。

那么,有哪些资源可以去开始学呢?避嫌打广告,我就写两个:CodeAcademy Code School ... etc, 还有就是学到了基础以后,立刻找好的tutorial做个demo小项目,经验刷刷的就来了。

上面讲完了我觉得怎么学编程才有劲,说白了也是因为我在学校的时候就以成绩为上帝(对啊,没错啊,现在还是上帝呢),结果实战水平低得可喜。出来之后也是花了半年的时间,才搞明白哪些东西最刺激神经,以及哪些事情才算内功,才能来钱。

代码仔,真不容易。

再来一遍:程序员2.0可真的非同一般噢,要会写程序,会修这修那,还要会唱歌,有情怀。 行了够多了,今天就吹到这里!

你可能感兴趣的:(程序员2.0 - 学编程的心境)