Java程序员的4个职业发展方向,该如何把握黄金5年

Java程序员的4个职业发展方向,该如何把握黄金5年,第1张

在Java程序界流行着一种默认的说法叫“黄金5年”,意思是说,一个Java程序员从入职的时候算起,前五年的选择直接影响着整个职业生涯的发展方向和薪资走向。

而这5年,也决定了一个程序员能否成为职业大牛的可能。那么,在这黄金5年,Java程序员如何做才能实现自我突破呢?1)对初学者建议

首先,对尚未进入职场工作的在校生以及准备转行Java的同学的建议:

一定要从最基础的知识学起,学习Java基础的时候,应该尽量多动手写,写出来运行一下,会发现很多问题。

学完基础内容之后,对Java有一个基本的了解之后,不要着急着进入更高级的学习,尝试用Java语言写出一些简单的程序锻炼自己。

为此,动力节点开展了线上直播班型「Java夜校班」,助你从0基础到就业。

1因为从零基础到就业,只用6个月6个月,就能把小白变成Java程序员?夜校班可以做到。

夜校班时长6个月,分为12个阶段,针对零基础学习人群,课程紧凑饱满,全程直播,讲解细腻,不同水平人的学习需求均可满足。

2因为是线上直播+课后作业首先,在选择Java在线培训班时,第一个应该注意的就是培训机构是录播还是直播?

Java夜校班与其他机构的录播视频不同,是由总监级技术大咖直播授课,只有学员和老师随时沟通互动,学习效果才能得到最大保障。

3因为有7大实战项目夜校班含有7大真实项目实训,与企业无缝对接,让你轻松胜任开发工作。(项目内容详见后文)

4因为有全新全面的课程体系Java夜校课程大纲由动力节点线上教学总监,资深架构师亲自设计并带队授课,来自一线的技术体系,来自一线的业务需求。

2)参加工作1-2年之间

在这段时间里,想必对Java已经有了一个较为深入的了解。

首先,要非常熟悉设计模式,日常要多看一些关于代码编写优化的书,提高自己的代码能力,能够写出一手优雅的代码;

其次,在工作过程中肯定接触过并发,应该更加深入地去了解并发的相关知识;

最后,要对所使用的框架和Java的类库有一定的研究,还需要去看一些JDK中的类的源码,包括自己日常所使用的框架的源码。

总而言之,这个阶段,需要做的是深入了解Java底层和Java类库,也就是JVM和JDK的相关内容。

3)参加工作3-4年之间

处于这个阶段,说实话很难再提升代码能力了,因为这个阶段的学习会比较多样化。

在前三年的工作中,相信或多或少都会接触一些其它的技术,比如大数据、分布式缓存、分布式消息服务、分布式计算、软负载均衡等技术,你能精通任何一项,都将是你未来面试时巨大的优势。

因此,如果自己对某一项技术感兴趣,这时可以深入去研究,即使这项技术不一定会在工作时用到,但一定是相关的。

4)参加工作4-5年之间

到了这个阶段,应该遇到了所谓的“技术瓶颈期”了。不要急于提高自己的技术,此时更重要的是提高你的影响力。

可以尝试去一些知名公司提高你的就业背景;也可以发表一些技术文章去影响更多的人;还可以去Github创建一个属于自己的开源项目,打造属于自己的产品。

这个时候提高自己的影响力主要是可以给自己创造更多的机会,所以,这个阶段最大的任务是提高自己的影响力,为未来工作生涯做准备。

对于软件开发同学而言,首先要客观认识自身的情况,想清楚自己现在要什么、未来要什么,做好职业规划,从而选择不同类型的企业。

下面来再谈谈Java程序员职业发展规划和方向。

1)走向架构师

程序员与架构师之间的主要区别是什么呢?

架构师,是Java开发人员非常向往的一个角色。架构师需要拥有完善和扎实的技术体系,具备较好系统分析和设计能力,丰富的项目研发经验。

架构师是一个漫长的积累过程,大部分架构师的年龄在35岁左右,这个阶段就是程序员的黄金期。

程序员要向一名架构师发展,需要进一步加强技能的修养。对于互联网公司来言,最重要的技能是对网络和分布式系统的理解,比较麻烦的是分布式系统,除了分布式,在现在大型互联网企业中,还需掌握高性能、深入浅出、性能调优、Spring、JVM等技术。

