谈谈我这三年在技术上的成长

简介:

前些时候把微信 id 开放了出去,有很多朋友加我微信,其中大部分都是前端学习者。一些同学在学习的时候遇到了困难,或者说瓶颈吧,询问我处理办法,有的希望我讲述下学习经验。考虑到有些话题偏大,我没有详细回复,事实上我也不知道从何说起,今天思量了一番,记录下来。

https://unsplash.com/photos/7oL1PR6AV8o by Amanda Perez

 

前些天写了一篇文章 《谈一谈越来越难做的前端》,谈了一下前端职能的变化,前端圈子越变越大,能做的事情也越来越多,于是可以选择的方向也多了起来。新名词、新技术接二连三跳串出来完全不给人喘息的机会,上一波没有学明白下一波甚至第三波就来了,很多人开始迷失在技术名词之中。而且每天对着同样的人做着同样的活儿,看不到自己的成长,也不知道如何成长。

我在 14 年 7 月 14 号正式入职淘宝,之前分别在百度和淘宝实习了三个月,两次实习让我成长了很多,而正式入职后在淘宝的两年更让我受益匪浅。一个人成长最快的时候,是他适应新环境的那段时间。

扎实的基础

记得第一次面试之前,我很努力地把所知道的前端相关的技术点列了列,写了好几页纸的关键词,然后针对每个关键词系统地巩固学习,解决心中的疑问以及学习时遇到的新疑问,然后自信满满地参加了新浪和网易的面试。那时候,估计两家公司的前端工程化已经有些苗头了,但可能认为学校里的同学没啥实战经验,主要问的都是前端基础题,闭包、正则、DOM 模型、Event 模型等等,没什么特别深入的话题。当然,那时候我的简历中也没有太多体现工程化相关的内容,估计跟面试官也聊不起来。

对于入门不久的前端同学,面试官着重考虑的是他们的学习能力、发展潜力,也会适当看看编程能力过不过关,对 JavaScript/CSS/HTML 的基础知识掌握的牢不牢固。如果你被面试官选中了,那就说明,你具有较强的综合素养,是一个合格的前端入门者。一般重点高校学生的学习能力都还不错,大学几门计算机相关学科的薰陶加上适当的课外练习后,编程能力也是能够接受的,所以公司喜欢招聘重点高校尤其是偏理工科的学生。我看到不少同学,在毕业前三五个月才开始了解和学习前端,单最后都顺利地进入 BAT。

我就属于上面这波人,只不过,不是毕业前抱佛脚,而是较早地接触了前端,看了很多书籍,融入了前端社区,并且在学校的技术团队中锻炼了基本功。我很庆幸自己会在大学时,投入那么多时间在前端基础知识的学习上,因为毕业后我发现,自己已经没有那么多时间和耐心来学习这些略感枯燥的知识了。已经工作的你还能够坚持一口气啃完犀牛书么?估计绝大多数人都没这个耐心吧,即便有些知识你已经淡忘了,只愿意把犀牛书作为工具书。我在毕业前就把这本书啃了四五遍,现在基本不需要这本工具书了。

大学期间读过的书很多,豆瓣上记录过 大学读的书,从每本书都吸收点知识,所以总的知识储备其实是足够应付面试和一般需求的。不谦虚地说,我对前端硬知识的了解比较全面,这对我后续的提升奠定了坚实的基础。

知识体系和能力阶梯

但是,毕业工作后,才发现,我学的那点东西远远不够。事实上,毕业之前的实习就深有体会了。

为什么公司期望学生能够去实习?公司有自己的一套流程和技术体系,这一套东西是适配公司业务,方便各个工种之间协同作战的,而且每个公司的那一套都不太一样。刚毕业的同学最熟练的是对 API 的使用,而进入一个新环境后,会发现之前熟悉的那一套并不好使,有很多软件环境需要搭建,很多框架类库需要熟悉,还有一堆开发流程、上线流程、业务流程等等,这些东西会让一个自信的新人变得没有任何优越感。再加上分配的业务上还有几个小 bug 要修理,你几乎不会有自己的时间,学习变得变成了一种奢侈的事情。这也是给还在学校的同学一个警示,如果你要走技术这条路,基本功一定要打扎实,否则工作第一年你会相当吃力。

