最近还是碰到蛮多学生,或者其他行业的同学想转行来做前端工程师的,也在有没有更好的方式大家可以一起学习,讨论交流。
个人觉得作为一个完全对编程领域完全小白的外行来说,来当前端工程师还是比较有难度,前端目前并不是一个简单的工作,你需要有下面三方面的能力才能做得比较出色:
计算机知识背景(基本的编程能力)良好的设计素养前端的工程能力像我的朋友就是做得很不错的一位前端工程师:所以鉴于跟一个朋友的私信,我建立了一个 Teambition 协作项目「自学工程师(前端)」,完全免费,我会每周的任务的形式发布一些前端任务给大家(会规划成一个课程),大家也可以在上面规划自己的前端学习任务,这样大家也能更好的交流一些学习经验,当然这是一个长期项目(1~2年),之后也会邀请一些很优秀的前端工程师加入帮助大家,以及发布一些实战项目给大家处理,希望大家享受这段路途,成为更优秀的自己!
请发邮件把自己的邮箱或者联系方式通过「私信」或者邮件发给我:jobslong@estgroupe.com, 之后会邀请大家加入 :)
抱歉因为 Teambition 项目团队人数的限制, 免费项目暂时 10 人,所在暂时停止邀请其他人的加入,不过可以查看信息;
项目链接:
大家称呼我为晓文就好啦~~
更新于 2016 年 12 月 5 日
***
野狗网的一篇文章写的蛮有用的,前后端分离的应用越来越多之后,作为前端工程师,也需要一套技术体系来整理思路,我把文章的内容整理成了一个列表,可以看一下:
前端技术体系:
业务逻辑体系(关注服务的完整性和可复用性)鉴权系统集中处理登陆、支付等需要风险控制较高的公共业务配置系统(集中管理配置项)功能开关链接地址AB测试控制等等消息系统推送通知消息推送客户等即时通信场景业务系统Business Components(具体跟业务领域有关的组件单元)公共/全局的样式库和功能库在各业务线之间保持用户体验的一致性业务组件在公共的样式库和功能库基础之上开发可复用的组件,提高开发效率公共的功能库包括登录、支付、数据统计等常用的功能,这一部分可以增加测试覆盖率来保障质量第三方库样式框架:Bootstrap, Material Design, Semantic UI, etc.JavaScript Framework: React, Vue, Angular, etc.功能库:Fetch Modernizr Sentry GA基础库:jQuery Zetpo Underscore Lodash基础设施体系(关注系统稳定性)资源管理系统CDN 图片管理发布工具 离线包管理数据持久化系统存储上层系统的非核心业务数据,比如错误数据或者用户行为数运维系统版本控制发布脚本保障体系(关注质量和可用性)测试系统
静态检查 - Eslint JSCS
Unit Test - Karma Jasmine Mocha
End to End Test - Protracker Nightwatch Selenium (关注主流程和回归测试)持续集成 - TravisCI CircleCI
监控系统(从用户的角度判断系统的可用性)
可用性监控 - 页面访问成功率 接口成功率
错误监控 - 收集并汇总应用系统抛出的错误信息
业务指标监控 - 实时订单量 事件触发量统计系统(统计系统和监控系统的区别在于,监控关注的是实时数据,统计关注的是全量数据,监控是为了提高团队的故障响应能力,统计是为产品与业务分析提供基础。)
性能统计
访问量统计
用户行为统计开发 & 部署工具集
代码管理 - Git Stash
包管理 - NPM Bower Yarn
构建工具 - Webpack
任务管理工具 - Gulp Grunt
脚手架 - Yeoman通用组件系统(集中管理可复用的开发资源)
组件的质量标准
组件的测试用例
组件的复用机制
Demo与Gallery原文链接:
更新于 2016-11-07 11:10
-----------------------------------
自己搭一小论坛,写一点编程相关的东西:
更新于 2016-10-01 11:18;
-----------------------------------
如果你还没有称手的编辑器,前端更推荐使用 Sublime Text 或者 Atom.
更新于 2016-9-18 18:36
-----------------------------------
如果你对 HTML & CSS 不是熟练的话,可以尝试一下这个站点,让自己的基础功更扎实 :)
更新于 2016-3-16 01:28
-----------------------------------
修改了一些错别字,推荐一个前端基础的文章,写的更全面,大家可以对前端这个职业也有一个更理性和全面的认知:
我给我弟写的---------》》》 如何成为一个前端工程师?
一个垂直招聘网站: , 可以随时上去看看公司的招聘要求,及时更新自己的技术和简历。(没打算做广告 这个只是建议!!)
我大约搜集了20几个公司的招聘信息,其他的大致浏览了一下;信息看一下附件(Excel);
======================================================================
前端薪酬(北京):6K-20K
工作经验要求:1-3年以上
学历要求:大多数都不会要求,一部分要求本科计算机相关专业;
前端的主要工作内容:
1. PC端和移动端的Web页面设计、开发、架构、技术研究;
2. 与后端沟通,完成产品需求;
3. 兼容性解决、页面和性能优化;
4. UI设计、交互设计、UX、文档工作
前端需要掌握的技术:
1. HTML/CSS/XHTML/XML/DOM/JSON/Ajax
2. HTML5/CSS3
3. Javascript 以及JS框架:
Bootstrap 、jQuery、Ext、Dojo、Prototype、Node.js
AngularJS、Backbone、Ember.js
4. 移动端框架:
jQuery Mobile、zepto、Sencha Touch
5. 新的技术语言:Less、Sass、Haml、
6. WEB标准、兼容性解决、WEB语义化、页面架构、REST
7. 网络协议、WebSocket、Spdy、
8. 性能优化、安全性、可用性、SEO、服务器端基本知识
9. 工具:linux、bower、git、sublime、grunt
性格要求:
主动学习
求知欲
责任感
沟通、逻辑理解能力
书面表达
进取心
加分项:
1. 熟悉后端技术(PHP+Java+Python+C+CPP)
2. 熟悉设计师工作:Photoshop、Flash、
3. 动画制作经验、游戏开发经验
4. 熟悉版本控制系统Git 以及Linux开发环境
5. 移动端Web开发项目
6. 项目经验,参与开源项目贡献过代码(Github)
7. 书面表达能力强,有自己的博客
学习指导:
学习指导有个人的经验在里面,可以作为参考,如果你有自己喜欢和认同的学习方式,就去自己学习,殊途同归,别忘记目标就ok。
在技术线的同时开始阅读一些关于下面知识的书籍和博客,积累知识和经验:
Web标准、网络协议基础知识、服务器端的基本配置基础知识
安全性和可用性
Web 性能优化
前端技术发展
在学习的过程中能够掌握常用的工具的使用:
1. 各种浏览器上的Web开发者测试工具:
Firebug:
Web Developer:
Chrome、Firfox、IE浏览器都有Web控制台工具,熟悉一下;
2. Linux 和 Git 版本控制系统 :
关于Linux我没有什么好推荐的,我觉得一个是自己兴趣,对命令行比较喜欢,肯花时间,我学Linux也差不多也有一年多了,感觉还要很多东西需要去看,网上有很多教程和书籍,如果需要我推荐的话告诉我,如果不需要就自己摸索吧。开发环境必须熟悉;
Git 对你的项目文件的源码进行版本控制,非常赞的一个东西,也是开发Linux的Linus Torvalds 开发的一个产品,这个需要掌握;
Pro Git(中文版):
注册一个Github账号吧 ,里面有很多开源的项目,参考,使用之类的都很方便;
我的账号是:
3. Sublime 是我现在用得文本编辑器,现在也主要拿它写代码,很不错的一个开发工具:
4. 其他的工具你会慢慢有需求,然后慢慢学习就ok。(ps 我也在学习之中)
给你的资源可能都是英文的,如果觉得困难,自己在网上 搜索一些中文教程,就ok,有问题给我发邮件;
希望你经过一年的学习,能够有一两年工作经验的水平;
学习资源的推荐:
你或许可以这样开始学习:
1. 从网上w3c开始学习基础前端开发的内容:
英文:
中文:
这些都是基础,不要觉得简单,花一个月的时间把这个网站上得案例自己写一下,这样以后熟悉后面的知识更熟练一点,碰到任何问题给我email,或者google;
还有这些概念也需要理解:
把这两块的基础知识过一遍,我相信你写简单的静态页面应该没问题,但是也可能会很难看,设计这个东西需要你自己多领悟,多去看看别人的作品,好的网站设计,慢慢培养感觉;
现在需要你稍微明确一下自己的方向,如果你感觉你CSS理解的很深刻,就去找一本讲CSS和CSS3的经典书,深入的学习一下,接受一些简单的实际项目,不论赚钱不赚钱;另一边也一样,如果你觉得服务器端的 JS代码和jQuery脚本写的很上手,就找相关的书籍深入学习,接手一些网站;
在同时,需要你学习两个东西:
Bootstrap
进阶:深入理解Bootstrap
Node.js
进阶书籍: Node.js 实战
去官网文档,学习示例,书籍,教程,应该会有一个快速提升的阶段;
这些学完,你应该步入新手阶段,对前端和一些技术也会有一些自己的看法,但是记住不要固执和谩骂;
我有学习一个非常棒的课程,哈佛大学的公开课,如果你在学习基础的时候有时间,可以看看这个课程的视频,网易有翻译的公开课:
我非常喜欢这个教授,有机会去美国一定去拜访 David Malan
不过网易上翻译的是2010年的了,但是非常棒,没有过时,也算做Web开发的入门课程;
可以去课程官网看看今年的课程,里面有很好的知识点和好玩的东西,也有课程作业和项目文件:
你很聪明,但是很多事情要坚持和乐观,一起努力
等你看完这些指导,我的后端工程师指导应该也会写好了,再发给你。
如果需要任何资源和帮助(英文方面也可以), email 我。