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

简介:

前些时候把微信 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,如需转载请自行联系原作者

目录
相关文章
|
7月前
|
数据采集 算法 Go
我的半年算法学习成长之路~
我的半年算法学习成长之路~
|
9月前
终身成长本质:成长型思维——打败人不成熟,成为高效能人士
终身成长本质:成长型思维——打败人不成熟,成为高效能人士
|
存储 编译器 C语言
三年经验的C需要懂的问题
2013年3月写的文章。那会的工作主要是做一些通信设备上的底层软件,所以会深入的了解C的相关底层内容。这是那时候写的三年的C经验需要知道的事情。请不要问我这些问题的答案。
71 0
|
弹性计算 运维 Kubernetes
腾讯全面上云背后:程序员的技术焦虑和技术理想
腾讯全面上云背后:程序员的技术焦虑和技术理想
215 0
|
移动开发 人工智能 前端开发
素人程序员:如何在技术浪潮更迭中保持较高成长速度?
  技术更迭是有加速度的,一个又一个风口,一波又一波浪潮,昨天火了人工智能,今天已经大谈区块链。普通程序员们在这个进程里,应该怎样找准自己的位置,获得持续的个人成长呢?   技术更迭是有加速度的   从 2010 年开始,被定义为移动互联网的元年,移动开发也是从这一年开始逐渐开始火爆的。笔者也是从毕业之后加入这个浪潮的。据说移动开发火爆之时,理发师通过几个月培训以后也可以拿到月薪 1,2W 的薪水,可见那个时候对移动人才的饥渴程度。但是到了 2014 年底开始,移动开发的入职要求回归理性,要求逐渐提高,到现在基本大公司社招也不再招高级以下的移动开发了。
155 0
|
NoSQL 算法 Java
如何成长为一位优秀的技术人?优秀的程序员成长的技术路线都在这呢!
本篇文章是一篇介绍技术人的技术成长路线的文章。要想成为一位优秀的技术人,一定要做好这些方面。本篇文章中包含的一位技术人的成长的要求,以及一位技术人成长的技术路线。这些路线也是也是本人在一直成长,深化的方向,希望与君共勉。
434 0
如何成长为一位优秀的技术人?优秀的程序员成长的技术路线都在这呢!
WM
|
存储 canal 开发框架
我所经历的创业公司是如何做技术的?--《我与开源的故事》
人类的文明得以快速发展,很重要的一点在于我们可以站在巨人的肩膀上继续探索。而开源世界之于互联网行业来说就是这个巨人之一, 本文将重点阐述作者本人所了解的开源世界,以及如何通过开源项目做出有效个工作产出。
WM
9048 0
我所经历的创业公司是如何做技术的?--《我与开源的故事》
|
Web App开发 移动开发 供应链
铁军:保持成长动力,与技术、业务、团队共成长
对于前端的成长我认为首要的是自身成长的内在动力,其次是伴随技术业务团队共同成长,不忘初心、保持空杯、梦想前行。
铁军:保持成长动力,与技术、业务、团队共成长
|
新零售 小程序 UED
2020将至,谈谈中小企业创业的那些事儿
一入创业深似海,在创业赛道上,很多公司完成了从0到1,却死在从1到100的路上。本文全视角解读阿里云布局企业服务,让小程序+平台赋能,成企业数字化转型突破口,助力创业者决胜2020。
2020将至,谈谈中小企业创业的那些事儿
|
程序员
老程序员的巨大优势——积累起来的经验——打破30/35岁的魔咒!
  最近找了一份工作,在工作中体验到了以前积累的工作经验的巨大优势。     需求很简单,就是做一个网站,展示一下要出售的商品,再加上一个资讯作为陪衬。当然还要有一个会员管理,会员分类,会员购物车、订单、网银接口等,还有SEO的注意事项,再加上URL重写,还有就是业务员和会员的关系。
996 0