百度实习那几个月对我的改变很大,象牙塔外拼搏三个月,个人阅历见长且不说,技术上的认识有了很大幅度的提升。当然,这要感谢公司。在公司里很容易知道哪些技术是公司需要的,哪些技能是业务中必须熟练掌握的。慢慢的,对技术就有了一定的甄别能力,曾经摆在心中的技术关键词是单线程、兼容性、冒泡捕获、事件代理等等,而现在变成了组件化、调试模式、自动化测试、前端集成环境等等,完全是两个知识维度上的分类。

公司有不同层级的人,他们做的事情也有些差异,从这些差异中也能够体会出,自己跟这群人相比亮点和缺点分别是什么,如果需要提升还需要做些什么。越大的公司,对人能力的分级越明显,对个人来讲,也越容易找准自己的位置。知道自己水平在什么位置,也知道下一个水平在什么位置之后,我们需要的就只有努力了。

业务和新技术

我从来不担心社区又出来几个什么新的技术名词,因为我已经给这些词安排了座位,就在脑海中。比如 grunt、gulp、webpack 等名词出来的时候,我没有忙着去深入学习,脑子里有一张大概的体系图,先把它们打包扔到脑子里命名为“工程化-打包类”,先存起来,等到需要的时候再去学习。实际上,我也是隔了三四个月才去学习和使用他们的。

但是存进大脑之前,我会先简单了解这些工具:它能做什么?哪些场景可以用?大概如何用?社区在哪里?组件库如何搜索?三者之间的差异是什么?然后看看基本的 API,这些工作花不了多少时间,但是对我后续深入了解它们提供了很大的帮助。我一直很认可这句话:「知道从哪里可以学到知识,就就学会了这个知识的一半」。

所以我不担心有新技术出来,我不忙着学它,因为即便是我学会了,我的团队中也不会去用它,甚至业务中根本就用不上。对新知识做分类并且了解全貌,至于细节部分嘛,先放放。不要动不动就搞什么源码分析,React 的 diff 算法,Vue 的 MVVM,这种事情费事费力,其实稍微想象下就知道是个啥了么,中间的细节实现和实现原理不是不重要,而是暂时不重要。可以等到你闲下来或者预知业务中有需要时,再下工夫深入也不迟。

大多数情况下,技术都是跟着需求的变化而变化的,需求从哪里来?当然是从你的团队和业务之中出来的。跟着业务走,你的方向不会错!

小结

可以说没有人系统地学过前端,大学没这门课,公司也没这门课。前端这个词是 ajax 流行时出现,它朝气蓬勃,发展却异常迅猛。要在技术这条路上走的长久,首先要把基础打扎实,然后才能能力和闲工夫循序渐进。

好吧,希望这篇文章对你有所启发,下次我再分享我是怎么建立自己的知识体系的。






本文转自Barret Lee博客园博客,原文链接:http://www.cnblogs.com/hustskyking/p/learning-recent-years.html,如需转载请自行联系原作者

