关于一个WEB前端的职业规划,其实是有各种的答案,没有哪种答案是完全正确的,全凭自己的选择,只要是自己选定了,坚持去认真走,就好。在这里,我只是 简要说一下自己对于这块儿内容的理解。有一个观点想要分享给大家的是:任何规划和目标的实现都依赖于知识的积累,而知识的积累来源于学习及学习后大量的实 践。我提供一个实践途径,我们可以在工作之余的时间在网上或外包公司那里接一些私单做,因为目标不是赚钱,我们可以用最低的价格来提升自身竞争力,获得大 量订单就意味着获得大量的实践机会,同时,还有一些收入作为工作成就感之外的安慰奖,还是不错的。
一、职业方向定位
         首先,只有确定好自己的职业方向,才能做好职业规划。在我看来,做WEB前端技术能够找到的职业方向有以下几种:
         (1)资深WEB前端工程师
                  这个方向算是一个WEB前端最基本的选择了,在国外,很多老外都能够把自己的专业做到极致,能一辈子就在一个专业领域不断学习和积累。主要在于内因和外因 两方面,内因是老外通常思想比较简单直接,容易一直专注于一个领域;外因是国外的环境很好,能够良好的支撑这样的职业发展道路。反观国内,从内因来 讲,WEB前端技术人员还是蛮浮躁的,通常会因为WEB前端知识的更新速度太快而觉得学习起来辛苦,最终转向后台或其他道路。从外因来讲,WEB前端人员 没有获得公平的待遇,可能从HTML页面制作就开始并沿袭下来的,从来WEB前端人员都比后端人员低一等,貌似前端就是“浅显”的代名词、后端就是“深 奥”的代名词,这也直接造就了前端人员的收入无法和后端人员媲美,同时直接影响到前端人才市场的活跃程度。另一方面,前端的技术入门较容易,造成另一个极 端情况:人员泛滥、人才稀缺。我想对所有的WEB前端工程师说:面包总会有的,要耐得住寂寞!我个人比较推荐这个职业发展方向,因为,在这个方向下,只要 足够耐心、厚积薄发,成功的概率是非常高的。同时,这是一条最单纯的路,我们更多的是花费精力在技术的钻研上,而不是办公室政治等其它琐事。
        (2)资深WEB架构师
           说功利点儿,我喜欢这个方向,既兼顾了工作的单纯性、又能够减少实际Coding的工作量能腾出更多时间钻研技术。在国内,WEB前端工程师遇到较多的情 况是总是反复编写着同样的代码,总是面对着同样的技术和产品,容易感觉枯燥。由于我们拥有最为广泛的WEB相关知识沉淀,使得我们更加容易成为一名架构 师。这个职业发展方向不如第一种来得平滑,主要是作为一名架构师不得不学习:后端技术、DBA、Platform等内容,而这种学习通常需要实际操刀做项 目,不是自己在家里写两个Demo就好的,这就势必会遭遇一段时间的阵痛期。虽然不是很平滑,但是,对于一个大局观好、悟性好、知识面广的前端工程师,我 推荐你们努把力,走一条光荣的架构师之路吧。
        (3)自己创业
         其实,自己创业是最好的道路、也是成功率最低的道路,挑战和机遇并存。这里,作为一个前端技术人员,需要将自己的视野更多放在行业的动态、产业链的动态、 相关产品领域的动态,把关注细节的优势继续保持,同时,增强自己把控一个产品乃至一个公司命运的能力。但是,这条道路和技术之路稍有分歧,后续将不再赘 述。
         (4) 转岗管理或其他
           由于这条职业道路和WEB前端技术之路关系不大,故而,这里不做过多讨论,但是,无论是否走上这条道路,我觉得对于任何技术之路,更好的大局观、更广泛的 视野是良好发展的必备条件,拥有良好的大局观和更广泛的视野别无他法,只能不断的进行知识的横向拓展和积累,同时,多在横向拓展知识的时候进行实践,把知 识变成技能。
