• 中专毕业的他,是如何逆袭为 360 资深程序员?


    2012年,他17岁,中专毕业。

    2015年,他20岁,加入国内知名互联网公司360,成为360最大前端团队奇舞团的一员。现任360导航事业部资深前端工程师。

    2019年,他24岁,出版首部技术书籍《深入浅出Vue.js》。

    目前负责360导航首页及二级页创新项目等亿级PV站点的设计与优化,推动Vue.js成为部门内广泛使用的核心技术栈,独立研发相关开发工具与技术解决方案并使之成功落地。

    从中专毕业的门外汉,到360前端工程师并出版技术书籍,他完成了职业生涯的巨大跨越。他是怎样自主学习,快速成长的?本期图灵访谈对话刘博文,一起来了解他的前端之路。

    640?wx_fmt=png

    8000块钱在北京能活多久?

    「虽然也很努力,但我觉得更多的是靠运气。」

    17岁那年我中专毕业,是学计算机的。但当时的中专就是告诉我什么是计算机,有个职业可以用计算机去工作。

    刚毕业的时候,我到沈阳的一家企业去上班,不会JS,CSS也只是略懂。面试的时候,他们可能不知道我的水平,觉得我还能干活,就让我去了。结果入职后发现,我啥也不会啊,又不好意思直接让我走。就给了我两个选择,一个就是接着干,当学徒,学徒就没有工资;还有一个就是别在这干了。我想了想自己确实挺菜,那就跟着学吧。

    同学都说我傻,不给钱还给人干活。现在回头看,是我运气好。如果没有这个当学徒的机会,我就没办法踏入这个行业。

    2013年,我18岁,想自己来北京。那时家里人有一点担心。他们是不支持的,但还是给了我5000块钱,觉得等我钱花完了就自己回来了,总不能在那饿死。

    但他们肯定想不到,我就用这5000块钱,加上自己攒的,一共8000块钱,一直坚持到现在。

    当时我算好了这8000块钱,要在北京租个房子,押一付三,一个月房租按1500算,一共需要6000。我包都拎来北京了,还没找工作呢。就是住一个小旅店,每天还要花200块钱。也就是说我要在10天内找到工作并租个房子。

    当时也是命好,真的找到一个特别小的公司,让我去上班。因为我知道自己的水平,能找到工作还挺高兴的,先能养活自己就行。而且公司最好的一点就是供住,员工可以每个月花200块钱住在宿舍里面。这就直接解决了我的生存问题,也是我在北京迈开的第一步。

    640?wx_fmt=jpeg

    工作了一段时间后,我还是只会写页面,切图,而且忙到没有时间学习。这样下去肯定不行,我就换了一个比较轻松的公司,为了有时间去学 JS。后来学到一定阶段的时候,我遇到瓶颈了,因为学的东西没办法在工作中用上。

    我就又换了一个公司,这家公司只用一种语言就是 JS,服务端是用 Node.js 写的,比较符合我的需要。我可以充分去实践和提升技术,而且工作任务很繁重,那是我成长最快的一个阶段。

    再后来,就到了现在的公司360。360给我的感觉像学校,整体工作氛围是比较轻松和自由的,任务不会把人压到一点时间都没有,我们有充分的时间自己去学东西。而且像月影、成银、李松峰老师和屈屈这种大牛会经常在公司内部讲课,有什么不懂的还可以去请教。

    640?wx_fmt=png

    Vue.js 才没有看起来那么简单!

    初识Vue.js时,它还未被众人认可。想不到5年后,为它写了一本书。

    我接触 Vue.js 比较早,大概是2014年。因为上一份工作接手了一个同事的项目,就是用 Vue.js 写的。当时它是零点几的版本,还没有正式的一点零版本。我简单了解了一下,发现它和 Angular 1 很像,挺轻,挺优雅的。需求都能满足,学习成本还不高。

    当时用 Vue.js 的人比较少,大家都没怎么听说过。它不火到什么程度呢?我们组新来了一个人,跟我一起写项目,我说项目是用 Vue.js 写的,就给他看了一下代码,讲了一下项目。然后,第二天他就离职了。

    有半年的时间吧,我都在想是不是因为我们组的这个项目,用 Vue.js 他觉得太 low 了,所以不想干了?直到后来 Vue.js 被大家广泛认可,我才打消了这个想法。

    我刚入职360的时候,我们组的项目都运行了很长时间,很稳定。一次偶然的机会,我们打算新开发一个后台管理系统,大家开会讨论技术选型。就业务来讲,我认为使用框架和对应的组件库会极大降低开发成本,就强烈推荐使用 Vue.js 技术栈,因为考虑到学习成本比较低,而且我对 Vue.js 比较熟。

    现在大家已经习惯了使用框架开发,但在当时,我的提议遭到了非常强烈的反对。大家不停地提出各种问题,我也不停地给出解决方案,会议室现场变成了辩论会。

    最终,我的 leader 给了我一个机会,如果想使用 Vue.js,就要在短时间解决两个最重要的问题,登录和部署流程。因为公司的统一登陆中心是结合后端来实现的,纯单页静态项目就意味着之前的登陆完全不能用了。部署流程也需要全新的解决方案。

    当时我还有其他任务,所以就只能利用下班和周末的时间去做,好在最终问题解决了。这就是我们组正式使用 Vue.js 技术栈的时间点,也算是在后台项目中的一次试水。后来,我们组开发一个新产品,是面向C端的项目。在技术选型时,我又一次强烈推荐 Vue.js。因为上一个项目,有一些同学已经熟悉了 Vue.js 的开发模式,这次我也解决了一些遇到的问题(由于产品是图文内容类,存在 SEO 问题,等等)。就是这个项目真正推动 Vue.js 成为了我们的核心技术栈。

    对 Vue.js 越来越熟悉,我在博客上陆续发布了一些梳理它内部原理的文章,作为总结和记录。2018年,王军花老师看到了我的博客,找到了我,问我有没有兴趣写本书。当时我感觉很突然,这东西我写不了啊。心里边是很想写的,又担心写不好,内心很挣扎。一天后,我和军花老师说可以试一下。

    可能跟性格有关系,我从来都不是等把一切都准备好了,再去做一件事。一般都是机会来了,先干着再说。中间有问题再去解决问题。

    当时我给自己定了的目标是6月份交稿。我列了一个大纲,然后倒推,一个月为一个节点。写作过程中,每个节点的进度可能比预期的快或慢,但总体在可控的范围内。

    写作时间就是午休和下了班之后,一天差不多要写两三个小时。其实后期也会觉得枯燥,没有灵感。开始怀疑到底值不值得,这件事真的这么重要吗?我是不是用这些时间做其他事更划算?但没有真正想过放弃,就这样坚持下来了。

    640?wx_fmt=jpeg

    在写作过程中,我对一些 API 原理的细节理解得更深入了。

    举个例子,我发现 Vue.js 对函数报错这方面做了很严谨的处理。当我们使用 Vue.js 开发项目时,编写的所有代码都是 Vue.js 调用并执行的,所以它在执行用户的代码时,做了错误的捕获处理。

    还有就是计算属性。一个函数,可以返回计算后的结果。它要实现一个很重要的功能,就是当计算属性所依赖的某个状态发生变化时,计算属性的返回结果也需要做相应的变化,这个我之前确实没想过 Vue.js 是怎么做到的。

  • 相关阅读:
    微前端的那些事儿
    网络是怎样连接的 作者户根勤 交流论坛
    数据结构与算法学习
    cpu读取指令时读取的长度
    小程序开发
    npm 安装 chromedriver 失败的解决办法
    Git:代码冲突常见解决方法
    Android通过Chrome Inspect调试WebView的H5 App出现空白页面的解决方法(不需要FQ)
    pm2
    多媒体技术及应用
  • 原文地址:https://www.cnblogs.com/helloworld3/p/11159379.html
Copyright © 2020-2023  润新知