为此,动力节点为大家带来了架构师课程,助大家成为年薪百万的架构师。

2)走向项目经理

当然,也有一些运气比较好的程序员,不但负责项目的设计工作,而且还负责项目的管理工作,对项目经理这个工作有一定的尝试。

因此,这类程序员可以审视一下自己,是否合适这项工作,如果自己对这种工作比较满意,而且具备项目经理的要求,则可以向项目经理这个方向发展。

项目经理的工作重点已经从编程转移到对人、对技术、对进度、对项目的管理,因此,项目经理必须要了解软件开发的各个环节、了解开发的各种技术和运用、了解开发队伍人员的水平和特点。

在日常的工作和生活中就得侧重锻炼这方面的能力,还要学习一些项目管理的知识,例如:PMP、CMMI、敏捷开发管理等。

从程序员到项目经理可以使项目经理更好地理解程序员在项目中的地位和作用,了解软件开发的各种规律性的东西,从而保证项目的正常完成。

而且,项目经理的收入和地位在公司里也是比较高的,因此,走向项目经理是程序员的另一个发展空间。

3)走向管理层

很多程序员希望自己能成为公司中的主管、或项目经理等管理人员,无论是收入还是地位都会相对高一些。

另外,还有一些程序员可能厌倦了日复一日枯燥而繁琐的编程工作,希望借助走向管理岗摆脱这种步步紧逼的工作状态。

当然,走向管理者就要求程序员要比一般人做更多的准备,做更多的转型工作。

由于软件公司的管理者不同于一般公司的管理者,专业能力越强,管理起来就越得心应手,没有专业能力的管理,遇到的问题很多,也很难解决。

所以,想要往管理者发展的程序员,一定要把编程、项目设计、项目管理等基础打好,这样转型到管理者成功率就会高一些,而且到时候也能更加得心应手。

现在软件和互联网大概有哪些方向?程序员的职业方向又有那些?

首先是需求从哪里来

客户的项目

如果做的是客户的项目,需求当然是从客户那里来的。客户绝大多数是软件开发的小白,但我也见过客户是优秀的软件人才,他们很难清楚地描述自己真正的业务要求,这时候就需要有个人隆重出场了:业务分析师。对于大公司,业务分析师是专职的,对于小公司,项目经理或者开发骨干也就硬着头皮上了。业务分析师需要把需求理理清楚,交给后面的架构人员做设计。

业务分析师如果在某个行业干久了,就会变成业务专家,例如你把国内各大银行的核心系统项目都做了个遍,那你对银行业务的熟悉程度甚至可能超过银行的特定人员,这时候你就超级值钱了,不仅仅能分析业务,更能够帮助银行优化业务,你说牛不牛?

问:业务分析师需要懂技术吗?

答:最好是懂一点,你分析出来的东西是要程序员们实现的,如果不考虑现有的技术,一味地迎合用户,肯定会被程序员们骂死。

如果你是由程序员成长起来的业务专家,技术精湛,那就坐着数钱玩吧。

公司的产品

如果你做的是产品,例如微信、QQ、淘宝、魔兽世界、征途、大话西游,那需求其实是自己公司的人来定义的。

定义这个需求的现在有个时髦的职业:产品经理。像张小龙就是微信的超级产品经理,史玉柱就是征途的骨灰级产品经理。

产品经理主要根据用户的心理和体验来设计产品,让大家用的爽,好的产品经理现在非常吃香,也属于紧缺人才。

问:产品经理需要懂技术吗?

答:需要,最好是从程序员成长起来的,知道一个产品设计实现的难度,不然只顾自己爽,也会被程序员骂死。

设计和开发

架构师

听起来很高大上的一个职位,但是需要强悍的技术实力和深厚的技术积累。架构师的成长需要历练,需要技术的广度和适当的深度。设计优雅、灵活、可扩展的架构是架构师的主要工作。

不能只追求最新、最热的技术,还需要考虑现有团队的能力,技术的成熟度。

人员需求:★

难度指数:★★★★★

web 后端程序员

后端程序员主要实现业务逻辑,提供接口给前端使用。

