一个喜欢coding学长的碎碎念
本文适应群体
主要针对大学生、职场新人,学业负担较轻的高中生(还是有的);对有工作经验的职场老人可能也会有一定启发。
序言
我算是有两个爱好:一个是涂涂写写,一个是Coding(写代码)。其中”涂涂写写“增强了我的观察能力,Coding则渐渐增强了我的消费能力(比如才又换了一个iPad)。
坚持与爱好
若想培养”涂涂写写“的爱好,或者从中寻找一些乐趣,皆是非常简单的,只需坚持每周内涂些东西或写些东西就可以了。道理之简单不再赘述。
但是若想培养“Coding”的爱好,除去“坚持”之外,还需要一些其他的认知。
实践无可避免
“书山有路勤为径,学海无涯苦作舟”。如果想在某个领域有突出的表现,大量的实践无可避免。这里的实践包含两个层面的意思:1)亲自动手推演(多次)而不只是看一遍想一遍,2)刻意找机会动手推演(多次),而不是打游戏消磨时光。
在Coding这件事情上,看书的效果远不及动手实践的效果。但无论在学生生涯还是到了职场,总能看到追求书籍或课程的小伙伴;可能攒了很多书(各种从入门到精通),或者浏览过很多在线课程,但是起到的效果十分有限。之所以这样,我认为主要还是因为在动手实践上面做的功夫不到。
应该实践哪些东西
这里非常建议还在读大学的小伙伴们能够多动手实践一些东西。实践的东西我个人比较推荐:
- 安装双系统(推荐Windows+Ubuntu,主要针对windows用户;MacOS用户可忽略)
- 搭建一个操作系统
- 探索Vim或Neovim
- 学会使用Git
- 使用Github并查看几个项目的源码
- 搭建一个博客(可参考我的源码)
- 待完善
上面的实践列表基于这么一个原则:减少对windows的依赖,了解什么是真正的操作系统,了解什么是真正的程序,了解真实的代码,最后了解代码的部署与使用。
当然,课堂上的知识不能落下,比如编译原理、计算机原理、计算机网络、数据结构、算法、设计模式等等;这些理论上的知识能大大提升自己Coding的天花板。
书和课程在什么时候能起作用
书和课程是有价值的,但是我认为它的价值主要在这两个方面:1)解答已有的问题,2)开阔眼界,了解别人在做什么、怎么做的、做到了什么程度。
当脑子里有未解的问题,而所读书刊包含了相关范畴的内容甚至包含了答案,这时读书的效率最高。所以有时候会发现,同样一本书,有的人读完像是吃了一个西瓜,而有的人读完则像是舔到一颗芝麻。
书和课程的另一个价值是开阔眼界,主要了解别人如何做成了一件什么事情。这里要注意的是,对于此类书或课程,不应该花费太多时间和精力,而是尽可能快地消化,转而投入到对其中内容的实践中去。比如《Ruby元编程》这本书,只消一周的时间快速过一遍,而后就可以投入到Ruby和Rails的实践中去了。
(这里的书不代表教科书,教科书还是要多花些时间的。。)
小结
本文主要碎碎念了学习Coding的两个基本方法:坚持与实践;再准确点,应该是刻意地坚持和刻意地实践。相对地,认为在读书和观看课程方面应尽量节俭时间,把节省的时间用在实践上面。
在实践(60%-70%占比)中发现问题,通过看书或课程(30%-40%占比)解决问题,然后再投入实践发现问题,如此形成良性循环。尽量避免用60%-70%的时间看书或课程,只用30%-40%的时间实践,这个比例不是Coding的时间配比,这个是涂涂画画的时间配比。