前言

一位今年即将毕业的学弟说:

作为一个应届毕业生,有些事想咨询一下。我是普通本科软件工程专业毕业的,因为在学校的时候贪玩也没怎么好好学习,现在想认真找个编程工作,所以开始了几乎从零开始的自学,现在我遇到一个问题。对着网络资源和买的书籍学习后,会经常忘记,虽然知道要时常复习,但总是记不牢靠,只留下个总体印象;还有就是,到目前为止,我也只会对着资料、书籍抄代码,而不是完完全全自己写,我感觉我一点东西都没学会,这正常吗?我该怎么办?有好的学习方法介绍吗?

大部分普通的人,在不同的人生阶段,可能都会有一些遗憾。

比如说:

  • 初中时期没有好好学习,然后没考上重点高中;
  • 高中忙着结交朋友,然后没考上重点大学;
  • 大学好不容易放松了,忙着玩游戏,忙着谈恋爱,然后学业上荒废了。
  • 等到毕业找工作了,发现自己一无是处。

后知后觉,下定决心要好好学习了,发现注意力无法集中,学什么都慢,学了之后还容易忘。代码抄来抄去,根本无法形成自己的知识体系,然后开始自暴自弃、自怨自艾,觉得自己就像一个废材。

我就是这样一个普通人,在我找到工作之前,真的感觉自己这辈子就要废了。即便是找到了工作,在很长的一段时间内,也总是担惊受怕。唉,怎么又出错了,明明自己很认真啊,可还是出了差错,一而再再而三。

那直到什么时候,我才找到了自信呢?我是如何找到呢?我做了什么呢?

在现在的我看来,我的成长,大致可以分为两个阶段,每一个阶段,都完成了一定程度上的蜕变和超越。

第一个阶段

大学毕业后,拿到公司正式 offer 的第一年,抄了大量的代码。对,你没看错,抄代码,真的是抄代码。

我实习的那一年,做的大部分工作都是打杂的,写写flask爬虫Scrapy,写写脚本了,帮领导整理一些 Excel 了,感觉没啥成长,真的。机缘巧合吧,我在实习临近结束的时候,通过和老同事的交流,洞悉到我们研发的重心将会是 人工智能——神经网络、深度学习等

拿到公司正式 Offer 后,我下定决心,一定要把 这门技术学好。怎么学呢?当时这方面的书籍很少,严格意义上说是没有,有我可能也不知道。教学视频就更没有了。

不过幸运的是,可以上 Google,有两个网站,一个叫做编程入门网(现在已经没有了),一个叫做啥来着,现在忘了。

编程入门网上,有大量的实例,我的做法很简单,就是照着抄。一个单词,一行代码,一个类,只要是教程里面有的代码,我都抄到本地去尝试运行。

抄的过程,有五个好处:

第一,就是拓展眼界。哦,原来还有这样的方法;哦,原来这个效果可以通过这种形式实现;哦,原来别人已经造过轮子了。

第二,加深记忆。抄一遍的时候容易忘,抄第二遍的时候肯定就会比第一次少忘记些,抄第三遍的时候就会比第二遍的时候多记住了一些。有时候,学习就是这么傻瓜式,不断地重复,重复的次数多了,自然就记住了。

第三,纠正教程中的错误。有时候,明明教程里说可以运行,为什么搬到本地后不可以?一开始,肯定会自我怀疑,一定是自己错了,调试着研究着,发现原来是教程出了错——这时候的收获是巨大的。

第四,戒掉眼高手低的臭毛病。不能说每个人身上都有这个臭毛病,至少我自己是有的。哎呀,教程里的这个知识点我会呀,然后真的觉得自己会了,就跳过去了。等到要用的时候,发现,唉,怎么忘记了?怎么不会用?怎么我实现不出来那种效果?

第五,融会贯通。一开始,谁会自己造轮子,不都是模仿?不停地模仿,不停地思考,不停地实践,久而久之,就自己会造轮子了。

另外,被我忘记名字的网站,上面有大量的问题,绝大部分是有答案的,并且答案是正确的。那,当我遇到问题的时候,我就会去上面找答案,即便是找不到,别人的解答也会提供一种思路,或者一种灵感。

把这些学习方法搬到现在的话,就有很多可选项了。

如果你不知道Python学习路线的话,我整理了一份Python所有方向的学习路线大纲。如果你有需要,在文章底部拿高清的。

这是一份最适合普通大众、非科班的路线,祝你零基础快速找到一份满意的工作

如果你不知道学Python应该看什么书的话,这里也可以做分享。

如果你不知道学Python应该看什么视频的话,我这边也有整理。

如果你需要一份面经的话,可以在文章底部「获取」。

能动手就别 BB,一定要去动手,好吗?动一次手觉得容易忘,就动两次,别嫌累,学习其实没有多少诀窍,关键就在于行动。

第二阶段

2018年初,我离开湖南回到了深圳,带上实习的一年,我当时有将近四年的工作经验了。又一次机缘巧合,我按下了「写作」模式的启动键,一写就是3 年时间,恐怕很难停下来了。