二、职业发展目标
          我都有一个最终的目标,在这个目标之上,我们需要给自己制定一系列学习和成长计划,制定的方法如下:
          第一、梳理知识架构;
           梳理知识架构的目的在于,我们要了解清楚,哪些技术是前置、哪些技术是后继,那些技术是深度、哪些技术是广度,按照这两个维度梳理好知识架构之后,我们才能准确地制定清晰的成长目标、高效的成长计划。
          第二、分解目标;
           我认为,大抵可分解为三个阶段,包括:起步阶段、提升阶段、成型阶段。这三个阶段分别对应着不同的目标:
          起步阶段:
          1、基本知识的掌握
           在我们梳理的知识架构中,按照我们分析的两个维度里最前置的、最浅显的部分,作为打基础的阶段,必须要在这个过程中更多投入到实践中去,我们通常做的多了、熟练了,就认为这部分知识和内容掌握了。
           2、常用工具的掌握
            对于常用工具的掌握应该掌握一些有大公司或专业团队背景的流行工具,这些工具的熟练掌握能够提升专业度、职业度,同时,能提升我们的工作效率。我们只有在 检验自己对于知识和技能熟练程度的时候,才会自虐式的用Notepad去编写页面、css和脚本等内容。
           3、沟通技巧的掌握
            通常做技术的人会被定位为“不善沟通”的人,这是为什么呢?究其原因,主要是因为多跟程序和代码打交道,跟人的沟通较少导致。这种时候我们要特别注意增加 和人沟通的机会,着重提升这块儿的能力。另一方面,我们通常被称为“不懂沟通技巧”的人。作为一个技术人员,包括我自己,似乎天生就有一些难以接受挑战的 缺陷。在国内,我们的技术人员通常都是自己制定方案、自己执行方案,在执行过程中又缺乏相关产品、交互设计等人员的沟通,大多是在自己的思路贯彻下进行开 发,久而久之,我们习惯于信任自己的观点、在自己的视角看问题,对于挑战总是百般地“据理”力争。我们需要更多提升的是,如何在对方的视角看问题、如何在 用户的视角看问题。
           4、良好的开发习惯
           开发习惯是养成的,一旦有不好的习惯,对于将来去修正带来的将是很大的麻烦,我们在培养良好开发习惯一定要从起步时做起,例如:写代码之前先分析、先写文 档、先写注释。定义变量最好能用直接可理解的语义,最好是拼音,别整英文,尤其是生僻单词,将来自己忘了还要开金山词霸。文件最好有有意义的文件夹命名来 管理,文件名最好有意义,需要版本号的最好能和项目版本号一同更新……等等。
           提升阶段:
          1、高级技术的掌握
           在提升阶段对于知识和技能掌握,我们需要从梳理好的知识架构中选择更深一层次的技术进行学习,选择之前,我们先通过类比或预估的方法,衡量自身学习的难 点,以学习难点和自己最不感兴趣的部分为主。这样推荐大家的原因是:这个阶段我们兴趣正浓,已经度过了苦涩的起步阶段,到达了兴奋的提升阶段,我们要用兴 趣和兴奋去挑战最困难的部分,在我们信心受挫和兴趣浓厚之中找到平衡。同时,辅以其他的深层次知识一起学习和研究。
           2、产品思想的学习
            没有正确的产品思想,很难设计出良好的程序,无论从界面、交互,还是接口、逻辑,不能够理解产品、理解用户需求,我们会给自己造成很大的麻烦,例如:我们 千辛万苦用最新技术、最复杂的实现做出的功能,却得不到使用者或领导、同事的认可。为了使我们的工作和学习更加有效率、避免无用功,我们需要不断的学习产 品的思想,只有理解了产品的思路,我们才知道用我们的技术去输出什么。
           3、各种框架的学习
            框架是我们提高工作效率的优秀手段,对于框架的学习是成长必经之路。我们学习框架的路线通常应该是:使用——》分析——》个性化定制——》模仿编写自己的 框架。只有大量的使用,才能明白设计框架者在设计背后的思路,只有了解到设计的思路,才能做正确全面的分析,只有正确全面的分析才能支撑我们去对其裁剪或 扩展,只有经过实际分析、修改别人的框架,才有可能写出优秀的、自己的框架。学习通常的路线是:学习、理解、模仿、创造。
            4、富客户端应用的学习
           随着带宽和计算机性能的提升,以及WEB2.0的如火如荼,富客户端应用充斥着互联网,如果你不懂得富客户端应用,你就不能称之为一个合格的前端技术人 员。可以按照:Flash动画——》Flash编程——》Flex——》——》Air——》Silverlight动画——》Silverlight编程 的步骤学习,先学Flash后学Siverlight的原因,一来Silverlight还不太成熟,二来,实际Silverlight借鉴了很多 Flash的思想,最好在学习的时候不要本末倒置。
           5、各种网络协议的学习
           WEB前端技术就是云上的技术,云的协议有N种,我们应该着重学习:TCP/IP,UDP,HTTP,POP3,SMTP这几种协议,在开发WEB前端应 用过程中,这些协议是我们的技术的载体,有时候决定了我们的应用是否能实现、有时候决定了我们的应用是否高性能,同时,这些协议还是我们和后端技术交互的 重要手段,这些协议就像是密码字典,帮助我们把后端传输过来的密文解释成我们前端技术能够理解的明文。
           6、程序设计
           这个阶段我们需要学习OO、UML、设计模式、设计方法……,我们要让技术开发工作变成有目的性、有计划性,并且,这些目的和计划必须有理论的支持,这 样,我们设计出来的程序才能够更优秀、我们的开发才更有效率,这样,我们的技术才能有所提升。为什么要学习程序设计呢?主要是,就算我们不用Flash的 ActionScript编写程序的前端逻辑,我们至少要把我们自己的Javascript函数、包的定义规划起来,避免将来自己或他人维护代码的时候出 现问题。程序设计能力,在技术人员仍然被看作是程序员的这个年代,是灰常、灰常重要滴。
            成型阶段:

到了这个阶段,我也没什么好说的了,如果能达到这个阶段,就证明后续的成长之路是异彩纷呈的,是成为一个资深WEB前端工程师,还是成为一个资深WEB架 构师,亦或其他,都要具体分析自身的特点和兴趣所在。如果是资深的前端工程师,我觉得更重要的是去作新技术的研究,互联网技术发展速度日新月异,不断学习 新技术,否则就被淘汰。此外,我建议在知识的广度、深度方面最好能挑选一个自己最擅长和最感兴趣的一两个领域深入钻研,不要挑太多,多而不精。如果是资深 的WEB架构师之路,我建议要深入了解后台技术,这种深入了解一定要伴随着实际的项目开发,基本方法是:按照别人设计的架构实现几个Server——》自 己设计并实现几个Server。

原文转载:http://hi.baidu.com/zhenyk/blog/item/98bdb822ecbd8ff8d6cae2ca.html

前端开发工程师 职业规划相关推荐

  1. Android安卓移动开发工程师职业规划图

    Android安卓移动开发工程师职业规划图,包括安卓开发的发展晋升路线(技术专精和技术转产品两条晋升路线) 我的更多博文: 6个方法,用博客建立你的个人"品牌" 掌握11项技能,你 ...

  2. 安卓开发工程师职业发展规划

    Android安卓移动开发工程师职业规划图,包括安卓开发的发展晋升路线(技术专精和技术转产品两条晋升路线)

  3. 职业规划-Web前端开发工程师

    Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript/Flash等各种Web技术进行客户端产品的开发.完成客户端程序(也就是浏览器端)的开发,开发JavaScript以及F ...

  4. 2015年12月份学习总结,前端开发工程师的知识库指引

    本文摘录2015年12月份学习总结,创建日期:2016-01-03 14:01:01,有修改. 以下正文: 在9月份领到了一项任务是关于<前端开发工程师的知识库指引>,想了又想,而在我们现 ...

  5. 前端开发工程师和美工 知识需求的区别

    摘要:很多公司甚至是多数以互联网网站为主要业务的公司都会把"美工"的概念搞混淆,通常这些公司都会把网页设计+网页制作的人员统称为"美工".而一家成熟的互联网公司 ...

  6. 如何学习才能成为优秀的Web前端开发工程师?

    随着Web前端技术的广泛应用,Web前端开发工程师也成为了热门的岗位之一,并且吸引了很多人想要转行成为Web前端开发工程师.那么如何学习才能成为Web前端开发工程师呢? 如何学习才能成为优秀的Web前 ...

  7. 任拓数据科技 软件开发工程师 一面 万兴科技 前端开发工程师 一二面hr面

    文章目录 任拓数据科技 软件开发工程师 一面 万兴科技 前端开发工程师 一面 万兴科技 前端开发工程师 二面 万兴科技 前端开发工程师 HR面 任拓数据科技 软件开发工程师 一面 1.自我介绍 2.聊 ...

  8. 网易微专业之《前端开发工程师》学习笔记(1)

    何为网易微专业? 微专业是由网易云课堂联合各领域知名专家,以就业为导向,精心打造的职业培训方案. 按要求完成学习,考试通过可获得专业认定证书,令你求职或加薪多一份独特优势. 一个微专业包含了多门必修课 ...

  9. 前端开发工程师养成记

    前端程序员:月薪 5K 到 5 万,我干了啥 来源:点融黑帮 高贵的前端程序猿们: 如何在前端开发这种高精尖的技术领域找到心仪的工作?实现在咖啡馆喝喝咖啡敲敲代码就能升职加薪.买房买车.迎娶白富美走上 ...

