① 作为刚入职的java程序员,一年时间内如何提升自己的实力,更有竞争力
刚入职,就意味着你有基础,但是还没有到精通,那以下这几点你要好好看看
1.用好互联网
在你入行的第一年,肯定会遇到各种各样的问题,但不用担心,这些问题其他人肯定也遇到过。
这是一个开源的时代!人们习惯将解决办法记录在网上。
越早的学会使用goole寻求帮助,问题就会越早得到解决。(但是在看别的代码或解决bug的时候,不能直接Ctrl+C,Ctrl+V,要弄明白其中的原理)
2.养成良好的编译习惯
你是公司的一员,是团队协作来完成整个项目的,也就是说你的代码不仅要你自己看得懂,更要让团队中的小伙伴和你的领导看得懂。
所以起名称规范一些,保持代码结构清晰,多写一点注释!
3.基础理论很重要
如果你只想成为一个普通的码农,基础理论知识的确没那么重要;
但当你想往上走,想成为一名专业的架构师,数据结构、操作系统原理、数据库原理等基础知识是必不可少的,这些基础知识决定了你能在技术这条路上走多久,走多远!
4.不断学习
这不是什么鸡汤,而是程序员界一个残酷的现实。就拿游戏开发者来说 一个引擎unity3D,几个月就要更新换代一次,是想,你如果不学新技术根本就无法继续操作,如果技术一年不跟进,你和unity3D就会形同陌路。任何课程、资料都该看要看。
5.你是一个开发者,而不是一个码农
很多新人在入行前几年一直以一个流水线员工的心态做业务,这样是不行的。
于自身发展来说,长期重复的工作使你接触不到核心业务,限制你能力的拓深和发展;于企业而言,企业需要的不是只会搬砖的码农,而是一个开发者。
6.多读优秀的代码
山外有山,人外有人。
世界上比你优秀的程序员太多了,想要跟着大神学习进阶,还得感谢这个开源的时代。不错的平台有很多,里面有很多优秀的程序员们的代码,只要你需要就可以阅读。
希望这些建议对你有用,有所收获。
② 一个java程序员如何从新手慢慢成长
一、首先初识语法的阶段,必须要学会怎么操作对象,操作if和for,操作list set
map,然后是线程、IO和jdbc什么的,其余的,若是一时不理解,可以后边需要时再学。
这阶段完了,你可以写些能在控制台打印出来的小程序,锻炼下逻辑思维。也就是号称JAVASE毕业了,其实不过是入门而已,如果要往WEB方向发展,这些倒是基本足够了。
二、接下来要学HTML JSP SERVLET 数据库 JAVASCRIPT
TOMCAT,目标,写出第一个动态网站,也许只是个登陆功能,只能展示下个人资料,但这是很重要的一步,你要弄清楚的是,一个用户的点击产生的请求,是从哪里发起,哪里接收,哪里处理,哪里返回,你得理解浏览器和服务器的关系和分工,cookie和session,request和response。这个是个WEB开发的学习初级阶段,这都是些JAVA诞生以来最原始的最官方的WEB开发技术,当然现在真正的项目很少直接采用这些技术了,为了不断提高技术的易用性、开发效率和可维护性、可扩展性,无数开源项目都是在这些原始技术的基础上封装、改进。所以这个阶段不要盲目乐观地跑去找工作或者对实习挑三拣四,你会被打击到的。
三、初始阶段完成,开始进入WEB开发的正题,首先是传说中的三大框架,struts hibernate
spring成为熟练的增删改查程序员是必须的,在这个阶段你还要理解为什么要用这仨而不是那些JSP SERVLET
JDBC,你要体会到写MVC、三层架构的好处。这个阶段不要轻易质疑三大框架的价值,也许刚开始你会觉得麻烦,觉得他们有时候是多此一举,一两年后回过头来你会觉得少了这些框架你已经很难干活了。这个阶段还要避免的心态是能熟练地增删改查了,就认为写程序不过如此,然后往简历上填个精通,这也是新手面试被批得体无完肤的原因之一。如果你学得好,这会应该能熟练地写个博客啊,小论坛啊之类的WEB项目了,也就是达到了就业的基本要求。
接下来就没有固定模式了,你的第一家企业对你的影响会很大,在这头一年里,定个标准吧,你应该能做到的有:
1、把一些常用的琐碎技术学会了,比如xml的作用和实际运用,如何操作文件,如何运用日志,如何简化封装常用的工具类,比如日期操作、编码处理、分页模块等等,这些小东西会占用你大量的时间去处理摸索。
2、把数据库用好。数据库不是会增删改查就可以了的,你要关注事务设置是否合理,是否有可能产生脏数据,是否要动用乐观锁悲观锁等等,重要数据出了错,无论是技术上还是业务上都是很麻烦的事。
3、懂得什么是集群,什么是分布式,懂得怎么向别的系统发请求,交换数据,webservice。
4、如果你也写页面,你要会用JAVASCRIPT,不一定要很深入,你可以用JQUERY代替,做到无刷新的页面操作以及AJAX请求。
第一年能达到这个程度,你绝对已经在平均水准之上了。
下一个阶段,你应该考虑你的代码质量了。
1、多线程和异步、并发的概念会忽然变得很重要,因为在一个对性能有要求的系统里,是不会允许你把各种琐事都排着队一件件去办的,你不能老写些a方法调b方法再调c方法再调d方法然后返回的代码。
2、你会发现数据库性能实在不行,出于不甘现状,或者赶时髦,你该去了解nosql了,memcached redis
mongodb,眼花缭乱,没关系,试着用用,能很好地缓解mysql之类关系数据库的压力。
3、出于公司某些业务需要,你可能会钻研一个特定技术领域,比如全文搜索技术,lucene\solr,比如工作流jbpm,比如权限系统,单点登陆之类的,又或者某些特定业务领域的算法研究,这些是你的加分项。
4、你开始发现你的代码很乱,久了以后自己都看不懂,重复的,难以重用的代码堆积如山,不想维护,BUG百出。于是你要开始重视设计模式,合理地改造下自己的代码习惯,不再被僵化的SSH,MVC三层架构束缚住。
5、Google和各种资料是你进步的动力,极少再遇到必须请教别人才能解决的问题,如果你这个阶段还老是问别人,你的技术生涯也就快到头了。
这个阶段,如果你的交际和自我推销能力不是太差,你的收入将是白领水平,至少接近了。
接下来又是个全新的阶段。
1、你要读读优秀开源项目的源码,你要搞懂一些当年不懂的基础知识,你开始理解thinking in
java的精髓,你能写一些底层的代码,有时还会觉得自己封装的比某些开源工具更好用更简单。
2、WEB的难点和重点永远都在于性能、负载能力上,而现在网络的发达造成了数据量和操作密度的大大上升,硬件却没有相应的进步,你得试着更好地运用更多的服务器来协同工作,从WEB端到服务端到数据库,全都需要集群,需要分布式,需要合理的控制数据的流向,掌握好网站上下,一大堆机器的平衡,找出性能的瓶颈,找出稳定性和安全性的瓶颈,硬件出现故障,第三方技术出现错误,将被当成家常便饭融入到你的系统和代码里仔细考虑。
3、开始觉得方案无比地重要,一将无能累死千军将不断应验,一个不好的设计,一个不好的方案,会让一群优秀的程序员工作成果大打折扣。你要关注架构知识,不能再满足于SSH三层架构到底。领域驱动设计,面向事件开发,敏捷开发等等一系列的思想在关键时刻能决定你项目的生死,这个阶段不再有标准范例让你照抄,你只知道思想和原理,实践却需要自己不断尝试和改进。
4、多关注各种杂七杂八的开源技术,有些你可能前面已经接触过了,和通信有关的,和集成开发环境有关的,和架构有关的,各个领域你都应该能信口说上几个主流技术,虽然你可能只是听说过,了解,但关键时刻你得知道如何去选择技术,并快速掌握它。你还会去考虑尝试下别的语言,这里不是说转向什么C++
C#之类的,那和JAVA程序员不相干,我说的是一些运行于JVM之上的语言,比如scala和groovy,初识他们时你会觉得java真的老了。但当你回到一个综合性的大型项目中,又会觉得java积累下来的整个体系技术是如此完善,就像一个工业化标准一样。
你能把这个阶段实践好,胜任项目经理,乃至中小公司的技术总监都是可以的。
③ 对于新入行的程序员来说有哪些好的建议
首先就是该明确自己的发展方向和道路,要是一直停留在舒适区,那就永远改变不了。另一个就是其实在互联网行业,是不是科班,本科或者专科,这些在几年后都没那么重要。更重要的还是能力。有能力就是学历低点也没什么。
在工作中发现知识不够用了,面临工作上的压力,不如先提升自己的技术水平和实际操作能力,这才能够在就业中起到一个实质性的推进作用。有的已经参加过培训的已经工作了的,这样的程序员也不能松懈,因为在工作中还是有很多东西是需要自己学习的。所以小伙伴们知道进入职场该如何做了吧!
④ 曲靖java培训学校告诉你初级Java程序员成长的方法
对于初级Java程序员来说,刚开始接触Java工作时,觉得什么都很新鲜,随着工作时间变长了,发现新鲜感慢慢地消失了,如果你觉得你工作几年后,还是愿意跟新入行的Java程序员一样,那么接下来你就不用往下看。今天就跟北大青鸟http://www.kmbdqn.cn/一起来看看,初级Java程序员如何成长为高级?
初级Java程序员如何成长为高级?
1.坚持学习
初级Java程序员要想自己快速向高级Java程序员靠拢,唯一的办法就是坚持学习,你的Java技能变得更加强硬,你才能够从初级Java程序员进行升级,怎么学习,你可以经常浏览Java技术博客、Java技术论坛,也可以跟你公司的前辈学习,学习方式很多。
2.累积经验
在Java行业中,工作经验是特别的重要,我们知道刚入行的Java程序员,跟入行1-2年、3-5年拥有真本身的Java程序员的薪资待遇存在天壤之别,你想从初级Java程序员成长为高级Java程序员,那么你必须累积一定的Java工作经验,行业经验、技术经验。
3.保持上进
从一个初级Java程序员到一个高级Java程序员,这不是一个容易的过程,每个人所花的时间也不一样的,得要好几年这是确定的。很多朋友觉得这个过程太漫长了,很多时候都是爱谁谁,完成当下工作就不错了,其实这就是心态出了问题,缺乏了上进的心,所以要保持上进的心。
⑤ 北大青鸟设计培训:初级Java程序员成长的方法
对于初级Java程序员来说,刚开始接触Java工作时,觉得什么都很新鲜,随着工作时间变长了,发现新鲜感慢慢地消失了,如果你觉得你工作几年后,还是愿意跟新入行的Java程序员一样,那么接下来你就不用往下看。
今天就跟北大青鸟http://www.kmbdqn.cn/一起来看看,初级Java程序员如何成长为高级?初级Java程序员如何成长为高级?1.坚持学习初级Java程序员要想自己快速向高级Java程序员靠拢,唯一的办法就是坚持学习,你的Java技能变得更加强硬,你才能够从初级Java程序员进行升级,怎么学习,你可以经常浏览Java技术博客、Java技术论坛,也可以跟你公司的前辈学习,学习方式很多。
2.累积经验在Java行业中,工作经验是特别的重要,我们知道刚入行的Java程序员,跟入行1-2年、3-5年拥有真本身的Java程序员的薪资待遇存在天壤之别,你想从初级Java程序员成长为高级Java程序员,那么你必须累积一定的Java工作经验,行业经验、技术经验。
3.保持上进从一个初级Java程序员到一个高级Java程序员,这不是一个容易的过程,每个人所花的时间也不一样的,得要好几年这是确定的。
很多朋友觉得这个过程太漫长了,很多时候都是爱谁谁,完成当下工作就不错了,其实这就是心态出了问题,缺乏了上进的心,所以要保持上进的心。
⑥ 刚踏入职场的程序员,如何快速踏实地提升自己的能力
程序员提升主要靠实践,跟一个完整的项目能最大限度的提升项目能力,以后找工作不用愁啊,现实工作中很难达成,你可以去找找培养这方面人才的,提升一下自己,你看看愿码ChainDesk,有你需要的
⑦ 程序员如何进阶
程序员是一个没有极限的职业,所以要成为一个成功的程序员,你就需要不断的超越极限。在程序员职业生涯的开始阶段,他们将面临许多挑战,面对困境,他们之中有一些人将会放弃,而只有少数人会坚持到底,并成为这个领域的领头羊。
1.学习新技术
随着新技术的不断进步,我们学到和实施的技术会很快地过时。所以,作为一个程序员,你就需要了解与学习这些新技术,保持与时俱进。出现的这些所谓的新技术通常由一些进程和语法变化而构成,但逻辑是相通的,所以你可以很快地掌握,不要害怕去学习。
2.调试技巧
程序员不但需要创建代码,当软件未能按照预期方式工作时,程序员还必须能够快速而有效地解决问题。
3.解决问题的技巧
当一名程序员获得项目时,会直接写代码。但一名进阶的程序员会试图找出代码出现问题的根源,并通知团队领导或项目负责人。因为有时在文档化项目需求并启动项目后,甚至在完成项目后,我们才会在项目中遇到一些问题。所以最好在出现问题之前先找到问题。最好可以快速地找到解决问题的方法。
4.对工作的热情
我们的工作时间大多为朝九晚五,但是当你对工作迸发激情时,那么不要到了休息日就将工作束之高阁。一直工作直到完成它。当然,我的意思不是说如果你没有解决方案,还得成天垂头丧气对着电脑,我的意思是如果你已经接近于完成的时候,那么索性一鼓作气搞定吧。
⑧ 程序员入行后怎么提升自己
以下是我总结的五个方面,从上到下都是个有序的渐进过程,缺一不可!希望对你有帮助!
1. 通过分析目前的现状快速定位自我
什么是分析现状?这里的分析现状就是指充分明白目前自己在公司的位置,整个市场中的价值,自己的技术程度后。
当我们发现我们的技术落后了,待遇低于市场了,或者职级没得到发展,都可以视为对自己现状的分析认知,在这种先前条件下才能去定位自己。
这种定位手段可以通过社群社交,同行交流,博客技术论坛介绍的东西对比,更粗暴的方式就是面试,这样才能更好的完全的认识自己的不足,自己的短板,才能让自己掌握哪些方面需要去学习,从而得到有效的提高。
从宏观层面讲
现从宏观来讲,包括你的职级,你所做事情的影响力。如果你是领导,那么你有一定的主导权,你就应该让这种领导效益做到最大化,提高自身效率,提高团队协作,尽可能的让下属也得到提高,只有个人和团队一起发展,才证明你在发展。
如果事实不是这样,那么你确实是需要自我反省,自我认知了,不是做到领导就能觉得自己很厉害,相反你也要和其他领导做比较,是不是他的团队,人员更稳定,产出多,口碑好呢?
如果你非领导,只是一个核心开发,那么你也必须做到你负责的东西,如果你负责的这个框架,那么应该让这个框架做到稳定,易拓展,方便调用,甚至更多!
如果你开发的这个模块不够好用,甚至造成了其它新增的问题,那么你也要重新自我认识,技术高低并不是说你能写出多牛逼的框架和项目,而是你能做到每一件事完美解决。
从微观层面讲
微观相对宏观更细化,如果是领导,你自己是否做到了一个流程中任何环节的把关,推进和收尾总结,如果你有任何一点觉得交给下属办不好的事情,甚至觉得这个人无用。
那么你就应该摒弃这个可怕的思想,别人不是给你打工,你也是在给自己打工,如果下属能完全解决你交代的问题,那么你是不是该下岗了。
作为领导,情绪控制力,沟通能力,领导力,协作力,和为人口碑,都是影响你上升的关键因素,如果有不够好的地方,那么你已经定位到自己了。
作为普通的开发,新的框架你是否了解,项目现存的业务模式你是否熟悉,交流总结你是否做到,技术文档有去编写,其他技术方向有去拓展等,都能对比出自己不足的地方,这种通过对比的方法论是提高自我审视的最好办法。
2. 拓展自己的知识网络拓扑图,持续提高知识
上面我们通过通过分析目前的现状,可以快速定位出自我 。当你更好的认清自己的时候,你是时候去改变了,如果你缺乏沟通,你可以加强交流,试着多去参加群体活动。
如果你缺乏对新技术的掌握,可以去浏览各种论坛、官微、博客等涉取,从而弥自己的不足。如果你缺乏对基础知识的掌握,你可以去扎实基础,从而让自己的水平提高。
很多时候很可能我们掌握了项目中的技能之外,就懒得去学习其他技术,这种观念不能要,永远不能将对比参考点放在自己的项目组的成员中,一定要放到同行业的竞争者中,这样你才能知道自己需要去学习哪些技术。
就拿 Android 程序员来说,RxJava、OKhttp 必须要掌握,插件,热更新技术、混合开发技术需要掌握,Java 基础、设计模式也需要懂,算法、数据结构那更不用说,学过计算机网络的人都了解网络拓扑的概念,上面这些都是我们需要拓展的知识网络拓扑图。
掌握更多的技能不代表让你去做全栈工程师,而是面对机会时你有更多的选择!目前的 Kotlin、JS, 甚至人工智能,也应该去关注!
3. 提高全量思维,不放过任何一个成长的机会
在平时的工作中,你需要放开眼界,持续提高并全面发展,甚至每一个成长的机会。举个栗子:
参加公司每一次对你有用的技术分享,从而学习到他人总结的知识。
尽可能多地参与公司的项目,从而达到量的改变,这样在领导眼里对于提升你来说就有更高更多的砝码,从小的方面来说你可以熟悉更多的业务,掌握更多的技能。
尽量去做框架和底层,杜绝一直以业务开发和上层开发为主。这样你才能在团队中脱颖而出,才能得到好的认可。
上面三点都是对内层面,相反多外层面来说,你需要时刻关注行业动态,若有更好的平台,更好的机会,不能抱着害怕甚至排斥的态度,应该勇于去挑战,去尝试。
上面的每一个做法,都有提高待遇的可能,待遇就是每一个细节的积累,最后沉淀出果实。你的综合能力提高了,薪资待遇也自然而然的提高。
4. 养成规划职业生涯意识,关注职业素养
程序员一定要养成职业规划意识,千万不能有我牛逼我就跳槽,不爽就跑路的思想,从我这几年的开发观察来看,除了学历的筛选,加上技术的参考,更多的公司慢慢考核候选人的稳定程度。
不跳槽不能说一定是敬业,跳槽也不能说这个人就一定不忠心,在同样的水平之下,企业更愿意找稳定的人,我也曾面过很多人,我也会衡量面试者的稳定程度,毕竟稳定程度也能反映出他处事的能力。
职业规划另一个含义是每一个阶段有一定的 level 提高,从初级、中级、高级,架构师、总监、CTO 都是一次飞跃,无论你是对内,还是对外,长时间无法提高,那么也该去关注职业规划了。
很多人不明白,在一家公司服务时间短,会认为不靠谱,服务时间长,但是没任何发展会被认为你不够聪明,无论哪一种,目标企业都不会喜欢。
5. 机遇和运气很重要
善于抓住机遇,有助于自己成功,上面第三点说的只是小的机会,机遇是一个大的质的改变,这个就靠自己的眼界,观察去发现了,大佬们无非就是加上自己的努力,长时间的积累,靠一个机遇稀里糊涂的成功了。
由于这个是非必须因素,这里我也不打算用过多篇幅去说明。只要你知道这个有这么个理就行了
⑨ 初级程序员怎么让自己快速进步
首先当然是要解放双手,如果整天只把时间浪费在敲代码还有改bug上,进步的空间会很慢。所以这时候可以借助一些实用工具∞比如SoFlu软件机器人去帮我们完成一些重复度高的工作,而且它本身有前后端开发+测试+运维能力,日常也能帮我们提升工作效率。
⑩ 如何从一个刚入行的程序员成长为架构师
认真写好自己的代码,然后有空的时候多读整个项目(包括其他人写的)的代码,尤其是核心代码,认真学习设计模式,并思考项目中的架构用到了哪些设计模式,能够带来哪些好处。
这方面经验积累多了,就有机会成为架构师。