一个工做三年左右的Java程序员和你们谈谈从业心得

转发连接地址:https://mp.weixin.qq.com/s/SSh9HcA5PgMHv7xiolQkigjava

貌似这一点适应的行业最广,可是我能够很确定的说:当你从事web开发一年后,从新找工做时,才会真实的感觉到这句话。linux

 

工做第一年,每每是什么都充满新鲜感,什么都学习,冲劲十足的一年;WEB行业知识更新特别快,今天一个框架的新版本,明天又是另外一个新框架,有时每每根据项目的须要来不断学习新东西;全部,不少时候感受,本身用过的东西真多呀!可是真正深刻研究的东西却很少。程序员

 

面试,是跳槽后第一个须要面对的问题;并且不一样公司面试的着重点不一样;可是却有一个共同点:Java基础是必考的。web

 

工做第一年,可能问你String对象建立的理解,经常使用的框架是什么等等;面试

 

工做第二年,就问你Java内存分配机制是什么,类是如何加载的等等;数据库

 

第三年,就问你经常使用的设计模式是什么,你在工做中充当什么角色,怎么独立完成一个模块等等;编程

 

能够看出——这是一个典型的程序员的成长过程:windows

 

使用Java—->深刻理解Java积累经验——>独立设计分析能力——>独当一面的多面手!设计模式

 

所以,必须学习:架构

 

Java基础的深刻理解; 

很少做解释,推荐书目《Java编程思想》,《Java线程》,《Java NIO》,《深刻java虚拟机》 

 

数据库 

最经常使用的是Oracle了(固然银行项目等须要DB2等),熟练掌握使用存储过程,触发器等; 

 

UML 

项目中常常要写文档,项目经理的基本功,程序员走向设计的基本功; 

 

设计模式 

这个建议多看吧,在阅读源码中体会; 

 

 

linux系统

须要掌握经常使用的linux命令——部署在windows操做系统上的项目不多吧。

 

其余就很少说了,你们能够补充。

 

学习上,兴趣是最大的老师;项目驱动也是不错的选择,总之,不学习不行。

 

第二. 积累行业背景; 

 

行业背景很是重要;工做3年后必须肯定本身的行业背景,好比一直从事电信行业,一直从事银行项目,一直从事ERP行业等等。

 

一个程序员不多是一直写代码的,就是写代码也要知道业务逻辑,知足什么需求;俗话说隔行如隔山,每一个行业的业务都不同,甚至差异很大,好比你一直从事流媒体的研究,让你跳槽到一家银行项目,完了,一切从头学吧,之前的行业经验都用不上了;并且,一个公司公司招人,就是但愿找到那些很容易上手,不须要培训业务好久的程序员;频繁跳槽的朋友,必定要注意这点;

 

一直在一个行业呆久了,就能够成为这个行业的专家;咱们能够常常看到,一个项目组的某个leader,代码写的通常,可是却能够跟客户流畅的沟通,控制着新需求的提出,bug的修正等等;而客户也很愿意跟他打交道,由于那些老的项目只有他能维护,他甚至熟悉系统的每一张表结构——-可想在这个行业呆的时间有多久啦。

 

第三. 合理的职业规划

 

什么是职业规划—-就是你短时间或者长期的一个职业计划!大道理不讲,咱简单点。先问你几个问题:

 

a.你工做几年了,你愿意一直和新入行的新手同样就是个简单的程序员吗?

 

b. 你愿意一直写代码,而不关心其余吗?

 

c. 一个项目的前期需求,设计,后期部署维护,领导找到你,你说咱搞不定,行吗?

 

程序员不是敲代码的机器。第一年太多东西不懂,你能够一切遵从老大的安排,敲敲代码,看看数据库,测试本身和别人的代码;可是第二年,你仍是这样吗?不可能的,一年的经验你彻底能够入行了,是时候该学习怎么进行需求分析,怎么设计数据库,怎么写各种文档,怎么写更好的代码?这是高级程序员的要求!

 

什么是高级程序员?

 

具备分析设计能力,能进行技术攻关,并且具备某行业深厚背景的程序员!

 

全部,一个项目立项后,你要积极的参与到前期设计中,跟老同志们一道思考分析问题,学习经验!OK,你这就成长啦!

 

 

 

