2023年6月20日发(作者:)
⼀个⼯作了四年的java程序员的⼼得体会年底了,该给⾃⼰写点总结了!从毕业到现在已经快4年啦,⼀直在Java的WEB开发⾏业混迹。我不是⽜⼈,但是⾃我感觉还算是个合格的程序员,有必要写下⾃⼰将近4年来的经历,给⾃我以提⽰,给刚⼊⾏的朋友提供点参考。第⼀. Java程序员需要不断的学习;貌似这⼀点适应的⾏业最⼴,但是我可以很肯定的说:当你从事web开发⼀年后,重新找⼯作时,才会真实的感受到这句话。⼯作第⼀年,往往是什么都充满新鲜感,什么都学习,冲劲⼗⾜的⼀年;WEB⾏业知识更新特别快,今天⼀个框架的新版本,明天⼜是另⼀个新框架,有时往往根据项⽬的需要来不断学习新东西;所有,很多时候感觉,⾃⼰⽤过的东西真多呀!但是真正深⼊研究的东西却不多。⾯试,是跳槽后第⼀个需要⾯对的问题;⽽且不同公司⾯试的着重点不同;但是却有⼀个共同点:Java基础是必考的。⼯作第⼀年,可能问你String对象创建的理解,常⽤的框架是什么等等;⼯作第⼆年,就问你Java内存分配机制是什么,类是如何加载的等等;第三年,就问你常⽤的设计模式是什么,你在⼯作中充当什么⾓⾊,怎么独⽴完成⼀个模块等等;可以看出——这是⼀个典型的程序员的成长过程:使⽤Java—->深⼊理解Java积累经验——>独⽴设计分析能⼒——>独当⼀⾯的多⾯⼿!因此,必须学习:1. Java基础的深⼊理解;不多作解释,推荐书⽬《Java编程思想》,《Java线程》,《Java NIO》,《深⼊java虚拟机》2. 数据库最常⽤的是Oracle了(当然银⾏项⽬等需要DB2等),熟练掌握使⽤存储过程,触发器等;3. UML项⽬中经常要写⽂档,项⽬经理的基本功,程序员⾛向设计的基本功;4. 设计模式这个建议多看吧,在阅读源码中体会;5. 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基础扎实);这样如果你在⼀家公司呆久了,很可能就模式化,如果⼀旦离开这家公司,找⼯作有时候很容易碰壁;多经历两家公司,对程序员很有益!⽽且我⾃⼰也有感觉,每次找⼯作都在强制⾃⼰学东西。⽽且关键是,⼀次跳槽,薪资就更⾼了 —– 很多⼈跳槽都是对当前薪资不满呀。但是,⼀旦⼯作5年后,建议不要在跳了,更多是规划⾃⼰的职业⽣涯,程序员毕竟有“青春饭”的嫌疑,我们不能跟年轻⼈⽐呀。这时候如果想⼀直做技术,建议在⼀家好的公司长久呆下去,技术+业务,⾜够你混的了;如果想做管理层,这时候也基本是时候了;想⾃⼰开公司,就要付出更多,对运营有深⼊了解,并侧重销售和客户的关系啦。
2023年6月20日发(作者:)
⼀个⼯作了四年的java程序员的⼼得体会年底了,该给⾃⼰写点总结了!从毕业到现在已经快4年啦,⼀直在Java的WEB开发⾏业混迹。我不是⽜⼈,但是⾃我感觉还算是个合格的程序员,有必要写下⾃⼰将近4年来的经历,给⾃我以提⽰,给刚⼊⾏的朋友提供点参考。第⼀. Java程序员需要不断的学习;貌似这⼀点适应的⾏业最⼴,但是我可以很肯定的说:当你从事web开发⼀年后,重新找⼯作时,才会真实的感受到这句话。⼯作第⼀年,往往是什么都充满新鲜感,什么都学习,冲劲⼗⾜的⼀年;WEB⾏业知识更新特别快,今天⼀个框架的新版本,明天⼜是另⼀个新框架,有时往往根据项⽬的需要来不断学习新东西;所有,很多时候感觉,⾃⼰⽤过的东西真多呀!但是真正深⼊研究的东西却不多。⾯试,是跳槽后第⼀个需要⾯对的问题;⽽且不同公司⾯试的着重点不同;但是却有⼀个共同点:Java基础是必考的。⼯作第⼀年,可能问你String对象创建的理解,常⽤的框架是什么等等;⼯作第⼆年,就问你Java内存分配机制是什么,类是如何加载的等等;第三年,就问你常⽤的设计模式是什么,你在⼯作中充当什么⾓⾊,怎么独⽴完成⼀个模块等等;可以看出——这是⼀个典型的程序员的成长过程:使⽤Java—->深⼊理解Java积累经验——>独⽴设计分析能⼒——>独当⼀⾯的多⾯⼿!因此,必须学习:1. Java基础的深⼊理解;不多作解释,推荐书⽬《Java编程思想》,《Java线程》,《Java NIO》,《深⼊java虚拟机》2. 数据库最常⽤的是Oracle了(当然银⾏项⽬等需要DB2等),熟练掌握使⽤存储过程,触发器等;3. UML项⽬中经常要写⽂档,项⽬经理的基本功,程序员⾛向设计的基本功;4. 设计模式这个建议多看吧,在阅读源码中体会;5. 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基础扎实);这样如果你在⼀家公司呆久了,很可能就模式化,如果⼀旦离开这家公司,找⼯作有时候很容易碰壁;多经历两家公司,对程序员很有益!⽽且我⾃⼰也有感觉,每次找⼯作都在强制⾃⼰学东西。⽽且关键是,⼀次跳槽,薪资就更⾼了 —– 很多⼈跳槽都是对当前薪资不满呀。但是,⼀旦⼯作5年后,建议不要在跳了,更多是规划⾃⼰的职业⽣涯,程序员毕竟有“青春饭”的嫌疑,我们不能跟年轻⼈⽐呀。这时候如果想⼀直做技术,建议在⼀家好的公司长久呆下去,技术+业务,⾜够你混的了;如果想做管理层,这时候也基本是时候了;想⾃⼰开公司,就要付出更多,对运营有深⼊了解,并侧重销售和客户的关系啦。
发布评论