Java 当然是用的最多的,但是也有别的相对小众的像 Python、ruby on rails 等,还有就是 PHP,简单粗暴,中小网站常用,无论哪一个,学习起来都不是很难。

这一块的人员需求是比较大的。

人员需求:★★★★★

难度指数:★★★

web 前端程序员

主要是 Java、CSS、JQuery 等,最近几年大家重视浏览器端用户体验,浏览器端做得越来越炫,所以也很火。

人员需求:★★★★★

难度指数:★★★

手机端程序员

主要是 Android、iOS,由于移动互联网的发展,现在很火爆,需求量很大,相对而言 iOS 的门槛高一些,程序员也少一点,不过工资高一点。

人员需求:★★★★

难度指数:★★★★

系统编程程序员

有些需求很简单,有些需求很复杂,需要支持海量的用户,海量的并发,像淘宝的“双十一”, 像微信的春节抢红包。

需要做云计算,虚拟化,分布式处理,支持系统水平扩展。对于海量的数据,还需要做大数据分析,从中提取有价值的信息,例如 Hadoop。由于需要对 *** 作系统,数据库,服务器端系统做定制开发,甚至自己做一套,小公司一般没有这样的技术能力,主要是 BAT 这样的公司在做。人员需求不是很大,对程序员来讲,需要在一个领域钻研得非常深,技术稳定度比较好。

人员需求:★★

难度指数:★★★★★

安全

互联网时代,你的信息一不留神就有可能被偷走,安全变得越来越重要。所以单单实现了功能,满足了性能还不够,很多公司,尤其是 BAT 对安全非常重视。当然这个方向也需要对技术钻研得很深才可以。

人员需求:★★

难度指数:★★★★★

测试

这个对技术要求不太高,但也需要测试相关的知识,能够设计测试用例,准备测试数据,执行测试。

现在敏捷开发流行,对测试也要求懂开发知识,至少能够开发一些自动化的脚本。很多女生后来转到了测试岗位,我想主要是因为女生比较细心。我在 IBM 见过一个非常优秀的测试人员:她不仅仅能出色完成上面指派的工作,还可以参与设计开发的讨论,经常能从测试角度提出开发人员都没有想到的问题,极大地帮助提升了软件的质量。

数据库管理员

几乎所有项目都需要数据库的支持,对于大型、超大型项目,会有一个叫做 DBA 的职位。他对数据库知识极为精通,平时对数据库进行管理,开发时能帮助开发团队设计数据库,并且找出性能瓶颈,进行性能调优。

美工 / 文档

美工

主要是对界面进行美化,一般是由美工先出界面原型,大家讨论,修改,确定后美工会生成各种界面元素,像图标、按钮等。

现在对美工也有一定的技术要求,不仅仅是画界面,还要把 html 模板做出来,所以美工需要懂得 HTML、CSS,甚至部分 Java。程序员拿到 html 模板后,往上添加业务代码即可。

文档编写人员

小项目一般是团队中有人兼职做,大的项目、产品会有人专职写文档, 我 2003 年的时候参与过上海证券交易所的项目,看到有个专职的文档编写人员写的 Word,非常专业、精美,完全是可以直接出版的水准。我把它 copy 下来,自己都想山寨一个,但照葫芦画瓢都做不出来。

项目管理

项目已经开始了,业务分析师、架构师、开发、测试等一群人如饿狼扑食,势必要把项目撕个粉碎。可是这么多人怎么协作? 如何管理?进度能不能按要求完成?这就需要项目经理出马了。

项目经理,说白了就是带着大家做项目,主要和人打交道,需要协调各个方面的关系,保证项目的进展顺利。

问:项目经理需要懂技术吗?

答:当然需要,最好是开发出身,要不然你就听不懂那帮程序员在说什么,只能在表面漂浮着,无法深入项目,别人也就不服你,团队肯定是带不好的。

运营

如果你是在开发自己的产品,开发完成以后,马上就会遇到一个问题,怎么推广?

在互联网时代,世界是公平的,竞争异常激烈,一个好的软件、App 或者网站,如果缺乏运营,你的技术再好也不行。

