这个是昨天偶然间在知乎上看到的一个知乎LIVE,答题就是音频在线直播吧,我试听了一下觉得分享的还不错,就买了完整的。主讲人叫方应杭,貌似是个挺牛逼的程序猿,之前没有听过,但这是个典型的科班出生的程序员,全栈,挺佩服他的。接下来就整一些挺的过程中整理的点吧:
作者的自我介绍
首先作者进项了一大段自我介绍,介绍了他从实习开始的工作经历。正如他所说的确实很顺啊,从实习开始就是腾讯,然后转正了去了腾讯,之后又去了阿里等公司。他大体每段工作经历都有讲到,那能从他这些工作经历的介绍中得到什么对自己有用的点呢?
- 首先,作者有个习惯,就是在开始项目之前自己会根据项目情况自己造一些轮子,并且以开源框架的要求去封装,这一点给我的启示是自己也要适当地造一些轮子放在github上,看自己能不能做得跟第三方插件一样好甚至某些方面好那么一丢丢。而且这些造的轮子也便于自己日后复用以及面试时跟被人展示自己的技术沉淀。
- 在工作之余得有个自己的个人项目(side project)
- 按照作者的观点,要想工作的内容刚好是自己需要学习的知识概率是很小的,那要想学习和实践一些新技术新框架怎么办呢,就是自己在工作之余弄一个自己的项目,在这个项目上自己想用什么框架和技术都是没有限制的。
- 这样说 来确实挺有必要的。我之前找工作老想着新工作上用到的技术正好是自己需要学习的,可公司不是慈善机构,既然你都还需要在公司里学习,公司干嘛招你呢。所以,在公司工作的过程中能学到自己想学的知识最好,但那些还没接触过的或者最新的技术还得靠自己在工作之余去学习,这个观念得转变过来。
回答网友问题总结
- 学习知识的形式下过比较一般的是看书,进一步的是提炼总结,再进一步就是输出,写代码或者写文章,最好的方式是讲出来,也就是让别人听懂
前端的历史
- 最开始是没有前端这个职位的,网页是后端程序猿写的,大都用的table布局,没什么css,比较丑
- 后来又了美工的加入,开始使用div+css布局,变得好看一些了
- 再之后随着AJAX的普及,慢慢开始专门有些后端程序猿开始专注于写复杂的JS来达到复杂的交互,这就慢慢形成了前端这个岗位
- 可是最开始HTML是由后端控制的,数据是由后端渲染,这样的话前端是很不爽的,而且前后端不能同时工作,后来就出现了前后端分离
- 前后端分离意味着前端完全控制HTML/CSS/JS,后端只负责用AJAX的形式提供数据接口,同时人员也彻底分离了,后端专门做后端的事,前端做前端的事
- 前后端分离也带来了一个问题,就是前端负责的这块显得没有后端那么重要,所以晋升难一些,事实上也确实是这样,不过后来移动端的兴起使得前端负责的东西多了一块,也稍微显得重要一些了
- 再之后就是各种随着HTML5和CSS3以及ES56的部分基础设施的完善和升级,前端框架开始向各种优秀语言抄,也就出现了现在的MVC和MVVM等框架
入门指导
- 书籍推荐
- javascript.ruanyifeng.com
- es6.ruanyifeng.com
- 你不知道的 JavaScript
- CSS 揭秘
- 项目推荐
- 原生 JS 仿网易云音乐、饿了么(后端使用 leanCloud)
- Vue 或 React 再实现一遍
- 网站推荐
- MDN
- CSS Tricks
- Codrops
- 优质的中文前端博客 (1.4k)https://github.com/FrankFang/best-chinese-front-end-blogs
- 学习思路推荐
- 仿你看到的所有东西:hao123、知乎、微信
- Follow 我的 GitHub
- 看完任意一本教程
- 给一年前端
- 从 60 分到 80 分,关注用户体验
- 模仿组件
- 不要重复自己
- 不要满足于调用 API
- 三年前端
- 关注工作效率
- 做份外的事情:后端、设计、产品
- 管理上级、拢络平级
- 变成重要的人
- 坚持写博客
- 模仿框架
- 跟人(榜样)学,而不是跟视频、书学
- 社区里的人
- 公司里的人
- 互联网上的人
我的收获
- 增长见识
- 首先作为一个非计算机科班的我第一次比较完整的了解了一个优秀科班生的从业经历,当然作者自己都说了,他算是比较顺风顺水型,但至少能看出学计算机专业的在编程领域真的有更多的可能性
- 另外一点就是关于前端这个职位的发展,毕竟我不是从有这个职位就开始做前端的,这次算是从作者口中间接了解了前端这个一个职位的发展史
- 学习方法
- 我们之所以喜欢看名人传记,就是想从他们身上找到一些我们能够学习的优秀特质。听他人的技术分享也是一样的道理。虽热作者在分享过程中几乎没有说过要我们学他怎么样的话,但从他一些细节和习惯的描述中我们可以选择性的学习一些优秀特质,例如:
- 在开始项目之前自己先试着造个轮子
- 工作之余做side project,在这种项目上学习新知识,而不是工作中
- 工作中尝试封装组件,并且以能够给别人使用为目标,无论有没有人用
- 我觉得作者身上表现的这些点一定算是他成功路上的优秀特质,我们不一定要都学会,但是可以结合自身情况来学习一下
- 我们之所以喜欢看名人传记,就是想从他们身上找到一些我们能够学习的优秀特质。听他人的技术分享也是一样的道理。虽热作者在分享过程中几乎没有说过要我们学他怎么样的话,但从他一些细节和习惯的描述中我们可以选择性的学习一些优秀特质,例如:
- 关于前端学习之路
- 前端知识比较分散,数量庞杂,最终还是要多练,多记吧,这肯定是必由之路。我之前听人说过一种观点,前端就是在记各种API和熟练使用各种API,当然,这是中低层主要在做的事情,也是每一个优秀前端的基本功。至于更高层级的话,按作者的说法就是不仅仅要满足于会用现成的API了,而是要想着怎么造好用的API给别人使用,当然造这个的前提是了解原理了,所以这个阶段就是不仅要知道怎么用,还得知道为什么要这么用了,我正在朝这个方向努力,加油!
- 关于作者提出的向人学习这一点我有些疑问?
- 因为之前一直有种观点就是不要轻易去问人,因为没经过自己思考就去问人那样得到的答案记得确实没那么深刻。所以说关于作者提出的跟人学而不是跟视频什么的学,我的理解是多交流,当你身边坐着一位大牛的时候,你把问题和思路直接跟他说,那样能够得到及时的反馈肯定是最高效的,当然这种问题都是一些思路啊方法层面的了。
- 所以,我的总结就是,基础的东西一定要自己查自己记住,而一些方法啊原理层面的东西,有资源的情况下尽量找比你牛逼的人交流解决,那肯定是要高效一些的。
谈谈个人的长期目标和短期目标
- 从15年毕业后经过培训进入前端行业到现在真正从事前端的时间也有两年多了,前一年几乎是没有任何目标感的,也不知道自己需要什么,公司需要什么就学什么,感觉有点浑浑噩噩混着的感觉。大概也就从去年开始才开始有了不仅仅要满足于解决现有问题,还应该多去了解基础和底层原理了。
- 首先谈谈短期目标吧
- 短期目前就是在最近两年内完善自己的知识体系,成为前端小组长或者负责人。我目前理解的这个知识体系是从计算机原理到浏览器执行机制、HTTP协议、JS的最新规范以及适当的了解目前流行的前端框架及其出现的原因。这些不一定要面面俱到,但每个方面都要有涉及,不能遗漏。
- 长期目标
- 目前来说长期目标就是在前端之外探寻更多的可能性,也就是是说看在前端知识体系基本完善的情况下结合别的方面的能力。最好的话就是能够走管理或者培训吧。技术这条路是没有尽头的,每个公司需要的技术牛人毕竟是有限的,尤其是中小型公司,而每个公司都需要能够提升团队工作效率,尽快带来产出的leader,我想,我的长期目标就是成为一个这样能够推进项目发展的leader。
- 我的短期目标是长期目标的基础,也是我来杭州的目的,我相信只要这个短期目前完成的好的话长期目标就是积累加机遇的过程了!