程序员的高薪职业方向,看看你自己更倾向于哪个,就朝着那个方向努力吧。
1、架构师
听起来很高大上的一个职位,但是需要强悍的技术实力和深厚的技术积累。架构师的成长需要历练,需要技术的广度和适当的深度。设计优雅、灵活、可扩展的架构是架构师的主要工作。
不能只追求最新、最热的技术,还需要考虑现有团队的能力,技术的成熟度。
人员需求:★
难度指数:★★★★★
2、Java后端程序员
后端程序员主要实现业务逻辑,提供接口给前端使用。
Java 当然是用的最多的,但是也有别的相对小众的像 Python、ruby on rails 等,还有就是PHP,简单粗暴,中小网站常用,无论哪一个,学习起来都不是很难。这一块的人员需求是比较大的。
人员需求:★★★★★
难度指数:★★★
3、WEB前端程序员
主要是 Javascript、CSS、JQuery 等,最近几年大家重视浏览器端用户体验,浏览器端做得越来越炫,所以也很火。
人员需求:★★★★★
难度指数:★★★
4、手机端程序员
主要是 Android、iOS,由于移动互联网的发展,现在很火爆,需求量很大,相对而言 iOS的门槛高一些,程序员也少一点,不过工资高一点。
人员需求:★★★★
难度指数:★★★★
5、系统编程程序员
有些需求很简单,有些需求很复杂,需要支持海量的用户,海量的并发,像淘宝的“双十一”, 像微信的春节抢红包。
需要做云计算,虚拟化,分布式处理,支持系统水平扩展。对于海量的数据,还需要做大数据分析,从中提取有价值的信息,例如 Hadoop。由于需要对操作系统,数据库,服务器端系统做定制开发,甚至自己做一套,小公司一般没有这样的技术能力,主要是BAT这样的公司在做。人员需求不是很大,对程序员来讲,需要在一个领域钻研得非常深,技术稳定度比较好。
人员需求:★★
难度指数:★★★★★
6、安全
互联网时代,你的信息一不留神就有可能被偷走,安全变得越来越重要。所以单单实现了功能,满足了性能还不够,很多公司,尤其是BAT对安全非常重视。当然这个方向也需要对技术钻研得很深才可以。
人员需求:★★
难度指数:★★★★★
7、测试
这个对技术要求不太高,但也需要测试相关的知识,能够设计测试用例,准备测试数据,执行测试。
现在敏捷开发流行,对测试也要求懂开发知识,至少能够开发一些自动化的脚本。很多女生后来转到了测试岗位,我想主要是因为女生比较细心。我在IBM见过一个非常优秀的测试人员:她不仅仅能出色完成上面指派的工作,还可以参与设计开发的讨论,经常能从测试角度提出开发人员都没有想到的问题,极大地帮助提升了软件的质量。
8、数据库管理员
几乎所有项目都需要数据库的支持,对于大型、超大型项目,会有一个叫做DBA的职位。他对数据库知识极为精通,平时对数据库进行管理,开发时能帮助开发团队设计数据库,并且找出性能瓶颈,进行性能调优。
1、架构师
听起来很高大上的一个职位,但是需要强悍的技术实力和深厚的技术积累。架构师的成长需要历练,需要技术的广度和适当的深度。设计优雅、灵活、可扩展的架构是架构师的主要工作。
不能只追求最新、最热的技术,还需要考虑现有团队的能力,技术的成熟度。
人员需求:★
难度指数:★★★★★
2、Java后端程序员
后端程序员主要实现业务逻辑,提供接口给前端使用。
Java 当然是用的最多的,但是也有别的相对小众的像 Python、ruby on rails 等,还有就是PHP,简单粗暴,中小网站常用,无论哪一个,学习起来都不是很难。这一块的人员需求是比较大的。
人员需求:★★★★★
难度指数:★★★
3、WEB前端程序员
主要是 Javascript、CSS、JQuery 等,最近几年大家重视浏览器端用户体验,浏览器端做得越来越炫,所以也很火。
人员需求:★★★★★
难度指数:★★★
4、手机端程序员
主要是 Android、iOS,由于移动互联网的发展,现在很火爆,需求量很大,相对而言 iOS的门槛高一些,程序员也少一点,不过工资高一点。
人员需求:★★★★
难度指数:★★★★
5、系统编程程序员
有些需求很简单,有些需求很复杂,需要支持海量的用户,海量的并发,像淘宝的“双十一”, 像微信的春节抢红包。
需要做云计算,虚拟化,分布式处理,支持系统水平扩展。对于海量的数据,还需要做大数据分析,从中提取有价值的信息,例如 Hadoop。由于需要对操作系统,数据库,服务器端系统做定制开发,甚至自己做一套,小公司一般没有这样的技术能力,主要是BAT这样的公司在做。人员需求不是很大,对程序员来讲,需要在一个领域钻研得非常深,技术稳定度比较好。
人员需求:★★
难度指数:★★★★★
6、安全
互联网时代,你的信息一不留神就有可能被偷走,安全变得越来越重要。所以单单实现了功能,满足了性能还不够,很多公司,尤其是BAT对安全非常重视。当然这个方向也需要对技术钻研得很深才可以。
人员需求:★★
难度指数:★★★★★
7、测试
这个对技术要求不太高,但也需要测试相关的知识,能够设计测试用例,准备测试数据,执行测试。
现在敏捷开发流行,对测试也要求懂开发知识,至少能够开发一些自动化的脚本。很多女生后来转到了测试岗位,我想主要是因为女生比较细心。我在IBM见过一个非常优秀的测试人员:她不仅仅能出色完成上面指派的工作,还可以参与设计开发的讨论,经常能从测试角度提出开发人员都没有想到的问题,极大地帮助提升了软件的质量。
8、数据库管理员
几乎所有项目都需要数据库的支持,对于大型、超大型项目,会有一个叫做DBA的职位。他对数据库知识极为精通,平时对数据库进行管理,开发时能帮助开发团队设计数据库,并且找出性能瓶颈,进行性能调优。