千万不要认为程序员就是写代码的哦!!!

 

并且,经过一个项目的开发,你要能粗略的统计出一个功能的开发时间;好比一个模块有20个小功能点,你开发了80个小时,每一个小功能点平均2小时——这时在前期就能评估工做量啦。固然每一个人的效率和工做质量是不一样的,因人而异,可是大概的工做量应该是能够统计出来的,用于统计一个项目的工做周期;

 

具有上面的能力,你起码已是一个项目组的骨干啦!此时,就能够带领小弟作开发而不是平凡的一个被带领者啦。

 

不少公司的项目骨干和项目经理都不是经过招聘的来的,都是培养出来的——-工做2年,思考能力不错,善于动手,很上道!OK,此时项目经理和公司中层可能就注意到你了,就会给你多分配任务慢慢的锻炼你,这时候千万不要闹别扭哦(曾赶上这样一个同事,技术很好,人也不错,领导忽然给他分配不少任务,他开始是默默承受,后来闹意见啦!领导找他谈话后,他算明白啦!顶过一段时间就基本适应,能够快速的作完;后来他成了咱们那批人中新的项目leader啦),跟带你的人好好学习,多劳动,很快就出头啦!

 

若是你工做了多年,属于老鸟了,也要善于带人,能提携小弟!由于只有小弟成长了,你身上的担子才会轻,项目才会顺畅的进行!

 

并且高级程序员(本科为例)工做四年左右工资就达到一个瓶颈了(一线城市是9K—1.2W),这时候必须“转型”—–高级程序员只是你能力的一部分,系统分析师,架构师,技术主管才是你应该告诉别人的职务,薪资才能再次提高。

 

第四. 良好的心态和体态

 

程序员必须有责任心!这点很是重要。赶上问题,不能随便的踢皮球,很认真的和别人沟通,提出本身的看法,和客户联系,才能把问题解决。技术上的问题不是问题,总能够解决,可是需求上的问题,必须搞清楚!一旦需求出错,一个项目就可能延期或者失败。程序员的责任心决定了他的成长,一个有责任心的人才可能成为骨干,让领导信任!

 

其次就是能顶住压力,你们都知道程序员要加班,压力大,全部遇到问题必须不轻易放弃,合理的根据能力去处理!

 

身体是革命的本钱,程序员尤为重要,每天坐在电脑前,很容易发胖,变成鸭梨身材,全部多锻炼呀!

 

到某些程度就不要跳槽了,在一家有发展前景或者工做开心的工做长久呆下去吧,不能跟年轻人比热情了,这时候要的是稳重,在公司充当的是一个资深的IT从业者,帮人优化程序,分析需求,为项目出谋划策解决疑难等。

 

第五. 多写技术文档

 

多写技术文档是好事哦—–其实它是对你工做经验的总结和提升!一个愿意和别人分享知识的人,才能在不断的思考中提升!并且,写文档很锻炼人滴!

 

因此建议木有博客或者常常看别人文档本身却不写的同行,赶快开博吧,其乐无穷呀!

 

(技术文档注重简洁精练,提供源码;总结性文档注重亲身体会!)

 

第六. 关于跳槽

 

跳槽,对IT人来讲绝对不是个陌生的词汇,几乎全部人都身体力行过。首先我要强调一点,跳槽并无坏处,可是频繁的跳槽就很差了。在工做的前4年,必须跳槽,并且鼓励跳槽(建议经历2—3家公司);每一个公司对技术的侧重点都不一样,对开发流程控制都不同,所须要的技术性人才天然不同;好比外包公司,要的是一个代码狂人(我很喜欢招作过外包的人,感受不少在外包公司待过的人作事的效率很高);小事业的公司,要的是一个全能型的程序员(能设计分析,能写代码,能部署);大的公司,要的是一个技术扎实,有潜力的人(英语好,理解能力好,Java基础扎实);这样若是你在一家公司呆久了,极可能就模式化,若是一旦离开这家公司,找工做有时候很容易碰壁;多经历两家公司,对程序员颇有益!并且我本身也有感受,每次找工做都在强制本身学东西。 

相关文章
相关标签/搜索