一个JAVA程序员成长之路分享

我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉撒玩各种贷款信用卡 不为金钱过于发愁了。 我特别感谢当初贴吧遇见的那位大神, 虽然每个月也就聊那么几句, 但是他总能在我不知道该学啥, 该怎么走的时候, 给我方向, 毫不夸张的说,我现在的衣食无忧, 技术马马虎虎,

都是拜他所赐。 所以 我也想分享一些自己的成长过程 以及技术路线 希望一些迷茫的新人,或者想转行但是踌躇不前的老哥老弟们 能够得到一些建议吧

其实这行的工资待遇和前景,比起一些风吹日晒的苦逼行业 还是要好不少的, 很多人说程序员累, 加班 , 掉头发 但其实在生存压力面前 这都不算什么, 有哪一行是轻松的呢?起码程序员技术到位了,工资还是比较可观的。

那么 入门的新手 要达到一个什么水平才能找到工作养活自己呢?

首先 JAVA基础语法 集合类 线程 IO操作, 这些掌握了 基础算是过关了, IO操作有点麻烦 被搞晕没关系 知道什么时候用 用到了 再去搜索就行

其次 web部分 servlet jsp session cookie mysql数据库 都要知道怎么操作怎么用 前端页面的话 html不必太深 能看懂就行 js或者jquery会操作dom能够把后台数据放到合适的位置就可以 现在前段js技术五花八门 基本很少有项目让后台弄前端了 如果有并且很长时间了 你可以考虑跳槽了……

学到这个阶段,你需要知道一个请求从页面或者移动端发起之后 经历什么样的过程再返回去的 知道ajax是什么 会发起异步请求到后台 。

框架方面 别学struts hibernate了 很少有项目用了 学springmvc spring mybatis就可以 ,不必清楚实现原理 会搭框架 搞一个增删改查出来就行了

到这里,大约就是初级阶段了 你可以去找工作了,期望别太高,如果有人要你 工资大约是5到6k 如果是成都西安这些二线 还要低点。之所以说如果有人要,那是因为这两年行情不太好……这些基本技术需求已经没法找到一个比较靠谱的工作了。

这个初级阶段,其实是最苦逼学的东西最多的阶段,你没有太多的时间,顶着没有收入还要吃喝拉撒的压力,也许还有你父母家人 朋友的不理解和嘲笑,在他们眼里,你念书那么多年出来,却连个靠谱的工作也没有,还在穷折腾,……种种压力面前,你需要在四到五个月杀出一条血路证明自己的价值,怒怼所有嘲笑,将来工资傲世亲朋好友,让你的父母欣慰,让你能够挺起胸膛做人,铺垫好你后面二三十年的路,让你的父母老了能够老有所依。

如果你正好在培训机构学JAVA 看到我这些文字 希望你能坚持一下,拿出你的热血来 咬牙学它四个月,所有苦难的日子,在拿到高薪offer的那一刻都是值得的。

如果你看到以上 还是无动于衷,我只能说,别学了 该干嘛干嘛去吧……去享受青春吧 然后腐烂吧……啃老吧 … …随着年龄的增长 你会知道你当初多么的愚蠢不堪,你甚至有可能会丧失做人最基本的繁殖权利,因为没有女人会愿意和你在一起…即便是现在有图你帅气外表的 也会离你而去……因为你连稳定的生活也没法提供。我刚整理了一套2018最新的0基础入门和进阶教程,无私分享,加Java学习q-u-n :六七八,二四一,五六三 即可获取,内附:开发工具和安装包,以及系统学习路线图

扯远了,接下来继续说技术干货。

上面说 如果有人要你……这个可能要吓到很多新人了,我特么那么拼命的学出来,结果还是没人愿意要,怎么办??别担心 你只需要把下一阶段的技术,学一部分 伪装一下经验,就可以了。

初级阶段之后,你能够用tomcat和ssm框架弄一个简单的项目出来了, 这时候 你可以注意一下编码规范,变量命名用英文,状态变量用枚举 常量等 你这样做是最低成本的伪装经验,因为新人写的代码往往和狗啃的一样……不要在controller写逻辑 只接收检验数据 调用service和返回信息 不要把request传进service里 那样会破坏依赖分离的初衷,dao基本没啥说的 就是查数据 我见过无数新人写代码都是

service和dao就一个干巴巴的方法 逻辑全写在controller里……这种的不用看 都是菜鸟。