写作的起因我之前提到过,就是每周分享一篇文章,每个月的绩效奖会多一百块钱左右。我回深圳的时候,由于部门小人少,而我的实力又比较拔尖,于是领导就愿意倾听我的建议。我就提倡每周至少写一篇文章,然后能坚持下来的,绩效奖就多打点分。

不过,能坚持下来的只有我一个,哪怕后来取消了这方面的绩效奖。你看,我一开始写作的目的也不是单纯的因为热爱,而是因为有绩效奖。

后来之所以能坚持下来,是因为写作有很多好处,比如说总结自己、记笔记、提升影响力、出书等等。

对于骨子里喜欢写作的读者来说,我劝你们在业余时间尝试一下;如果在写作、运营方面都没有天赋,还是以工作为重,全身心的在职场上打拼,其价值并不比写作低。因为写作毕竟是一项耗费精力和时间的事,做到极致并不容易。

2019 年的时候,我看过一本书,名叫《影响力》,应该有不少学弟学妹也看过。但说实在的,这本书我就看了几页,就看不下去了,不是这书不好,而是我觉得它不适合我,因为我那时候没什么影响力(谦虚点)。

没有影响力的时候想着怎么扩大影响力,我就觉得有点扯淡。就像没有财的时候想着理财一样,有点白日做梦。

与其白日做梦,不如脚踏实地,换一句浅显易懂的话,就是,与其想着理财,不如想想怎么攒钱。如果连原始资本都“攒”不住的话,“理”就无从谈起,对吧?

同样的,影响力这东西,需要有一定量的作品,需要时间的积累,还需要个人魅力、运气和时机,缺哪样都不行。

但讲良心话,这年头,影响力真的非常非常非常重要。

学弟学妹应该知道王一博吧,很火的一个新生代偶像。我一个程序员,为什么要提一个流量明星?没错,我想蹭他的热度(吃瓜)

假如让王一博和我同时站台带盐的话,估计我应该在台下,不应该在台上(女粉给我踹下去的)。

这就是影响力的体现。同样一件事,不同影响力的人去做,效果是完全不同的。由此可见,影响力的重要性和稀缺性,说得裸露一点就是,影响力还可以兑换成 money。

至于如何兑换成 money?我猜学弟学妹一定很感兴趣,但是,任性的我选择略过,因为我们先要解决的是,如何打造你的技术影响力,这方面,我还是有些经验的。

如何打造呢?说起来,也挺简单,就是在这个平台上贡献有价值的内容。落实到操作层面,无非就两样,写作和视频。

视频方面我是个菜逼,拍了 2 个视频,播放量加起来不到 1 万,于是就草率地放弃了。为什么没有火呢?答案显而易见,视频的质量有待提升。

是个人都在说,视频是未来。但鞋子合不合脚,只有自己知道。总之呢,视频这块我没有话语权,保持沉默,不再多比比,就只说写作吧!

但从我自身来分析的话,写作给我带来了三方面的改变和提升。

第一,戒掉了游戏。我在初中的时候就沉迷过一段时间的游戏机,需要插卡接电视机的那种,或者说魂斗罗的年代吧。大学的时候,我沉迷单机游戏,各种三国题材的,篮球题材的,还有极品飞车等等。工作以后,打LoL 王者。说实话,打游戏挺占用时间的,尤其是我这种自控力差的。而写作,同样占用时间,那两者只能选其一了。

第二,提升技术。为了写作,我需要搜集大量的素材,看大量的博客,研究源码,甚至在 B 站上看 up 主的视频。然后在写作的过程中,还需要锤炼文字的表达能力。要教会别人,首先要教会自己,只有自己是一瓶水,才有可能分给别人半瓶水,对吧?

第三,提升影响力。因为写作,我认识了天南海北的读者,也认识了很多优秀的博主,人际关系得到了很大的改善,人也因此变得更自信了,毕竟也是出过书的人了。

第四,增加收入。一开始,因为写作,引来很多私活的项目,不过这个比较累,持续了3年多的时间。

写作这几年的时间里,有过无数次的放弃,因为默默做一件事,尤其是对于普通人来说,太难了。尽管写作的好处有很多,对我的改变也很大,但我并不提倡人人都去搞写作,因为就像写日记或者周记一样,如果你有时间,你喜欢做这件事,去做,对你是有益处的;如果你不喜欢,你没有时间,只会适得其反,有可能耽误了你的工作。

最后

综上所述,工作的前两年里,抄代码很正常,请不要怀疑自己,你之所以感觉还没有学到东西,要么是你的学习路线有问题,要么是你抄的不够多。

如果感觉自己在工作上遇到了瓶颈,或者你本身也喜欢写作的话,可以尝试去开源,去分享,收获一定会超出你的预期。

最近,有很多读者问我,有没有大厂的面经?那就对了,我精心为你准备的刷题宝藏,欢迎来撩~