目录
相关文章
|
10月前
|
设计模式 前端开发 JavaScript
[干货满满] 三年经验前端的面试经验分享
[干货满满] 三年经验前端的面试经验分享
579 1
|
人工智能 自然语言处理 Java
程序员再过几年会没落?这是真的吗
《Computer World》杂志曾经写过一篇文章,说“编程到1960年就会消失”,因为IBM开发了一种新语言FORTRAN,这种新语言可以让工程师写出他们所需的数学公式,然后提交给计算机运行,所以编程就会终结。
|
数据采集 算法 Go
我的半年算法学习成长之路~
我的半年算法学习成长之路~
106 0
|
存储 设计模式 运维
学习笔记 | 这三年帮助我走出困境的书籍分享
学习笔记 | 这三年帮助我走出困境的书籍分享
262 0
|
运维 Kubernetes Cloud Native
KusionStack 开源有感|历时两年,打破 “隔行如隔山” 困境
本文撰写于 KusionStack 开源前夕,作者有感而发,回顾了团队从 Kusion 项目开发之初到现今成功走上开源之路的艰辛历程。当中既描述了作者及其团队做 Kusion 项目的初心和项目发展至今的成果,也表达了作者自身对团队的由衷感激,字里行间都散发着真情实感。
KusionStack 开源有感|历时两年,打破 “隔行如隔山” 困境
WM
|
存储 canal 开发框架
我所经历的创业公司是如何做技术的?--《我与开源的故事》
人类的文明得以快速发展,很重要的一点在于我们可以站在巨人的肩膀上继续探索。而开源世界之于互联网行业来说就是这个巨人之一, 本文将重点阐述作者本人所了解的开源世界,以及如何通过开源项目做出有效个工作产出。
WM
9101 0
我所经历的创业公司是如何做技术的?--《我与开源的故事》
|
NoSQL 算法 Java
如何成长为一位优秀的技术人?优秀的程序员成长的技术路线都在这呢!
本篇文章是一篇介绍技术人的技术成长路线的文章。要想成为一位优秀的技术人,一定要做好这些方面。本篇文章中包含的一位技术人的成长的要求,以及一位技术人成长的技术路线。这些路线也是也是本人在一直成长,深化的方向,希望与君共勉。
567 0
如何成长为一位优秀的技术人?优秀的程序员成长的技术路线都在这呢!
|
Web App开发 存储 移动开发
我的前端成长之路:在阿里七年,我的成长和迷茫
很荣幸有这个机会和大家分享一下我的成长经历,以及我是如何摆脱业务前端的职业迷茫感的。
我的前端成长之路:在阿里七年,我的成长和迷茫
|
中间件 程序员
历经外企、创业公司、大厂的程序员告诉你:第一份工作有多重要!
  笔者毕业5年,先后经历了创业公司,外企和国内一线互联网公司。本文用经历告诉你,第一份工作对于你的重要性和怎么选择第一份工作。   笔者第一份工作去了外企,也正是因为去了外企让我学会了很多,也塑造了自己的编程习惯和工作方式,时至现在也未曾改变。其实公司就是学校,第一家公司对你的工作习惯的塑造很重要。因为是外企,公司的文化相对扁平,没有尔虞我诈也没有勾心斗角。举几个具体的公司特质说一下对笔者的职业习惯的塑造。   新人培训:这里的新人培训不同其他公司,它会有6个月试用期,这6个月会有一个老师专门负责你的成长,定期给你 Review 表现。同时每一个月所有和你接触过的人会去一个小黑屋说你“坏
293 0
|
移动开发 人工智能 前端开发
素人程序员:如何在技术浪潮更迭中保持较高成长速度?
  技术更迭是有加速度的,一个又一个风口,一波又一波浪潮,昨天火了人工智能,今天已经大谈区块链。普通程序员们在这个进程里,应该怎样找准自己的位置,获得持续的个人成长呢?   技术更迭是有加速度的   从 2010 年开始,被定义为移动互联网的元年,移动开发也是从这一年开始逐渐开始火爆的。笔者也是从毕业之后加入这个浪潮的。据说移动开发火爆之时,理发师通过几个月培训以后也可以拿到月薪 1,2W 的薪水,可见那个时候对移动人才的饥渴程度。但是到了 2014 年底开始,移动开发的入职要求回归理性,要求逐渐提高,到现在基本大公司社招也不再招高级以下的移动开发了。
212 0