文末
技术是没有终点的,也是学不完的,最重要的是活着、不秃。
零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。
最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。
自学最怕的就是缺乏自驱力,一定要自律,杜绝“三天打鱼两天晒网”,到最后白忙活一场。
高度自律的同时,要保持耐心,不抛弃不放弃,切勿自怨自艾,每天给自己一点点鼓励,学习的劲头就会很足,不容易犯困。
技术学到手后,找工作的时候一定要好好准备一份简历,不要无头苍蝇一样去海投简历,容易“竹篮打水一场空”。好好的准备一下简历,毕竟是找工作的敲门砖。
拿到面试邀请后,在面试的过程中一定要大大方方,尽力把自己学到的知识舒适地表达出来,不要因为是自学就不够自信,给面试官一个好的印象,面试成功的几率就会大很多,加油吧,骚年!
开源分享:docs.qq.com/doc/DSmRnRG… 02 成长路线
我们知道任何事情都会有属于它的体系,就好像我们人生的成长路线一样,经过九年义务教育,初高中然后大学等,都会有一个成长的路线。
同理做技术也是一样的道理,技术人的成长也是从基础开始慢慢地不断积累经验、不断对某一个领域的探索,然后在某个领域你会取得一定的成就。我们都是普遍从本科大学生起步,从毕业那一刻开始我们就会开始我们技术成长路线(转行不算),一路打怪升级,迷茫困惑到柳暗花明都是一段经历。
基础知识
核心竞争力
首先第一点就是我们要认清自己,看一下自己的能力在哪个范围之间,然后从那里开始起步。有同学可能会问,我从一开始学起不行吗?我认为这是没有必要的,一是浪费时间,二是价值不大。
当你有一定的基础的时候不用从零基础学起,应该给自己一定的难度来挑战一下,跳出自己的舒适圈迎接更大的挑战,这样你才会不断进步。我们都要从技术与业务两方面进行锻炼自己,技术是我们的安身立命之本,是支持我们业务开发根本;而业务则是我们创造用户价值的地方,用户价值最后也会转变成商业价值,这一系列的过程谁也离不开谁,都是相辅相成的。
接下来就谈一下如何在这两个方面进行深耕,竹隐老师认为我们应该通过以下的几个方面:
技术
-
技术产出
-
流程改进
-
总结分享
-
源码阅读
业务
-
业务理解
-
进度管理
-
需求高质量开发
其实不管是毕业生是这样做,就算是工作了很多年的技术人也应该遵循这些点,大体的方向是不变的,变的只是我们不同公司对应不同的业务罢了,这个肯定是不同的。
我本人最同意的就是关于技术总结分享的环节,程序员是一群很热爱分享的群体,他们或者没有做一些很伟大的业务开发或者架构设计,但是对于一些有意思的知识点都会分享。热爱分享到什么程度呢?就算只有100字的文章也会发布出来,这就是我们说的“水文”。当前之前我也会发一些“水文”,但是后来我会觉得成知识体系的发布可能会更好,不管是对别人还是对自己。
所以当你已经可以在上面的几点有自己的理解和沉淀,那么自然你就会有属于自己的标签,有属于自己的竞争力,满足了技术本身最基本的需求。
扩大自己的影响力
影响力很重要,有时候给你带来的机会也是很多的。为什么这么说呢?因为你的圈子就在这了,当你能够在圈子里面小有名气的时候自然就会有人来主动认识你,不管是技术探讨还是工作交流乃至职位推荐都有。那么如何做呢?
-
写博客
-
多逛社区
-
多与人交流
-
多总结自己
这也是自己当前做的事情,把自己的想法分享出去,正所谓你有一个想法我有一个想法,交换之后我们就有两个想法。其实很多时候技术不是最重要的,比如你开发一个非常厉害的软件或者项目,没有人使用和买单,那你的价值就不存在了。
写博客这个方法我觉得是最有用的,可以对自己总结,也可以给别人提供一个思路,这多好呢!唯一要的是你需要一点时间来写一下而已。除了这个也可以与人交流,不管是面试还是与朋友交流,你都会有不一样的认识,相互借鉴学习过程中遇到的困难,发现的新技术、新工具等。但是我们对于无用的社交就不要参与了。
未来抉择
当你在技术的方面有不错的沉淀的时候,你就会觉得一切都游刃有余,这时候其实你就会进入了一个舒适区了,而且紧接着而来的就是迷茫期。
其实这就是我们需要做出自己选择的时候了,是继续前进还是保持不动?是走管理路线还是继续在技术方向深耕?这一切的事情都要我们去选择。
深耕技术
其实这也是一条可选的路线。我记得国外有一人就只写CSS,他也可以获得丰厚的收入,因为他在CSS这个领域就是一个专家级别的任务,所以对技术追求到了一种极致之后,你也会看到别人看不到的东西,你也会有自己独特的见解。
专家级别的任务其实不是他懂得了多少,而是在这个领域钻研的有多深。所以关于某项技术的研究,如果你要进行深耕那么你就要做一些别人没有接触过的东西,研究一些别人没有做过的东西,拓宽知识盲区。
业务管理
或者你已经疲倦了写代码的技术活,已经不想再去接触这份工作了。那么其实你大可以往管理的方向去靠,就好像你不会技术,但是你懂的如何找技术的同学来帮你进行业务开发。我觉得这是很多技术人都有这样的追求,认为写了几年的代码,没有什么意思。
虽然你看到的是自己运筹帷幄、统领全局的自己,万一有一天你被别人替代了你的竞争力在哪里?这里其实没有那么夸张,你还是有你的价值,还是会有对业务管理的嗅觉在里面的。
一般管理层的人都会对自己的业务非常地了解和熟悉,你知道怎么设计一些东西,你知道未来的方向在哪里,你对自己的产品有预见性的看法。但是假如你去到了别的公司你就会什么都不知道,因为上面说了我们的不同公司业务是不大一样的。你需要一段时间来上手这一份工作,当然你可能会带来一些新的思考与想法,这也是不错的。
我想说的其实就是纯管理的路线也有它自己的缺点。比如你会花更少的时间甚至不花时间在技术上面,你的想法也有可能跟不上时代的发展;你可能在跳槽之后发现来到了一个全新的领域,对业务不熟悉而且你基本上也忘记了技术的开发,这时候难免会有一些被抛弃的感觉。
技术管理
技术管理其实就是把两者的关系结合起来,一方面你可以跟得上现在的技术发展,你会去关注一些比较前沿的技术,你会想着如何把它运用到自己的项目当中;一方面你对自己的业务还是比较熟悉的,你知道业务未来有怎么样的方向。
这是一种两者兼顾的职位,可能你会觉得自己没有这么多时间去做技术,不放心别人去做。其实这也是很多Leader的烦恼,这里其实你做到用人不疑,疑人不用就好。只有你的小伙伴进不了你才会进步,给他们多一点的机会,团队才会有进步。
转型成功
虽说你是确定了自己的未来方向,但是你仍然需要一段过渡期来习惯你的身份、习惯你的工作。这一阶段其实会有很多干扰你的信息,你要学会如何去调整这些负面的、干扰的信息。
转型成功意味着你有更大的责任,即使你的工作重心已经不再是代码层面的东西,但是你得会沟通,你会技术,你也懂业务,你看得到未来。这些东西其实是一个人的品质,看似很虚的东西,但是你不具备这样的品质与能力,你的转型也不是成功的。
虽说别人羡慕你的工作,但是你有时候也是力不从心,对于一些细节性的东西也无法准确把握。这些种种的不愉快也是只有你能够体会到,也就是我们说的心魔。竹隐老师说的一句话我很喜欢“体力支撑你到P6,脑力支撑你到P7,心力支撑你到P8”,这样是从侧面反映了技术其实不是最重要的。
思维转变
前端框架
前端框架太多了,真的学不动了,别慌,其实对于前端的三大马车,Angular、React、Vue 只要把其中一种框架学明白,底层原理实现,其他两个学起来不会很吃力,这也取决于你以后就职的公司要求你会哪一个框架了,当然,会的越多越好,但是往往每个人的时间是有限的,对于自学的学生,或者即将面试找工作的人,当然要选择一门框架深挖原理。
以 Vue 为例,我整理了如下的面试题。