最新文章

  1. 洛谷P1896 [SCOI2005]互不侵犯 状压dp+位运算
  2. 大失所望:第一次去苹果店“享受”维修服务的经历
  3. CentOS 7下Python环境设置 - 1
  4. linux iptables扩展,脚本防火墙
  5. java实现sql批量插入参数
  6. 0010服务器无对应信息,查看云服务器信息
  7. python 的按位与 或 异或 运算
  8. Web项目练习总结(错误校正篇)
  9. Oracle游标使用
  10. Python解决列表字符不区分大小写问题
  11. ubuntu安装常用软件(比如python、搜狗拼音、cudnn等)
  12. 用Convert类实现数据类型转换
  13. Asp.Net实例:C# 绘制统计图(三) ——扇形统计图的绘制
  14. 阶段3 2.Spring_03.Spring的 IOC 和 DI_6 spring中bean的细节之三种创建Bean对象的方式
  15. ape 文件 转化为mp3 文件
  16. 卫星追踪利器 OpenATS简介
  17. php unlink 无法删除,php unlink 删除问题
  18. java jnlp被阻止_JNLP 被java安全阻止
  19. 论文笔记 Multiple Instance Detection Network with Online Instance Classifier Refinement - CVPR 2017
  20. 12.Linux 网络配置

热门文章

  1. [转帖]谁拥有?谁控制?华为股权结构与治理架构全披露
  2. openlayers加载谷歌地图(在线demo)
  3. 仿DNF官网页面(一看就会,适合刚学习Html、CSS、JS的小伙伴)
  4. Gitlab自动部署之四:使用Gitlab-runner部署Gitlab的项目
  5. C语言中函数和指针的參数传递
  6. boost I 数学领域常用的六个库
  7. 数字货币的常见骗局及鉴定方法
  8. Unity游戏Mod/插件制作教程06 - Harmony补丁基础
  9. python搜网课原理_知乎萧井陌大神Python Flask实战课程
  10. 微淘对与桃宝商家的作用,微淘实操运营