自学路径
基本开发能力
image from Roadmap to becoming a web developer in 2017
按照上图的学习顺序,黄的的全部要学,橙色的选学(React、Vue.js选一个,还有Redux其他橙色的可以不学),灰色的可以作为选择性了解就好。
上面的这些是前端工程的基本开发能力,学完之后就可以开始实际项目的实践了。在实践中,我们将会不断地对此加深理解。
到这一步,就可以参加工作了。
不过,参加工作前还需要通过面试,面试不仅考察基本开发能力,同时还会有笔试。关于“如何找工作”,我开了主题放在本文后面讨论。
- front-end-handbook-2017 - 前端红宝书
进阶
进阶意味着把事情做得出色,而不仅仅是把事情做好。
进阶阶段,需要关注以下这些点:
- 工程方法(工程方法帮助我们做事情、帮助我们把事情做得更好)
- 使用开发工具提高效率(Git\JIRA)
- 项目开发流程、Code Review
- 工程开发模式,如DevOps、瀑布模型
- 文档建设
- 工程素质(工程素质是我们开发相关的能力、知识,是除去工程方法以外的东西)
- Linux(CentOS、Ubuntu)的使用
- 计算机原理(TCP/IP、操作系统)
- 代码风格
- 项目的安全
- 熟悉各种流程、规范
- 业务理解(理解好业务是做好开发的前提,前端需要进行一定程度的业务学习)
- 理解业务是软件设计的前提
- 理解业务是优化流程的前提
- 理解业务是驱动业务变革的前提
- 系统架构(编写业务逻辑代码是枯燥的,掌握基本的、流行的架构设计是必要的)
- 学习市面上流行的框架、库的设计(React\Vue.js\Redux\Koa.js),之后,你就能更好地理解软件开放,并在一定程度上帮助你脱离基础的业务开发。
- 架构设计来自业务结构,架构设计要适当考虑业务未来的形态,超前设计
- 软素质(相同的让你流行,不同的让你独特。竞争来自人有我有,竞争力来自人无我有)
- 有效沟通。长话短说、想好了再说、用结果说话、避免无用的会议、避免无用的讨论,时间是最宝贵的,不要浪费自己和他人的时间。
- 执行力。目标 -> 计划 -> 执行,缺一不可。执行力是效率的关键。
- 技术规划。规划不要一直盯着眼前的一两年,放眼三至五年,五至十年,你才能看清未来,并做好富有远见的规划。
- 领导力。领导是指带领团队、项目能力,不是“领导(上级)”的能力。领导的关键在团队的信任,信任来源于领导者以身作则;领导者需要出色的能力,出色的能力来自你的付诸的努力。
- 影响力。以身作则、帮助你身边人前进、坚持做对的事情,迟早一天,大家会感激你、信服你;如果没有,那一定是你还不够努力。
书单
前端综合书籍
- 高性能HTML5 - 综合了解前端工程相关的要点
- Web前端开发最佳实践 - 前端工程相关要点
CSS
- CSS设计指南 - 了解 CSS
JavaScript
- ES6 标准入门(第2版)/在线版本 - 来自阮一峰老师,必读
- Effective JavaScript
- JavaScript高级程序设计(第3版)
鸡汤书籍🐔
前端相关的专题
关于前后端分离
- 前端后端分离解决方案(Goku) - 前后端分离基本思路、整体架构、关键要点、监控体系、代价与收益。
如何找工作
实力是找工作的关键。也就是前面提到的基本开发能力、进阶能力。
通常,面试官在面试前会通过Google找一些题目,找几个简单的数据结构方面的题目、找几个HTML、JavaScript、CSS的题目,然后再拿这些题目面试应聘者。
因为在实际的工作中,平常是用不到这些数据结构、算法的,但为什么又要求应聘者会呢?答案是,这些是基础知识,基础决定上层建筑,所以很重要。或者说,这些考察了你的综合素质,也就是智力、思维敏捷度、解决问题的能力、对编程热情、理解能力等。
笔试、面试
通过笔试诀窍是什么?刷题。
- 如何通过饿了么 Node.js 面试
- 在GitHub上收集的最全的前端资源汇总(包括前端学习、前端开发资源、前端求职面试等) - 资源汇总
- 前端开发面试题大收集 ❤️ 💝 💘
- Front-End-Interview-Points
- Front-end Job Interview Questions - 经典问题
- 前端开发面试问题及答案整理
相关书籍:
关于面试
在通过笔试之后,就要开始参加面试。面试是为了进一步考察你的能力。也就是刚才讲到的“也就是智力、思维敏捷度、解决问题的能力、对编程热情、理解能力等”。
相关资料
不错的博客
优秀的网文集合
学习资源
- sindresorhus/awesome - 😎 Curated list of awesome lists
Robin on May 17, 2017