我是一个对学习和未知充满好奇的人,所以一直在寻找一份需要以一定的学习密度来持续输入的工作。在工作和阅读中我逐渐意识到我们已经进入到了一个全新的、由代码驱动的“智能”时代,而在这个时代里能否流畅的使用编程语言将建立一个明显的分界,未来的很多工作也将会按照这个分界而展开,而能够熟练地运用任何一门编程语言都将给你带来很多新的机会。
即便很早就已经认识到这一点,还是和很多人一样对于学习编程这件事产生一种莫名的恐惧。而真正让我下定决心要学习编程的是我在新闻中看到 IBM 的 Watson 系统可以在癌症诊断中超越经过多年高强度训练的人类医生而给出更为系统的治疗建议,我尝试去理解其中的原理,却发现如果不懂得编程语言,只能简单的跟随新闻媒体的报道而人云亦云,因此经过了一段时间的心理建设之后正式开始了自学编程(是的,做出这个决定的确需要一点时间)。
我自学编程的另一个动力是我成为了一位父亲,我希望自己可以为孩子建立一个终身学习的榜样,我希望他可以相信只要你愿意,任何时候都可以推倒重来。我也深信对于他们这一代来说编程将和母语一样成为一个基本技能,也希望在孩子学习编程的时候给予一些支持和引导,有了这初衷,编程就变成了一件必须要完成的事,而不是一个可有可无的选项。
和很多自学编程的人一样,尽管我在 2016 年夏天就开始了探索之路,但在编程学习时并没有事先建立清晰的学习路径,也尝试了几种不同的编程语言,但在经过基本的尝试以后最终还是回归到 Python 语言,因为 Python 编程语言的创立者设计这门语言的初衷就是希望其可以简洁、优雅、易用,也正是由于这一点使得 Python 在接下来的几年里被各个领域,尤其是数据科学和深度学习领域内的研究者广泛的采用,使得其几乎成为了编程语言中的英语,围绕Python 而建立的众多代码库也使得这门语言更加的强大而富有生命力。
我在 2017 年 1 月就曾报名了优达的深度学习的课程,但当时他们的内容还在完善的过程中,深度学习的课程也是从现在的进阶部分直接开始的,这对于连 Python 基础语法都还在熟悉过程中的人来说,报名这门课程还是有些难度过大,因此持续了一周也就退掉了。在经过了接近一年的摸索之后,我在网上发现了吴恩达 Andrew Ng 的深度学习系列课程,发现他将这门深奥难懂的课程讲解的如此的清晰,简洁,以至于我相信自己绝对可以学习深度学习,进而了解那些令人惊讶的人工智能背后的原理。
在网易云课堂旁听了吴恩达的课程之后,我再一次报名了优达学城的深度学习基石纳米学位进阶课程,并且通过 4 个月的努力顺利毕业,比预计的项目持续时间提前了 2 个月,这也让我对编程和对自己的学习能力有了重新的认识。紧接着又继续报名了计算机视觉这门课,刚刚也完成了最后一个项目的提交,想想过去这段时间的努力,还是有些为自己骄傲。
作为一个总结,在这里我希望可以坦诚的谈一下编程学习经常遇到的几个问题,也希望更多渴望能够拥有一门精深技艺的人可以尝试学习编程,因为你会发现自己有无数的东西可以学习,并且由于多年来的开源文化,使得你可以站在巨人的肩膀上,在基本入门之后就可以容易的实现很多有意思的应用。
- 编程是否是很容易学习的?
很多编程书籍都会简单的告诉你答案是肯定的,而如果你去类似知乎这类的问答网站去检索,就会发现很多计算机专业出身的人告诉你编程的学习是困难的。这些答案由于回答者的学习经历不同而各有道理。我在学习的过程中一个较为深刻的体会是,学习编程最难的并不是记住那些基本的语法,而是如何找到合适的学习路径,并且有足够的耐心在学习了基本的编程知识之后保持学习,使得自己的编程技能可以熟练到能够选择合适的场景将所学到的知识得以应用。
很多人学习编程都经历了从入门到放弃的过程就是因为还没有坚持到能够将编程语言掌握到可以寻找到合适的应用场景就过早的选择了放弃。你可以把编程学习的进步速度与任何你想学或者在学习的技能做类比,思考如果把同样的学习编程的时间用在学习另外一项技能上可以够取得多大的进步,或者能达到什么样的程度,以此来增加自己对于编程学习的耐心,这样也容易为自己设立更加容易的目标。
- 学好编程有多少是因为兴趣?
兴趣其实非常的重要,这使得你可以在学习的过程中增加很多的动力,但关于兴趣这一点有一个很微妙的地方是我们对一件事情的兴趣取决于做这件事过程中得到的反馈经历,如果开始的时候更多的是正反馈,那么会无形增加你的学习兴趣,而如果一开始就遭受过多的打击,那么很容易就会丧失信心,进而丧失兴趣。所以学习的材料和梯度很重要,直接决定了学习过程的容易程度。另外一点是,对于学习任何技能而言,如果你没有达到在专业水平看来的基本的入门,不要轻易用兴趣来作为是否继续学习下去的标准。
- 学习编程是不是一个人的事?
学习的确是一个人的事,需要自己付出很多时间和心力,也可能需要更多的考虑和心理准备。尽管如此,学习的过程依然可以通过结伴来完成。在优达的深度学习开课之前就鼓励大家建立学习小组,我也很幸运的找到了一个水平类似的队友,在学习的过程中一起加油鼓劲,一起解决问题和交流学习,互相提示可能会被忽略的重要的细节,一个好的队友会使得学习的过程中多了很多便利,在此也对我的队友 @捡个七 表示深深的感谢!也很感谢在学习的过程中家人的支持,你们的存在是我前进的最大动力!
学习对于任何人来说都是需要很多努力的事,尤其是对于跨领域的学习者,在这个过程中最为重要的就是心态的开放:接受初学者的笨拙,努力做到更好,而不是追求完美,在遇到困难时提醒自己: KEEP CALM AND CARRY ON! 稳住能赢!
从去年 10 月份开始的密集课程学习算是告一段落,后面这段时间我可能不会再去报新的课程了,会先把之前学过的内容再复习和深入一下,也会试着去找工作,希望能够顺利!我知道这仅仅是一个入门,后面还有更多具有挑战性和有趣的东西值得学习。