我想说的是,优先做一个熟练的码农比什么都强。不要以为熟练的码农是最低要求,事实上绝大部分人在头两年甚至头三年都称不上一个熟练的码农。
比如,产品要做一个“朋友圈”,每个人可以在广场关注别人,关注后能在“我的关注”看到他的动态,还能进入他的个人中心查看他的全部动态,你如何设计呢?
再来一个:组队参赛,可以一人成团,也可以多人组团,成绩以团队最高分为准,每日更新排行榜,期间涉及到队长邀请组团、队员邀请入团、队长踢人等请求,你又如何设计?
又比如早起打卡的功能,分为初级场(1天)、中级场(连续3天)、高级场(连续7天),然后打卡完成发放奖励。这种打卡需求相信大家都玩过或听过,给你做你会怎么设计呢?
上面的需求没有一个是需要用到SpringCloud、Dubbo或者Netty的,因为它们都是设计层面的,用什么框架不重要,甚至什么语言都无所谓。关键是设计,也就是把产品语言转为编程语言的能力。
如果你平时一味追求技术,而忽略了设计,那么你其实就和“传武老师傅”一样,空有理论,活在“一拳打死泰森”的梦里。
所以我个人的建议是,不要花费过多时间去担忧自己会不会SpringCloud、Dubbo(甚至很多人担忧自己不会搭建一个SSM项目),这些玩意会用就行,面试准备下即可。你这个阶段其实应该尽可能多地了解需求设计,抽取通用的模型。如果你把心思都花在源码和微服务框架本身,我只能说培训机构和公众号要负一定责任...
你自己要清醒,知道自己哪方面薄弱,如何提高。
设计分为两方面:
项目通用的编码结构
统一结果封装
异常处理
参数校验
缓存
枚举的应用
StreamAPI
...
项目设计
树形结构
主表+记录表
一对多
定时任务
...
非要学技术的话,个人觉得MySQL优化+Redis的实用性&;&;SpringCloud、Dubbo、Netty啥的。建议优先学好MySQL和Redis。
当然,如果你要面试则另当别论。
该回答转载自乐字节
刚回答另一个问题《java程序员是吃青春饭吗?》,我认为这两个问题非常像,但是这个问题的作者已经意识到问题,在寻找突破之道,非常好。我的建议是:
1、加强自身的主动学习,包括技术性的和非技术性的,强化自身的能力,建议制定明确的学习目标和计划。技术性的所有可能需要的技术,非技术性的比如管理能力、沟通协作能力等等。争取在需要一碗水的时候,自己已经有一桶水了,这样在出现问题时,才能轻松应对,从善如流。
2、提升认知,锻炼解决问题的能力,特别是运用自身技术特长来解决问题的能力。企业内部的程序员和服务企业的程序员,应多考虑如何提升企业的业务运作能力,降本增效增收。
3、广泛交际,注重交流,多想想若干年后自己希望的工作生活状态,找到不足的地方,少了哪些能力,缺了哪类互补的朋友。
1看公司有没有能提高自己技能的机会,比如,做产品研发一般比做交付项目锻炼人,做高可用高并发项目比一般项目锻炼人。
2有了项目还得看有没有好的技术leader带,有人带,照着学或者指点一下顶上自己摸索半天。
3多看书,技术博客和公众号之类的文章,哪怕自己不懂,一定要看,先有个概念意识和印象。
4多练,写代码就是练口才,写得多,自然说的顺。
5多思考多总结,学而不思则罔,吾日三省吾身。
6保持学习,java深似海,东西很多,一定要有保持学习的初心。
非常荣幸能和大家分享我对这个话题的看法,做为一个以技术出身,又带领过团队并肩作战的自己,我觉得自己比较有发言权,特别是结合自身的心得体会,还有身边同事的经历,我来给码农们一个分析和建议。
1.认清自己
首先,你需要认清自己。成为一名码农的动机是什么?是养家糊口的需要迫使我们成为码农?还是自己的兴趣爱好驱使我们成为一名码农?这都会决定你未来在码农的道路上能走多远。主动和被动在很多事情上会有截然不同的的结果。
倘若是兴趣爱好驱动,自然不用多说,你会很自觉的利用各种碎片的时间来为自己的技术栈充电,不断认识和发现在技术道路上如何为自己规划。这时,你只需要给自己规划一幅技术路线图,按照路线一个个实现它,你就会有所成就感,而日积月累的知识,正是你技术提高的源泉,这样,依照你的兴趣方向规划,成为一名技术大牛或资深架构师,那都不是什么难事。
如若编程只是你谋生的工具,不可否认的,这个主动性就差上好多,但是也不能绝对地说就没有未来了。不是的,我们同样需要规划自己的职业路线,绝对不可以推一步走一步。时间如梭岁月如歌,在公司可以一套框架走天下,但是技术的发展、竞争的环境无时无刻不在发生着变化,我们要对技术时刻保持敏锐的嗅觉,及时用最新的技术装备武装自己,让自己变得战无不胜的样子。特别的,一定要结合业务去并行发展,我们可能很快发现,我们的技术栈不是什么壁垒,而更为牛x的是你所拥有的行业经验,这个是不可替代的,是绝对优势。
2.说说转管理
码农都会有的一个方向即是转向管理岗位,这个选择方向请一定慎重考虑。为什么呢?码农们整天管理的是计算机和代码,这个比较容易,有现成的管理工具,对码农们来说不是什么难事。但是上升到项目经理等职位,你发现和你的计算机和代码们要告别了,面对的是一个个有思想有感情的人,这时你的情商够不够强大,沟通、协调能力等等都需要武装你自己,你会发现这个不是学学理论知识、按部就班的执行就能搞定的了,管理确实需要技巧,是一门学问。能不能突破自己的性格,勇于放下debug,大胆去面对你的Team、你的客户、你的领导……,也请先给自己一个转管理的规划和预期。
3.励志前行
我们说码农的生命线很短,这话不假,很多企业的招聘要求证实了这一点。我们如何在这有限的时间里建立起自己的职业壁垒和优势?要想做到这一点,必须要想办法做到与众不同,要做到与众不同,你就要做得更多!付出的更多!
持续学习,提高竞争力。
可以参加相关的培训课程提升自己,
最简单多做项目,不断学习市场上需要的新知识。
其次在整个自己人生规划上做一个完整的职业规划。
多做项目
深入学习Java方面的内容,了解过“如鹏网”的Java提高课程,可以参考一下,内容包括:分布式、设计模式、前端技术、网络支付、全文搜索引擎、Docker、WebService等。Java提高详细的知识点和学习路线,可以作为参考。
如果已经是程序员了,保证每天看半小时专业书或者听半小时专业课,这样每两年就能上一个台阶
多干没干过的项目
Java开发如何提升自己?
作为Java程序员我们时刻提醒自己提升技能,同时想要拿高工资也需要不断的提升自己的技能,那么我们怎么提升自己的技能呢?说一说我的看法。
1、利用业余时间学习新的技术
开发行业技术更新换代的比较快,你前几年用到的技术很快就会被新的更好的技术给替代掉,所以如果你不学习就会被会这个技术的人顶替掉,而利用业余时间去学习是最好的选择。
同学们可以看一看程序猿的贴吧,CSDN等等技术论坛,看看大家有没有分享什么新的技术心得等等,一些技术教程也能够在网络上找得到。
2、扩展学习方向
Java程序员可以发展的方向有很多,前端、后端、运维、算法等等,如果你感觉在这个行业已经遇到瓶颈的话,可以考虑一下换一个方向试试,虽然重新学习的成本较高,但你已经有Java基础,学起来相对会更容易一些。
这个方面各种相关教程也有很多,同学们不需要担心找不到教程的问题。
3、添加一些技术交流群
多加一些技术交流群是一个不错的选择,平时可以在里面看一下其他开发者都在关注哪些东西,自己遇到解决不了的问题也可以找他们帮帮忙,哪里有大咖分享会也会在群里通知,对提升技术能力还是很有帮助的。
其实想要提升技能的策略和方法有很多种,我们也可以在找一些Java教程也可是获得知识的途径,只要有想学习的毅力必定会成功的。
无他,惟手熟尔
小时候都读过《卖油翁》,里面有人问他为什么能做到技术这么好,卖油翁笑说:我亦无他,惟手熟尔。要想技术好,没什么捷径好走,最好的办法就是勤学苦练,只有这样,把基础打牢固了,以后自然会大展光芒。多找点项目来训练自己,多做点项目,这样自然经验就涨起来了。
养成好的编程习惯
每个人写代码的习惯都不一样,所以你必须总结出最适合的编程习惯,确保自己写出来的代码是逻辑清晰,易于阅读的。很多人写的代码结构比较乱,阅读起来也费劲,所以必须改掉这样的坏习惯,这个需要自己慢慢去养成。
网上的资源就是你最大的资源
多加入一些Java群,里面肯定会有大牛在的,找大牛学习,这样你的编程水平才能提高,不然自己摸索,那是需要很多成本,而且未必有人家的好,要想成为高手,就必须找厉害的人学习,看看人家是如何写代码的。
1.沟通能力,程序员有时会和客户交流需求的,特别是后期做出来的东西客户想修改需求,这个真的需要一个沟通能力好的人来说,不然说错话不仅得罪客户而且还得辛苦改代码
2.经验,程序员需要积攒经验,拥有一个属于自己的代码,不管做什么项目都可以用到,这个是有经验的老程序员可以做到的。
3.学习,程序员,不关你是后台的还是前端的,能够有机会都要相互学习,这样在做项目的时候前端知识后台知识都懂,解决问题也会方面的,不用一直劳烦被人来帮你吧。
1、明确自己的发展方向,如果想安逸,就专主技术研究,领导给任务。上网找资料解决。
2、如果想做架构师,就得把控公司业务需求目前使用到的技术,可能不久落后;研究当下流行技术,结合现有的业务进行改造;只要方案合理,领导采纳,离架构师就近了。
3、多看、多研究、多尝试、多沟通。
看书看书看书,写代码写代码写代码,思考思考思考,重要的事情说三遍!
最简单提升办法就是敲代码,只有不停的敲不停写才会提升自己,当然这些提升只是最基础提升除此外还要多读相关专业书籍,多看下扩展的视频资料比如现在脚火的前端和大数据还有智能等方面学习不能只做单纯的码农,要做就要做马总,如果一直做码农按班就部生活不仅会真正成为码奴还会被现在行业高速前进给抛弃,所以我们要抓住一切机会学习多写多练,还要学习思考整个项目架构如果是你如和处理设计成为创作者。
java程序员想要提升自己的开发技术水平,不妨来看一下尚硅谷的java开发教程,有比较系统的课程大纲供小伙伴学习参考。不过小伙伴在提升自身开发技术水平的过程中,有效率比较低的方法和效率比较高的方法之分,下面我们来简单的分析一下。
1.低效的方法
所谓的低效的方法就是直接学,比如在网上找到一些相关的java开发资料或java视频进行学习。这样虽然能学懂一些相关java开发技术的实例和开发技术知识,但由于没有更多的项目实践机会,因此所学习的技术与实战无法相结合,最终只是纸上谈兵。
2.比较高效的方法
高效的方法就是先积累能帮助你获得到高薪工作机会的面试经验。比如高级开发升级到架构师所需要掌握分布式技术,那么高效的提升步骤是,先学这些技术的api,同时准备如何在面试中用到分布式组件解决实际问题的说辞,这样由于能在面试中结合项目说技术,所以能过面试,从而能得到更高级技能的项目实践机会。有了实践机会,再提升技术就易如反掌了。
不过,对于零基础学习java开发技术知识的小伙伴,想要通过学习java开发技术知识来入行IT行业或科班出身的java程序员想要提升自己的开发技术水平,比较快的方式则是选择一家比较靠谱的java培训机构进行系统的进阶学习。
随着java开发技术的不断更新,市面上相关的java培训机构也越来越多,小伙伴应该怎么来选择适合自己的java培训班呢?
1.行业口碑是小伙伴衡量java培训机构靠谱与否的标准之一,小伙伴在考察了解行业口碑的过程中,不要只在网上了解,网上的评价可信度并不是很高,因此需要小伙伴通过实地考察了解培训机构的行业口碑,两者相结合来综合考虑机构的行业口碑情况。
2.小伙伴在考察了解java培训机构课程内容的过程中,需要注意的是靠谱的培训机构课程内容是符合企业的发展需求,这还得需要小伙伴要了解企业对java开发技术的要求是什么,才能断定java培训机构的课程内容是否是比较新颖的。
3.培训老师是否有丰富的项目开发实战经验和教学经验,是彰显java培训机构师资力量强弱的有力依据,因此,小伙伴还需要在实地考察过程中,来充分了解培训机构老师的教学水平。
还有就是小伙伴想要更快地提高java开发技术水平,还需要不断的来练习相关的开发实战案例,积累更多的开发实战经验,同时,还需要不断的去反思与总结,让自己的不断的提高岗位竞争力。
java开发技术学习教程及学习路线
静下心来,找到自己的目标。首先,对基础还不是很熟练的,就找相关的书籍或者视频,从头到尾看一遍。如果能力感觉比较强了,找一下相关开源项目系统的一整套代码,多花点时间,慢慢地渗透别人的设计以及设计思想,这会快速地提高你与别人规范的编程能力。对JAVA设计模式要仔细地研究,加以熟练,因为很多设计程序都基于JAVA的二十多种设计模式,这有利于快速提高你的编程能力。多做一些项目,熟悉代码的使用,和解决程序问题的能力。单单看书学习是没用的,主要还是实际操作。比较可以自己尝试写一些简单的应用系统,了解现在常用的框架,前端技术,extjs、jquery等技术都有帮助。
参考:《少走弯路,给Java1~5年程序员的建议》
i6569818030803517955/