你会框架的CRUD之后 你可以看一下nginx 可以尝试做一个负载均衡玩一下,这个不需要你写代码 只需要配置下 但是能有效的提高简历质量,你还可以学习下MQ 就从activeMQ开始 尝试怎么用对接把任务异步出去, 你还可以试试redis 做个简单的数据缓存或者会话缓存,这时候你再去找工作就立马不一样了,学这三个可能也就用两三周不到,但是你的简历会体现出一个中级程序员的水平。

那说到中级技术水平 个人觉得应该掌握的技术有 负载均衡 apache http 或者nginx均可, 队列 ActiveMQ 就行(这个是java语言写的比较贴近java ),缓存 redis就行 memcache用的越来越少了感觉,还有精力的话,可以看一下mogoDB 做个简单的demo存个json进去玩一玩。 然后你的简历又丰富起来了………你工作里肯定用不到那么多,但是你就往你简历里写,糅合进你的项目里去,反正你知道什么场景用这些就行,问不出来的。

初级和中级界限很模糊的,只是一些中间件的使用而已。

如果你已经学到这个地步,那你要是再说找不到工作, 我是不信的 这时候你找工作 如果在北上广深 应该有机会破万了,至于具体拿多少,看你的表达忽悠能力了。

接下来就是比较高级的部分了,这个阶段 你大概又陷入苦学的阶段了………因为你不能只会用,你要知道原理,不至于让你自己实现一个出来,但是基本原理要知道。

到了这个阶段,你要懂得jvm基本结构,要知道垃圾回收机制,常用垃圾回收算法,jvm简单调优参数, 数据库也是个重头戏,你要知道mysql事务隔离机制的实现,怎么优化sql , 要知道springmvc流程 spring的原理 事务传播机制,mybatis流程原理, 乐观锁悲观锁什么情况用,你要学会考虑系统瓶颈,系统容灾,单点故障, 你要懂得一致性是怎么回事,cap理论 paxos算法 以及zookeeper干嘛用的,能解决什么问题?

你要懂得soa架构,dubbo , 微服务 spring boot spring cloud 这些高级框架 尝试用一用,谷歌,开源社区 将要取代百度成为你解决问题的主要动力和前进的方向, 你会有种一览众山小的感觉,你会觉得弄个百万并发的系统其实并不难,难的是后续问题,日志处理 运维问题, 关于运维我给不了太多建议,可以了解下 zabbix 之类的 可以去学习下 docker 微服务加docker将是未来的趋势。

学到这个地步,你大概已经不用担心工作问题,这种三五年经验的高级程序员需求永远很旺盛,注意 我说的是三五年学习实践经验,不是三五年一直crud经验。这个时候你如果在北上广,你的工资大概会接近20或者更多,成都西安这边大约15到20 你已经不用为钱太过于发愁了。但是请不要太安逸,因为上面说的那些也只是初窥门径而已。

到了这个地步,工资已经比较难以提高了,但是大部分程序员是走不到这一步的……因为他们眼里只有薪资,对程序没有一定的热爱,是很难坚持到这一步的。之所以说三十岁是程序员的分水岭,就是因为很多人在艰难的学习实践路上或是倒下了或是满足了…或是踏足管理 产品 等等岗位 这也是一种出路 只不过我这里讨论的是技术,我个人危机感比较强,技术抓在手里,永远后顾无忧…脱离了技术,你八成会被绑定在某个岗位或者公司上……跳槽?别人未必要你,凭啥你过去就是管理岗位?

又扯远了,到了这个阶段,你以为到头了?太年轻了……上面所说的高级阶段,只是构建一个比较大型比较稳定系统的必须而已,问题还是很多的,比如上面说的日志处理,如何利用庞大的日志产生商业价值?如今的淘宝 京东这种系统,你去买个鼠标 它就能给你推荐个键盘等周边外设, 那么它为啥不给你推荐个内衣内裤呢? 想明白这些,你需要进一步学习, 大数据要来了。

flume 日志处理 hadoop hive presto hdfs storm spark 大数据 流式计算 ,这些够你喝一壶的了,学到这个份上,也不需要别人指点你什么了,你能到达这个阶段本身已经证明了自己的学习和技术能力。到达这个阶段,你八成已经成为一个跨语言程序员了,因为处理数据,并不是java擅长的,你要非用java………那我只能说 人生苦短,何必折磨自己。 你应该已经学会了python scala

也可能有些R语言, 这时候你会发现,语言真的只是工具而已,学个语言很快的,来来回回就是那么些东西而已,思想最重要。

