前言今天写这篇文章,对过去三年的工作和学习做一个总结。本文中的所有观点均来自作者三年的经验。如有不足或错误,敬请谅解。工作经验通常与技术和薪水成正比。身怀绝技的人更自信,脾气也比常人暴躁。不要裸辞,找好下一份工作再辞职。薪资涨幅基本靠跳槽。同事可能成为朋友,但最终只是擦肩而过。摆脱君王,忍受一时的痛苦,换来一世的荣光。熬夜基本上戒不掉。都出去干活了,没人欠你的,别闹了。如果你有职业规划,请仔细考虑,直到弄清楚为止。用好反枪工具,好处多多。面试造航母,上班拧螺丝可不是闹着玩的。学会冷静地与产品沟通是很难的,尤其是不懂技术的产品。越秃越强只是个梗。天天写业务版不能让你变强,顶多算是个比较熟练的流水线工人,变强还得靠业余时间。喜欢学习的程序员很少,大部分只是路过。工作不忙的时候,尽量利用这段时间学习;技术越好,完成任务的速度就越快,钓鱼的时间也就越多。管好自己的事,有时间多学习。少关注八卦新闻,多了解。不要拍马屁,有空多学习。经常反省自己,今天有没有学到东西。学习经历由于我高中毕业,28岁才开始学习编程,起点比常人低很多。我一点基础都没有,需要学习很多知识。在找工作之前,我花了五个月的时间自学编码。第一个月学了C语言,但是发现C语言不好找工作。第二个月转python。学了一个月,发现招聘岗位很少,于是又放弃了。第三个月,痛定思痛后决定先上网搜索什么语言找工作再做决定,最终选择了前端作为学习方向。接下来,我学习了三个月的前端。HTML和CSS是在w3school学的,JavsSciprt是看的《JavaScript 高级程序设计第三版》。在学习的同时,我也做了百度前端技术学院2016年巩固提升技术的任务。三个月后开始找工作,2017年2月找到第一份工作,终于转行成功。接下来三年的学习经历可以分为前端和计算机理论知识两个方面。前端关于前端学习,我的目的是:基础知识为主,库和框架为辅。理论与实践相结合,让学习更有效率。我经常写文章总结,把学过的知识消化,然后写出来(费曼学习法)。库和框架都是工具。基础打好了,学习第三方工具可以事半功倍。基础知识(JavaScript,CSS,HTML)这三年,我看了很多前端书籍,如下:你所不知道的JavaScript(上)你所不知道的JavaScript(中)你所不知道的JavaScript不懂(下)JavaScript高级编程(第三版)高性能JavaScriptES6标准介绍JavaScript语言精髓JavaScriptDOM编程艺术第2版CSS揭秘高性能建站指南高性能建站进阶指南Web性能权威指南边读边读书,我也做完成了百度前端技术学院2017年的任务。付出就有收获。看书做练习,大大提高了自己的技术水平,以至于对后来学习Vue源码起到了很大的作用。库和框架关于第三方库的学习,我只对JQuery和Vue进行了深入的研究,其他的库??都是根据文档按需使用。深入研究JQuery的结果:写了两个组件。深入学习Vue的成果:写了一个Vue动态表单组件,发布在NPM上。自己写了一个模仿Vue1.0版本的MiniVue,让我对Vue的理解达到了源码级别。写了几篇关于Vue的文章。nodejs学习nodejs的时间比较少,主要是工作用不上。结果写了个人博客node-blog,涉及到服务器和数据库知识。深入浅出讲解node.js计算机理论知识计算机理论知识决定了一个程序员的天花板(国内必须加英文)。数据结构和算法的书《算法 4th》看了。课后作业没做,Leetcode题做了不到一百道。编译原理和计算机原理由于编译原理和计算机原理是在同一本书上看的《计算机系统要素》,所以我将它们放在一起讨论。这是一本神书,内容通俗易懂,涉及计算机原理,编译原理,还有一些操作系统知识。每章末尾都有相应的习题,需要你自己写代码来完成。如果你完成本书中的所有项目,你将获得以下成就:搭建一台计算机(运行在模拟器上)实现一种语言和相应的语言标准库实现一个简单的编译器而且,本书的门槛非常低,如只要你能熟练使用一门编程语言。本书所有项目我都做完了,答案在github上,有兴趣的可以看看。操作系统操作系统看了《操作系统导论》和《深入理解计算机系统》(这本书更像是计算机入门),做了一个MIT6.828的项目,写了一个简单的操作系统内核。其他人没有做或只做了部分功法。汇编语言(第三版)x86汇编语言:从实模式到保护模式代码百科全书2重构计算机程序的结构与解释(SICP)计算机理论知识总结,值得每一位程序员认真学习。但是,持续学习并不是一件容易的事情,需要你有坚定的目标和强大的自我驱动力。不想学习可以看电影打游戏放松一下,注意劳逸结合,但也要警惕游戏成瘾,这是血的教训总结出来的。
