1年转行资深前端工程师,开源项目过 1k stars,完整学习过程
先介绍下大致情况时间线。
18 年 8 月正式转方向为前端,之前做了一段时间的 iOS,后来因为对前端更感兴趣所以就打算转方向了。19 年 10 月入职当前公司,定级资深前端,分配到业务架构小组,自此在一年零两月的时间内完成从 iOS 转方向到资深前端的过程。
很多读者会问我是如何学习的,今天这篇文章就来完整的梳理一遍整个过程。过程可能不能复制,但是其中很多的方法论我相信一定对你有帮助。
学习经历
转前端之前
17 年底开始正式学习前端,这时还在做 iOS 开发,所以拿来学习的时间并不会很多。偏向实战论,喜欢边学边补,至今完整读过的前端书籍寥寥几本
- 你不知道的 JS 基本读完
- 忍者秘籍第二版读完
- 其他零零碎碎的读过一些书,但是基本都是随便翻翻就过了
很多人推崇的红宝书笔者就读了四五章节,这本书主要是基础内容,对于基础内容我更喜欢读文档。MDN 翻一翻,网上查一查,基本就能把 JS 基础了解个大概,CSS 及 HTML 的内容基本没花时间学,都是现学现用。
在转前端之前大致的学习路线如下:
- JS 基础了解个大概,CSS 和 HTML 花的时间很少,当然在后续的学习过程中逐步在填补基础的漏洞,只是没有一开始就花大量的时间去学习。
- 读文档,开始写 Vue。将自己的需求写成一个小项目,主要技术栈为 Vue 及 Node,都只属于会用。
- 从同事那里了解到 Webpack 是个难啃的东西,自己买了 相关的课,照样画葫芦最后产出一个教程。
- 开始学习 React,同样也买了相关的课,最后产出一个开源项目,至今过 1k stars。
时间节点到这里大概是 18 年 1 月份,总结几个帮助我学习的点:
- 动手很重要,把自己学到的知识写成一个小项目或者文章,对于自己的帮助是很大的。在这个节点之前,我在掘金产出了六篇前端相关的文章,获得了四千多的点赞。
- 文档最重要,牛逼的项目的文档几乎没有错误,只有二手资料才会错误百出。
- 活用搜索引擎,那时候我还是个小透明,没加过任何的前端群,有问题就是谷歌搜答案。遇到报错就把报错丢上去;遇到写的和预期不对就把想要的搜一下;遇到自己没学过的,就搜一下相关知识,就这样逐步累积上来。当然在这一步最为核心的点是得用英文 + 谷歌搜索,缺一效率就低。觉得自己英语不好的不要担心,把自己想问的谷歌翻译一下不就好了。
接下来就是一个面试季了,这时候掘金的面经文章层出不穷,我也尝试去解答了那些面试题。这时发现自己不会的相当多,因此觉得这些面试题会是一个帮助自己填补知识漏洞的好办法。
于是接下来很长一段时间我都是处于这样一个循环中:
- 找面试题
- 回答面试题,挖掘它背后的知识点,写成内容
在这个循环中我逐步发现如果我能把这个东西做大做好,那么一定会是个爆款,毕竟那时候没有竞品,转方向的念头也是这个期间萌发的。后面的事情应该很多读者都晓得了,我把它做成了开源,最后获得了一万六千多的 stars。
在这个做开源的期间,我觉得最重要的可能是费曼学习法了,也就是以教促学。从我不会到我觉得自己会了到最后把自己会的东西写成内容教给别人,那时候的学习途径如下:
- 发现自己不会的点,不管你是从哪里发现的
- 搜索资料,尝试搞懂它
- 写一下代码,验证一下
- 把自己理解的写成文字
- 把自己代入读者,看着自己写的内容是否能学会这个知识
- 多搜索这个知识相关的文章,看看有没有遗漏的
- 在前几个环节你可能还会发现更多自己不会的点,继续循环
整个开源项目我都是这样操作下来的,其中包括了之前我不懂的、懂的、懂的但并不完善的知识,通过以上的学习方法完成了自己的知识梳理及填补漏洞的过程,至今我还一直践行着以上方法论,真的很有效。
项目开源以后,我也顺利了找到了工作,至此完成方向转型。
希望对正在学习,或者转行,大学生的伙伴有所帮助,在学习的路上少走弯路, 从事全栈6年
专门建立的学习q裙851231348 分享学习方法和需要注意的小细节,互相交流学习,不停更新最新的教程和学习技巧(从零基础开始到WEB前端项目实战教程,学习工具,全栈开发学习路线以及规划)
工作中
在工作中学习的这块内容其实之前已经写过,在这里我就直接把精华总结一下:
- 用到的所有技术栈务必用精,没到这个阶段之前别想东想西的这个那个都想学点皮毛,没啥用。
- 了解下市场的热门技术,过时的就别浪费时间学了,顺便也给自己储备点知识,最好学点公司未来可能要用的技术栈。
- 想想看未来怎么在自己的简历上写工作上的亮点,然后尝试着去做。
- 别写完代码就完事了,看看还有没有能调优的地方,这都是你未来能写在简历上的东西,多从未来给简历加分上看齐。
- 学会偷懒,能用脚本做的就让脚本去实现,在这个过程中你就能成长。
- 给自己列点计划在业余中学习。
1年转行资深前端工程师,开源项目过 1k stars,完整学习过程的更多相关文章
- 我发起并创立了一个 Javascript 前端库 开源项目 jWebForm
在线演示地址: ( 在线演示 云平台 由 Kooboo 提供 https://www.kooboo.com/ ) 按钮: http://iwebform.kgeking.kooboo.si ...
- webfunny前端监控开源项目
前言介绍 如果你是一位前端工程师,那你一定不止一次去解决一些顽固的线上问题,你也曾想方设法复现用户的bug,结果可能都不太理想. 怎样定位前端线上问题,一直以来,都是很头疼的问题,因为它发生于用户的一 ...
- 资深前端工程师带你认识网页后缀html、htm、shtml、shtm有什么区别?
每一个网页或者说是web页都有其固定的后缀名,不同的后缀名对应着不同的文件格式和不同的规则.协议.用法,最常见的web页的后缀名是.html和.htm,但这只是web页最基本的两种文件格式,今天我们来 ...
- 淘宝前端工程师:国内WEB前端开发十日谈
一直想写这篇"十日谈",聊聊我对Web前端开发的体会,顺便解答下周围不少人的困惑和迷惘.我不打算聊太多技术,我想,通过技术的历练,得到的反思应当更重要. 我一直认为自己是" ...
- (转)国内外优秀的Web前端工程师
1. 国内外优秀的Web前端工程师 寻找Github.微博.知乎等技术社区上比较活跃.影响力大的圈内大神,供大家膜拜! 视野所限,未必全面,欢迎大家推荐.自荐. 排名不分先后,序号只为标记方便. 提供 ...
- 转发 ----> 2018年阿里巴巴重要开源项目汇总(持续更新中)
转发自segmentfault https://segmentfault.com/a/1190000017346799 前端 1.数据驱动的高交互可视化图形语法 AntV - G2 G2 是一套基于 ...
- android开源项目学习
FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb.ePub和fb2.此外还支持直接读取zip.tar和gzip等压缩文档. 项目地址:ht ...
- 我发起并创立了一个 EPWA 的 开源项目
EPWA , 是 Easy PWA 的 意思, PWA 取自于 Google 的 PWA, EPWA 是一个用 C# Cef Html js css 开发 桌面程序 的 架构 ...
- 国内最火的 HTML、CSS、JavaScript 开源项目 Top 榜,你知多少?
对于开发者而言,想要着手前端开发,HTML.CSS 和 JavaScript 是三项必备的基础技能.而如何事半功倍地掌握好这些知识?通过了解当下火热的开源项目不乏为最佳学习姿势.本文盘点国内评分最高且 ...
随机推荐
- Java实现 LeetCode 432 全 O(1) 的数据结构
432. 全 O(1) 的数据结构 实现一个数据结构支持以下操作: Inc(key) - 插入一个新的值为 1 的 key.或者使一个存在的 key 增加一,保证 key 不为空字符串. Dec(ke ...
- Java实现LeetCode_0012_IntegerToRoman
package javaLeetCode.primary; import java.util.Scanner; public class IntegerToRoman_12 { public stat ...
- java实现第六届蓝桥杯切开字符串
切开字符串 Pear有一个字符串,不过他希望把它切成两段. 这是一个长度为N(<=10^5)的字符串. Pear希望选择一个位置,把字符串不重复不遗漏地切成两段,长度分别是t和N-t(这两段都必 ...
- java实现第九届蓝桥杯全排列
全排列 对于某个串,比如:"1234",求它的所有全排列. 并且要求这些全排列一定要按照字母的升序排列. 对于"1234",应该输出(一共4!=24行): 12 ...
- 运用Navicat for MySQL进行MSSQL数据转移MYSQL
当前不同数据库进行数据转移已经不是一件麻烦事情,特别是有很多很方便的工具,而最近我在搜集各种数据时候,也需要进行大量的数据转移,并且数据库和所转移的数据库表都不同,这次给大家介绍个最简单的方法,就是使 ...
- 使用Java将阿拉伯数字转换为中文数字(适配小数转换)
Java数字转换工具类 简介 该工具类可以将整数.小数.负数转换为中文的数字,如: 0 --> 零 1 --> 一 2.1 --> 二点一 -2.1 --> 负二点一 具体代码 ...
- 彻底搞懂 etcd 系列文章(二):etcd 的多种安装姿势
0 专辑概述 etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管.etcd 在微服务和 Kubernates 集群中不仅可以作为服务注册与发现,还可以作为 key-value 存储的中间件 ...
- 01.vue-router的基本使用
Vue前端路由 1. npm install vue-router --save 2.脚手架安装 一.目录结构 二.index.js // 0.导入vue和路由插件 import Vue from ' ...
- PAT1040 Longest Symmetric String (25分) 中心扩展法+动态规划
题目 Given a string, you are supposed to output the length of the longest symmetric sub-string. For ex ...
- QToolTip 设置提示信息
import sys from PyQt5.QtWidgets import (QWidget, QToolTip, QPushButton, QApplication) from PyQt5.QtG ...