运营其实就是想方设法让你的产品被人知道,被人用起来,这里边水很深,例如怎么写个软文?怎么在社交网络、微信、微博进行营销?怎么统计,分析,精准地定位?

这方面,2014 年以前的小米绝对是典范。雷军的 7 字诀:专注、极致、口碑、快。 黎万强的《参与感》 都是经典。

好的互联网运营人才奇缺,当然非常的吃香。对编程不感兴趣的同学,不妨看看这个方向。

说了这么多职业方向,你会发现,绝大多数都要求懂一定的技术,所以我其实想说的是:刚参加工作,不妨先从程序员开始,慢慢地再寻找自己感兴趣的方向。

当程序员是什么专业?

计算机科学与技术或软件工程, 不喜欢硬件选软件工程。

打算当程序员,上大学学什么专业 40分

楼上就是在扯蛋,自己不行,还劝别人

我现在在深圳当程序员,工作4年了,目前程序员没以前那么吃香,学得人多了嘛

程序员这个职业在不同学校的专业名称也有所不同,但是差不多了多少,计算机科学及应用,或者计算机软件,到学校问一下就知道了,主流高级汇编语言就是一楼老兄说的C++ NET JAVA这三门了,C++在游戏方面应用的多一些,网站项目基本都是后面2种语言用得多,JAVA的工资要高点,代码量比较大。

做程序员上大学要念什么专业

软件技术专业

数学学的好坏不能直接说明你能不能学好程序员,写程序还是一个逻辑(if语句,循环语句,对变量的 *** 作,等等)

最好是本科,院校在计算机专业方面有很好的基础设施和条件

不过专科肯定也是有好的 师资方面都差不多的

以我的感觉是如果哪个院校的软件技术专业的学费高,哪个学校就好 ,呵呵

也在网上找找吧

选学校一定要选好,尤其是大学

我再发表一下自己的观点:大学可以上,有条件当然可以上的;不上大学未必就没出路,未必就没好的工作好的事业;现在培训班多了,去培训班学学也不一定比上过牛比大学的差;技术这方面最后还是要靠自己的能力,自己的自学领悟能力,高手就是在自学中发展起来的,呵呵

说多了,有句话很有意思,是这么说的:是我上了大学,还是大学上了我

回答完毕,晚安

做程序员要什么学历什么专业才可以?

很多程序员,很多种情况,有大专、大本,有一个是念得法律后来转行做程序员,有一个是技术院校出身,但是有一群朋友,很喜欢电子类的东西,创办过工作室做网站,也在大公司做信息系统开发,后来做项目经理。如果本身专业和电子相关,就直接去找程序员的工作,如果无关,就需要自己找地方学,或者培训机构,或者学校。

想当一名程序员那在大学时候究竟应该学习什么?