到了这个阶段 你会觉得技术不过如此,妈的学也学不到头,学来学去也都是跟着老外屁股后面用框架而已………恭喜你 你的无聊和孤独求败心态 将会成就你的下一个阶段……

下一个阶段 也是目前的终极演进状态了 那就是 机器学习 深度学习 神经网络 人工智能 楼主目前正在往这个阶段进军……因为真的有点无聊,又想提高水平 只好继续学了。

到了这个阶段,你会有很多挑战…

首先的挑战 来自于 数学…是的 你没听错 数学… 线性代数 概率统计 高等数学 …都是你面前的拦路虎,曾经觉得编程只要一加一等于二的美好时代一去不复返了……你想继续前进,请先去学线代 概率……不然寸步难行什么也看不懂…… 先从机器学习开始吧 这个是最简单的…但是光就基本的机器学习几个算法 看懂的人没几个……基本的k-means算法 decision tree 朴素贝叶斯 这三个 就需要线性代数 概率统计 以及信息熵相关知识。真的相当抽象……后面的深度学习

神经网络 楼主粗略看了下 没点数学功底 还是放弃吧,天书一样的……

到了这个阶段……全中国能帮你的人 也不好找了……开源社区能帮到你的也越来越少了…一切靠自己。到了这时候,你会发现,当初甚嚣尘上的 大学无用论,编程数学无用论 是多么的可笑, 代码是最没价值的,核心是数学理论……公司不敢开源不是因为代码值钱…是因为开源就没人敢用你们公司产品了 因为全是烂代码……

等你一窥终极阶段的门径的时候,你会发现 你危机感越发的强烈了…机器这么吊炸天,围棋都暴虐人类, 以后编程距离取代的日子也不远了………说实话 恐怕真的不远了……人类社会自从有了计算机,越来越发展的快, 人工智能将会在你我的有生之年发展壮大,近处说,你怎么保住饭碗,怎么提高待遇改善生活呢?……啥也不说了 学吧……

感谢大家能看完我这么长的分享,希望能够对大家有所帮助。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏顶级程序员

32岁入门晚不晚?来听听这位70后程序员的故事

源 / 简书 文 / 帅气小伙 大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是如何用行动教会我成为程序员的...

4905
来自专栏大数据钻研

一个32岁入门的70后程序员给我的启示

大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是如何用行动教会我成为程序员的。 岁月的锤炼 ? 圆口接口的键盘,200...

2959
来自专栏睿哥杂货铺

DevOps 漫谈:从作坊到工厂的寓言故事

谈到 DevOps 概念,有几本书是绕不过去的,《凤凰项目:一个IT运维的传奇故事》(The Phoenix Project:a Novel About IT,...

4298
来自专栏自动化测试实战

面试如何发挥才能拿到高于自己当前水平的工资?

大家好久不见啦~谢谢大家对船长的关注。最近船长认识了好多有着3-5年工作经验可是工资还没到15k的朋友。所以船长觉得有必要和大家说一下该如何面试,才能拿到高于自...

1223
来自专栏FreeBuf

一条防火墙招标参数引发的讨论

某天深夜1点多,某业界知名安全大厂的“防火墙产品吐槽群”里突然活跃起来…… 首先,该公司一位销售在公司群里发问,求助各位大神,有一家企业客户要招标买一台防火墙,...

3395
来自专栏北京马哥教育

关于压测的宏观个人总结

工作角色定位 首 先先从宏观角度来评估下本次的压测工作. 从工作职责上说本次压测理应由组内其它同学来完成,个人从旁协助或指导即可。团队成员的成长对我个人来说...

3417
来自专栏java一日一条

一个32岁入门的70后程序员给我的启示

大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是如何用行动教会我成为程序员的。

931
来自专栏Crossin的编程教室

【Python 第0课】Why Python?

为什么用Python作为编程入门语言? 原因很简单。 嗯。。。原因就是,很简单。。。 每种语言都会有它的支持者和反对者。去Google一下“why python...

3367
来自专栏程序员与猫

月末总结与推书

1213
来自专栏小程序制作

套路揭秘|微信小程序新骗局有哪些?被电话会议营销骗了该怎么办?

随着小程序越来越火,一帮骗子也盯上了开发小程序这个功能。近日,全国各地的老板们、经理们就纷纷接到电话,说是邀请他们参加“腾讯公司”的微信“小程序”推广发布会,听...

2.3K12

扫码关注云+社区

领取腾讯云代金券