最近流行一个段子:
三流码农写UI,二流码农写架构,一流码农写算法…
这个段子可能说得也不全对,毕竟一流程序员也不是通过算法来判定的。但它对于各个段位程序员之间水平差距的划分,好像是那么回事。
于是我联想到前两天看到了一个别人像划分围棋一样,将前端程序员划为九等的文章。看后之后我感觉有的地方分得不是很合适,就想以自己粗浅的技术经验和视野,谈一谈自己心中目前的九段。
第一段
熟悉 HTML、CSS、JavaScript 基本语法,能够独立写出简单的静态网页(很有可能还是 table 布局)。简单说就是,能切图。
第二段
能用 DIV 布局,还能用 JavaScript 或者 JQuery 实现一些简单有趣的动画特效了,也有可能是用别人的插件。一句话就是,能切好图。
第三段
熟悉 JavaScript 的内置对象和方法。了解 http 和 web 安全方面的知识,理解前后端分离,能使用 ajax 等与服务器进行数据交互。
第四段
熟悉 HTTML5 和 CSS3,能写出语义化的标签和符合 W3C 标准的页面了。能写出自定义动画,掌握 canvas、svg 等,懂浏览器差异性和兼容性。一般会搭建个人博客(可能使用 hexo),自己买服务器域名或者使用 github pages 服务。
第五段
JavaScript方面,开始研究面向对象、闭包、原型原型链,并且理解函数式编程与面向对象编程的差距了。能熟悉一门服务器语言如 nodejs、php等,可以一个人写出一个基本网站的前后端了。
第六段
熟悉各类 MVVM 前端框架的使用,懂得各类浏览器以及移动端开发的调试技巧,了解CSS、JS的运行机制,注重网站性能优化。能开发单页面应用,能使用各种构建工具,实现前端工程化,自动化,模块化。
第七段
经常查看各类知名前端框架、类库的源码,如JQuery、loadsh、ElementUI等。经常为一些开源项目贡献自己的一份力量。
第八段
开始在团队里做前端架构类的工作,主持或参与各类前端框架的编写。能跳出个人发展的局限,为团队或带领团队持续向前发展。
第九段
已经步入了 HTML、CSS、JS 规范的制定,是他们引领行业的发展,决定前端的未来。
程序员水平的高低,差距其实是很大的。不光是 web 前端程序员,延伸到整个程序员行业都适用。
比如遇到一个问题时,初级程序员很可能是没有头绪,到处问人,面向QQ编程。没有资源问,就去百度搜索一大堆答案挨个试,这样最后能解决问题的几率很少。
如果是中级程序员,他会结合自己已有的经验解决。如果还是不行他就会上 Google、Stack Overflow 等地方寻找答案。这样最后问题往往都能顺利得到解决。
高级程序员遇到问题第一时间往往不是去找答案,而是会通过问题出现的场景,去分析引发问题的根源。他们是经常去查看引用的别人框架、插件、库的源码。这样的处理方式最后不能解决的问题往往极少。
哈哈,别问我是怎么知道高级程序员解决问题的方式。毕竟「没吃过猪肉,还没见过猪跑啊」。虽然我还不是高级程序员,但我身边有一些工作经验很足,技术积累很深的大神平常就是这么解决问题的。
行业内从来都没有什么固定的标准来划分前端开发水平的段位,以上也只是我个人的一个简单划分。可能理解有偏差,但是还是希望能给刚入坑的同学一个大致的方向感。
更多文章,可以访问: 我的csdn博客
- 本文作者: 敲完代码再睡觉
- 本文链接: https://teamonn.github.io/2017/06/29/the-nine-section-in-front-end/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!