最终我决定把想到的东西写下来,希望能对在校的人有点帮助。首先我们得知道这问题的答案是个变量,他依赖于你的目标和天资能力,绝不唯一。当然大学的课程设置往往是唯一的,所以会有点矛盾。这里最关键的东西是目标,大学学习只是达成最终目标高度的一个环节,他应该为最终目标服务。当然大学生很难清楚的知道自己的目标究竟在那里,但要总归要大致知道自己的方向。这个之所以关键是因为,这直接决定你应不应该学习某个东西。我是在做了很多年软件后,才发现软件和软件的差别其实比马和牛的差别还要大。用流行的分类方法比如:前端开发、后端开发、开发,Java开发等会让人迷失焦点,所以我一直觉得Barry W Boehm在《软件成本估算:COOII模型方法》里的分类方法对学习更有帮助。在这个分类方法里软件被分了三层:最底层是基础结构型(平台)软件的开发;中间层次是开发工具、系统集成、中间件;最上层是终端用户编程,也可以理解为一般应用的开发。同时作者还补充了份数据说:在2005年95%的美国程序员是在做终端用户编程。这似乎把话题扯开了,但其实不是,关键要大致定位下自己的方向。因为对于目标是基础结构的程序员和目标是一般应用的程序员,他们要学习的东西差别很大。Donald Knuth的《计算机程序设计艺术》不是没用,但如果你花了2年把他啃了一遍回头专门做应用开发,那它真的用处不大。至少和一个精通具体语言、框架、设计模式、面向对象、UML的人比只是钻研了《计算机程序设计艺术》的人反倒是在劣势,虽然可能后者更花时间。反过来讲则是在算法密集型的工作里,那优劣情形就会掉过来。无疑的什么都精通最好,但人的时间是有限的,而软件相关的知识是无限的,所以把学习聚焦在自己的目标上非常关键。而目标是什么则要根据自己的实际情形来定。假设说你真的感觉自己的能力挺好,就想做基础结构型的东西,去做MapReduce,去做 *** 作系统等等,那首先要认识到的是干这个的人很少,竞争很激烈。如果说在2005年美国只有5%的程序员是干这个的,那我估计今天在中国也顶多是这么个比例。个人感觉,大学的计算机课程还真都是往这个方向培养人的,一旦真的走这个方向,那么大学的计算机课程还真用的上。需要好好学习,天天向上。当然只上课也不行,把课上学的东西实践起来也很关键(比如开源项目)。这里麻烦的事情是,干这个的可能只有5%,很多人即使很努力也不一定挤的上去。那么假设说一个人很现实,说:国内排名靠前的几所学校凑凑也就5%了,竞争太激烈,我不选这个目标方向,我还是95%里做做吧,那这个时候我应该学什么?我个人认为主要要学好一些比较硬的,需要大块时间学习的东西,而不要在花里胡哨的东西上多费时间。硬的东西是指:数据结构和基本算法。不管是不是做基础结构性软件,基本的数据结构和算法知识还是要有的。很可能不太会有自己从头写数据结构和算法的机会,但如果复杂度不知道怎么算,链表、红黑树、哈希表的差别都不知道,那就怎么都玄。精通一门编程语言具体是那个可以根据实际情形来选。但这里强调的是语言,不是IDE和框架。可以通俗理解为每个关键字背后的含义要整清楚。这里的陷阱是学一堆语言,但那个都不精。精读一个有点规模的开源项目(至少要超过2万行)要找那种规模不太大,又比较有名的项目,一定要精读,争取每行都懂。累积一定的代码量不算IDE帮助生成的,争取也在2万行之上。面向对象和设计模式这点最好配合著下一点一起做。从头考察一下某个框架考察某个框架的内存机制、线程机制等。整个学习过程中最常见的陷阱是学会 *** 作一堆IDE和框架的使用,但实际上这事儿价值不大

做程序员难不要学什么专业

计算机类的

程序员需要学些什么?

要看你喜好了,做什么都是有兴趣才能学好

想学程序 先确定要学什么 c c++ c# java pb vb等等

现在流行就是c#和java c++也可以 不过比较有深度

先学语法 再学程序实例 最后做项目程序员 工资中上等吧 但是很辛苦

如果你认真学习 不到半年你就会学的很好

作为一个程序员需要学多少技能

介绍下我的想法:

大学里学的是计算机专业,所以顺道学了不少计算机系的基础课程,总体来讲学得很不好,直到大四毕业,我才勉强下定决心要以写代码为生(现在想想,可能是当时实在想不出其他出路)。大学4年,很遗憾的事情就是我没有弄清楚该去真正学些什么东西。

毕业后第一份工作,在一家小公司写servlet/jsp,说实话,我写的很烂,当时带我的人对我的工作很不满意,直到有一次,项目经理跟我谈说,你的工作表现你也看到了,差点就被开掉了,不过我觉得还是要在给你机会。。。当时,我真的是自信心崩溃到极致,觉得自己这段时间其实很努力,但为什么还不入门路。。这次经历给了我非常大的影响,之后的不久,我终于明白了怎么去写那些servlet/jsp,于是我努力的写那些代码,不久,我就成了公司新员工里面,做东西最快的人。当时还发了个公司的什么最快进步奖给我。我想第一份工作给我最大的感受是,想要做为一个程序员,你得先明白,程序是个什么东西。

