首先要明确什么算是有技术含量,如果说“百度的中文搜索算法”,“讯飞语音的语音识别技术”,“清华大学图书馆的智能机器人”算是有技术含量的话,那么前端可以说毫无技术含量。可是这个没有技术含量的工作领域中依然有很多大牛。他们在做出自己的职业选择时不是因为觉着前端有技术含量,而是因为热爱!。
任何一个职位如果你真的热爱,且研究够深入,自然会有人高薪用你。而选择一个有技术含量但却不是自己喜欢的领域,恐怕也很难做出什么成绩。
因为热爱,就会深入研究,进而发现这个领域的价值点(所谓的技术含量)。我想这几个方面都是前端的技术含量:
1. 全浏览器兼容。后台工程师、客户端工程师,无论你们用什么语言开发,都会有一套可以信赖的统一的接口(框架,或sdk)。前端?没有!我们需要同时懂得至少三种浏览器内核的接口,还有面对各种莫名其妙的bug。
2. 横向技能面要广。懂交互设计;懂视觉设计;略懂后台技术;精通http协议;linux操作;shell;vim;git;svn;至少熟练使用一门后端语言(java,c#,php,python);至少使用过一个MVC开发框架,还有前端的各种开源项目(jquery,requirejs,seajs,bootstrap,yui…);还要能够灵活运用“面向对象”,“面向过程”,“函数式”的编程方法,否则很容易在JS这门灵活的语言中迷失自己;还要懂设计模式,富客户端应用的常用架构模式。
3. 纵向技能要深。js,css,html5,css3,…
4. 学习能力强,持续学习的意愿。没办法,前端技术更新速度太快.
5. 关注用户体验,懂得交互设计。帮助产品经理和交互设计师校验错误是前端工程师的义务和责任。很多问题只有在实现时才会发现,如果作为实现者的你,没有及时发现前置环节中出现的错误。那这些错误很可能最后直接交给用户“欣赏”。有时,人手紧张,一个懂交互,懂产品的前端工程师可以一个人当三个人用。
更多内容,可以查看我的文章 我对前端职业发展的看法
|