我是在大学毕业之前,两三个月,自学了一点点前端的皮毛,也就是会写一点点的html和css。那个时候找工作也不容易,终于有一个公司收留了我,虽然说工资什么的我们暂时按下不提。但是至少他们要我,我就非常地开心了。
从那个时候开始,因为有了项目要做,所以我逼迫自己,每天去学习新的内容。那个时候我从jQuery开始做,因为公司的项目比较特殊,就是单页应用,总共加起来大概就五六个页面,但是要一次性全部加载完,后续的所有数据都是根据接口去获取。那个时候没有框架,没有React,ngular也刚刚出来,还并不流行。所以那个时候我们就用jQuery。
前端工程师(3)专家方向
经过几年的技术积累,大量的项目历练,很自然地就朝着专家的方向过渡了。技术人普遍具有的一个特征就是不喜欢管一些乱七八糟的事,更愿意钻研感兴趣的技术,解决一些技术难题。走专家路线可能是大多数技术人的选择。
管理方向
另一个职业方向就是技术管理。技术管理要求的更综合,日常的工作涉及项目管理,跨部门沟通,团队管理,技术体系建设等方面。做技术管理意味着远离一线coding,渐渐失去自己的技术优势,80%的精力是帮助团队同学成长,通过团队完成既定目标。
技术人要经历一个心态的转变。但企业招人过去最主要的目的是解决实际面临的技术问题,所以对于技术管理来说,技术还是一个基本面,不能完全放下,还是要时刻关注技术大方向。
产品&业务方向
还有一个职业方向是转型做产品经理更多地贴近业务。技术人转型做产品,其实是比较有优势的,一方面懂技术能更好地和研发沟通,另一方面产品设计上更容易落地。
前端工程师地位就是出 bug 了,核心就是你了,决策的时候,没你也可以。
前端工程师算是开发里面面向职位最多的了,会跟 UI、后端、运营、产品、测试都要打交道。
UI:我图 P 好了,你拿去 100% 还原吧,1px 都别少,我可是像素眼。(最后界面写完了是要给 UI 看效果的,1 px 都不能少)
后端:我接口写好了,我给你个 url,然后接口文档没有,你看着办吧,有问题再问我。(实际上还是在定接口的时候会先讨论一波数据格式与接口)
运营:小哥哥,你能不能帮我加个功能呀,这里用起来有点麻烦呀;小哥哥,小哥哥,这个系统怎么用呀,我刚来不会用。小哥哥,小哥哥,是不是出 bug 了呀,怎么点不动。(运营小姐姐不知道是谁的错,所以一般都找前端)
产品:你这个不对吧,我之前跟你说的不是这样哦,你这个交互都没有按照我之前说的来;前端吗?来,帮我加个功能;当把效果做出来了的时候,不对不对,这个交互不好,我们再改下需求吧。
javascript高级程序设计》
这本书是我强力推荐的,也是很多前端成才路上的良师益友,基本很少有前端不知道"红宝书"。所以如果要买纸质书的话,这本书肯定是首推,内容详细,书中涉及的概念基本涵盖了js的大部分内容,包括 作用域链、js数据类型、OOP对象在js中的实现、闭包、BOM和DOM模型、对变态IE的系列兼容的解决方案、事件流、还有xml、jason、E4X这些数据格式与js的交互操作简介、高级技巧的介绍(比如惰性载入)等等,大量的例子,配上详细的讲述,理解起来不会太费解,当然了,这本书你前后至少要翻上几遍......我当初是每天晚上回去看几页,这本书基本看了三四遍。
专家方向
经过几年的技术积累,大量的项目历练,很自然地就朝着专家的方向过渡了。技术人普遍具有的一个特征就是不喜欢管一些乱七八糟的事,更愿意钻研感兴趣的技术,解决一些技术难题。走专家路线可能是大多数技术人的选择。
管理方向
另一个职业方向就是技术管理。技术管理要求的更综合,日常的工作涉及项目管理,跨部门沟通,团队管理,技术体系建设等方面。做技术管理意味着远离一线coding,渐渐失去自己的技术优势,80%的精力是帮助团队同学成长,通过团队完成既定目标。
技术人要经历一个心态的转变。但企业招人过去最主要的目的是解决实际面临的技术问题,所以对于技术管理来说,技术还是一个基本面,不能完全放下,还是要时刻关注技术大方向。
产品&业务方向
还有一个职业方向是转型做产品经理更多地贴近业务。我身边有越来越多的前端做了几年的研发后转型做了产品。技术人转型做产品,其实是比较有优势的,一方面懂技术能更好地和研发沟通,另一方面产品设计上更容易落地
前端是一个相对比较新的行业,互联网发展早期(1995年~2005年)是没有专业的前端工程师的。随着互联网的发展,大约从2005年开始,正式的前端工程师角色被行业认可,到了2010年,互联网开始全面进入移动时代,前端工程师的地位越来越重要,前端领域的技术发展也越来越快,各种新的思想、设计模式、工具和平台都快速发展,对前端工程师的技能要求也越来越高。
前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript/DOM/Flash等各种Web技术进行产品的界面开发。制作标准优化的代码,并增加交互动态功能,开发JavaScript以及Flash模块,同时结合后台开发技术模拟整体效果,进行丰富互联网的Web开发,致力于通过技术改善用户体验。前端工程师(3)
Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。主要采用JavaScript语言作为中间语言开发。因此,前端工程师所涵盖的职责范围,已经包含后端、跨平台等多种职能,不能简单地认为只是Web前端工程师。
javascript高级程序设计》
这本书是我强力推荐的,也是很多前端成才路上的良师益友,基本很少有前端不知道"红宝书"。所以如果要买纸质书的话,这本书肯定是首推,内容详细,书中涉及的概念基本涵盖了js的大部分内容,包括 作用域链、js数据类型、OOP对象在js中的实现、闭包、BOM和DOM模型、对变态IE的系列兼容的解决方案、事件流、还有xml、jason、E4X这些数据格式与js的交互操作简介、高级技巧的介绍(比如惰性载入)等等,大量的例子,配上详细的讲述,理解起来不会太费解,当然了,这本书你前后至少要翻上几遍......我当初是每天晚上回去看几页,这本书基本看了三四遍,强推!