一年多以后,servlet/Jsp实在不想写了,于是换到另外一家公司,做聊天软件的J2ME客户端。其实我当时不懂J2ME,在刚入职的一个月里,啃完CLDC和一些会用到的JSR的英文文档,然后每天去看项目的代码,有任何问题就去问周边的同事。不久,我也慢慢能写一些J2ME的代码了。接着,我加入了新版客户端的项目组,开始做一些UI组建。最开始,我写一个Text组件,就是把文字显示到屏幕上,还要根据屏幕可显示区域的宽度、高度对文字做调整。没几天,我就信心满满的写完了这些代码,原来写客户端代码也不难啊。不过不久,当同事要用我的组件时,问题百出,以至于同事跟经理抱怨说,这么基础的组件应该给有经验的人去写啊。。 这次,虽然我的工作做的很烂,可自信心倒没受多少打击,因为已经工作一年多了嘛,脸皮厚了不少。但是我心里知道,我的工作肯定哪里出了问题,否则我的组件应该能经受住使用者的考验的啊。这份工作中,我学到了不少东西,首先呢,脸皮要厚一点,不会就追着去问,其次,没有想清楚的话,写出来的东西经不住考验的。再次,英文资料好像更准确啊。当然还有一些具体的编程技术。

大概又过了一年多,大家都说J2ME快完蛋了,android已经开始大兴其道,公司里面也有人在做android客户端,可我还在写没有前途的J2ME恰好,qq群里有人发消息说招人,我脑子一热,扔了份简历过去。于是,一个多月后,我就到了新的公司上班,这家公司是一个做手机的厂商,而我也可以参与android的开发。在这个公司的前3个月,基本啥活没干,除了学习android之外,就是各种培训和等待。大概待到5个月的时候,我实在坐不住了,我去跟经理说,有没有活可以给 。经理说我考虑下,不久便安排给我一个项目,让我去把它维护好了,然后集成到产品里面。可当我拿到代码时,傻眼了,2w多行代码,而且很多地方写的很复杂,看了好几天也没看懂。好吧,不管了,这件事既然是我负责,那怎么都应该挺住。在接下来的快2个月里,我每天都扑在这两万多行代码里,解决里面的bug,理解里面的设计思路、代码风格、编程技巧,使用公司的工具链,从发布、审核到持续集成等等。我了解到了很多我平时不知道的东西,我解决了发现了的所有的bug。可是最终,我并没有把这个项目维护到可以发布的程度,最后一关的AT&T的稳定性测试宣判了我的这个项目的死刑,随后这两万多行代码慢慢的从我的提交列表里面消失掉了。我第一次明白了,竟然还有如此严格的质量测试,也明白了什么叫风险与代价,虽然这些代码,我已经用monkey模拟跑过了5个钟头,但是依然被ATT测试蹂躏2个钟头之后挂掉。

以后想当个程序员 大学要学什么专业

好多大学毕业生转行学习it程序开发的。如果你现在就有工作目标,以后想从事软件开发,当个程序员的话,那么建议你大学选择专业的时候就选择计算机相关的专业。

当java程序员应该学什么,并且学的顺序是什么

ja范a有三个方向:1 桌面应用程序开发 不过个人认为这个很少

2 j2me也就是手机里一些小程序的开发

3 j2ee 企业级开发 也是最有前途的

下面是本人j2ee学习的路径 是当时老师跟我讲的

第一步:入门 随便找一本简单的详细的书看完

第二部:看thinking in Java这本书讲解深入 有难度 看完的话受益匪浅 如果 觉得thinking in java 太难的话 就看java核心技术 简单一些 一共两卷 买盗版的吧 很便宜 哈哈

下面就是另外的一层境界了

第三步:html css javascript 这些不是java的内容 但一定要了解

第四步:jsp、servlet JavaBean这个没什么可说的 张孝祥的书不错 很全面 这时可以做个小网站什么的 用mvc设计模式 也就是JSP 负责显示界面 相当于MVC中的 V

Servlet 负责历程控制 相当于MVC中的 C

JavaBean 负责功能 相当于MVC中的 M

第五步:学习struts spring hibernate框架 这时也可以做一些小项目了 实践一 下 当然你会发现实际练习中会有很多问题出现 这是提搞的好机会

第六部:ejb 这是一个重量级的东西 慢慢学吧

以上就是关于Java程序员的4个职业发展方向,该如何把握黄金5年全部的内容,包括:Java程序员的4个职业发展方向,该如何把握黄金5年、程序员最好的职业方向是哪些、做程序员要学什么专业等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9398165.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存