前端程序员的三个发展分支:
1. 技术
资深技术工程师, 对于技术比较痴迷, 有这方面的钻劲. 以后可以去做技术顾问, 可能一周只去公司两天, 但是拿的工资是非常高的.
2. 管理
有长时间的工作经验, 在公司可以带别人去成长, 目前常见的三个管理职业, 项目经理, 产品经理, 技术总监. 做管理需要高情商, 维护人事关系, 有自己的大局观, 承受压力的能力要强, 就是心比较累, 承受的东西比较多.
3. 创业
走创业这条路, 风险大, 付出的精力非常多, 要有启动资金, 平时需要积累人脉资源. 性格需要是那种不认输的性格, 为人比较乐观开朗. 有良好的团队运作能力.
创业必须有很好的点子, 抓住时代的机会, 比如现在的碎片化时间, 很多人在玩一个消消乐的游戏, 这就是抓住了现代人生活方式的一个点子.
程序员大致的成长路线:
初级程序员 (薪资 6k-10k)
刚刚进入 IT 行业, 做一些简单的项目, 写一些简单的代码. 写代码的时候还是会依靠复制粘贴的方式完成代码的编写, 他们不考虑程序的质量, 代码也写的很乱, 也没有注释, 他们只要求程序能够运行就好.
中级程序员 (薪资 10K~20K)
到了这个阶段, 已经掌握了较好的技术, 可以靠自己去做一些项目了, 不在需要靠复制粘贴别人的代码了, 开始关注代码的质量, 代码的规范, 把该注释的地方, 注释好, 开始做很多实用的项目. 并且在团队中担任重要的技术人员职位.
高级程序员 (薪资 20K~30K)
到了这个阶段, 技术已经非常厉害了, 很技术人员开始走设计路线, 比如系统设计等等. 公司会有很多的技术难题需要靠你去解决, 这个时候是属于大神级别了. 在公司会有非常重要的位置, 受到领导的重视.
系统架构师 (薪资 30K~50K)
系统架构师是一个最终确认和评估系统需求, 给出开发规范, 搭建系统实现的核心构架, 并澄清技术细节, 扫清主要难点的技术人员. 主要着眼于系统的 "技术实现". 因此他 / 她应该是特定的开发平台, 语言, 工具的大师, 对常见应用场景能给出最恰当的解决方案, 同时要对所属的开发团队有足够的了解, 能够评估自己的团队实现特定的功能需求需要的代价. 系统架构师负责设计系统整体架构, 从需求到设计的每个细节都要考虑到, 把握整个项目, 使设计的项目尽量效率高, 开发容易, 维护方便, 升级简单等.
前端程序员的几个阶段:
第一阶段 (2-3 年): 打基础
立足培养基本技术能力. 刚入行的头三年对于一个程序员尤为重要. 在三年内要对于增删改查掌握的非常熟练. 可以应对大部分常规的项目开发, 出色的完成公司布置的任务. 要在自己的空余时间学习自己没有接触过的技术, 找到口碑不错的技术性书籍去学习底层技术原理.
尊重老员工, 低调做人高调做事, 虚心的跟别人学习请教, 主动承担不属于自己的工作任务, 让人喜欢你.
推荐书籍《JavaScript DOM 编程艺术》《JavaScript 权威指南》
第二阶段 (4-5 年): 全栈工程师方向
基本到了五年的工作年头, 必须要向全栈工程师的方向发展了. 有些人在之前的三年里, 除了完成工作, 在空余时间基本不会研究别的东西, 这些人基本已经被时代所淘汰. 年纪大一些势必被更年轻的人给顶替; 而有些人在三年里, 除了完成基本的工作任务之外, 阅读了很多号的技术书籍, 记录自己的博客, 逛 GitHub 学习新技术. 如果你是做 Java 开发的, 那一定要学习前端的知识体系, 掌握前端的主流框架, 如 vue,React. 如果你是做前端开发的, 一定要掌握一门后端编程语言, 如 Java,PHP,Python 等. 现在时代发展的都是需求全能型人才. 对数据库设计架构和项目搭建具有基本的能力, 对项目开发中的各种文档能够组织学习及阐述, 能够拥有组织协调 3-5 人项目小组能力, 对项目进度具有初步掌控能力, 不断增强与上下级的沟通能力.
在提升技术的基础上增加一些除了技术之外的能力. 从个人能力向团队组织能力转变. 在沟通能力, 协作能力和领导力上发力.
第三阶段 (6-10 年): 不断强化领导力
技术做到了十年这个年头, 基本可以成为大牛级别的人了. 在十年的时间上, 有些人必然成长为一名对行业有着深入认识, 对技术有着深入认识, 以及对于互联网产品会有更深的体会. 这样的人在公司基本担任的都是 CTO, 技术专家, 首席架构师等最关键的职位. 想要获得更多的回报, 就一定要承受和付出的多, 所以在管理方面要着重培养, 强化自己的管理能力是非常重要的.
如何让自己可以涨薪?
1. 公司内部涨薪
如果是想在公司内部进行涨薪, 首先这种方式是非常慢的, 涨薪的原因一般都是负责的东西多了, 如果一味着写简单的代码, 这个工作谁做都可以. 即使你做了五年开发, 但都是一样的工作, 公司会招聘一个工资更低的. 所以这个时候, 你可以跟公司的老板去谈, 从自身能力的提升以及给公司做的贡献进行说明. 当然了, 是否可以涨薪主要还是看你遇到的是什么样的老板, 如果是抠门的老板, 你很难在公司内部涨薪.
2. 跳槽涨薪
跳槽涨薪是程序员提升薪资最好的方式, 我们这个行业跳槽率也是最高的. 自己拥有了更强的技术能力. 可以去更有发展的公司, 福利待遇更好的公司.
关于跳槽重要问题
1. 为什么跳槽
我们无论做什么事情, 都有原因, 跳槽的原因无非就是两个, 第一个就是为了赚更多的钱, 第二个就是可以有更大的发展空间.
2. 跳槽需谨慎
跳槽并不是一件很随便的事情, 因为一旦你离开了一家熟悉的公司, 所有的一切都需要重新开始, 你需要重新了解公司业务, 你需要重新建立人事关系等等. 建议刚入职场的头三年可以跳槽频繁一些, 因为刚开始入职场就是一个愣头青, 选择一个适合自己的公司是每个人都会面临的问题. 但当你已经在这个行业做了三年后, 跳槽便不是一个冲动的事情, 你需要更加的谨慎.
3. 跳槽的准备工作
1了解自己
认清自己非常重要, 当你什么资本都没有的时候, 是无法跳槽的, 所以先要衡量自己的技术水平.
2选择目标公司
一般当我们具有一定的技术能力之后, 就不要进行海投了, 要选择自己想要去的公司.
3简历
针对自己想要去的公司, 写一份简历, 首先让对方的 HR 对你有一个好的印象. 简历是需要不单更新的.
4选择
最终在录用你的公司中, 选择一个你认为最适合你的.
程序员发展道路上的心眼
1. 把项目的关键源码 写成技术文档, 没事的时候可以常看一下. 这都能证明是平时的技术积累, 有自己的规划. 学习编程不是肌肉记忆, 跟学习开车不一样, 学习编程主要在于一个积累, 时间长不用就忘了.
2. 学底层, 无论是出现了什么新技术, 都是对于底层技术的封装.
举个例子: 就好比你想写出不错的句子. 你首先要对于汉字非常了解, 认识更多的字, 以及了解每个字或者有一些成语的意思. 这样才可能写出更优美的文章和句子.
Linux 系统的底层代码都是一个人写的, 所以了解底层后, 很多技术就可以在最短的时间内掌握, 万变不离其宗.
如果想要更好的提升技术, 这时候我们要有意识的去学这些底层的技术, 比如算法, 数据结构. 推荐书籍《数据机构与算法》
3. 有意识的结识人脉
做技术的创业很多, 程序员创业的更多, 创业最重要的一点就是有人一起做.
4. 保持好奇心
保持对于编程的一种好奇心, 这可以是有意识的去培养. 因为一件事情当你做的久了, 自然会产生厌烦的心理.
程序员是不是青春饭?
我认为这是一个伪命题, 那些技术好的开发人员都是 30 岁, 40 岁往上的, 有几个 23,24 技术就特别牛的, 根本没有. 所以既然是技术行业, 就是越老越吃香. 除非你干了十年的开发工作, 做着还是 23 岁的活, 那你被年轻人替代也是正常的. 同样的工作, 为什么不招一个更年轻听话的人. 所以我们现在这个时代是成长类型的时代, 任何一个行业只要不成长就会淘汰, 都是一样的.
没有职业规划怎么办?
1. 即使你没有非常长远的职业规划, 建议你也要有一个一年的目标, 最简单粗暴的就是工资, 比如你现在的工资是 5000, 一年后的目标达到 8000.
2. 不管什么事, 先赚钱, 即使你现在用不到, 以后也肯定会用到.
来源: http://www.jianshu.com/p/4af850ce6b53