一个十年Java架构师的成长之路分享
前言
我搞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的那一刻都是值得的。
如果你看到以上 还是无动于衷,我只能说,别学了 该干嘛干嘛去吧……去享受青春吧 然后腐烂吧……啃老吧 … 不用我骂你废物了 自然有人骂……随着年龄的增长 你会知道你当初多么的愚蠢不堪,你甚至有可能会丧失做人最基本的繁殖权利,因为没有女人会愿意和你在一起…即便是现在有图你帅气外表的 也会离你而去……因为你连稳定的生活也没法提供。
这些话说的极端了点…天下行业多得是,但我就事论事,你已经进了培训机构,八成说明你真的是找不到什么出路了……真的……希望能够骂醒一些迷途少年吧。
扯远了,接下来继续说技术干货。
上面说 如果有人要你……这个可能要吓到很多新人了,我特么那么拼命的学出来,结果还是没人愿意要,怎么办??别担心 你只需要把下一阶段的技术,学一部分 伪装一下经验,就可以了。
Java中级阶段
初级阶段之后,你能够用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进去玩一玩。 然后你的简历又丰富起来了………你工作里肯定用不到那么多,但是你就往你简历里写,糅合进你的项目里去,反正你知道什么场景用这些就行,问不出来的。 初级和中级界限很模糊的,只是一些中间件的使用而已。
如果你已经学到这个地步,那你要是再说找不到工作, 我是不信的 这时候你找工作 如果在北上广深 应该有机会破万了,至于具体拿多少,看你的表达忽悠能力了。
接下来就是比较高级的部分了,这个阶段 你大概又陷入苦学的阶段了………因为你不能只会用,你要知道原理,不至于让你自己实现一个出来,但是基本原理要知道。
Java高级阶段
接下来就是比较高级的部分了,这个阶段 你大概又陷入苦学的阶段了,因为你不能只会用,你要知道原理,不至于让你自己实现一个出来,但是基本原理要知道。
到了这个阶段,你要懂得
- jvm基本结构
- 要知道垃圾回收机制
- 常用垃圾回收算法
- jvm简单调优参数
- 数据库也是个重头戏
- 你要知道mysql事务隔离机制的实现
- 怎么优化sql
- 要知道springmvc流程 spring的原理 事务传播机制
- mybatis流程原理
- 乐观锁悲观锁什么情况用
- 你要学会考虑系统瓶颈,系统容灾,单点故障
- 你要懂得一致性是怎么回事
- cap理论 paxos算法
- zookeeper干嘛用的,能解决什么问题?
- 你要懂得soa架构,dubbo , 微服务 spring boot spring cloud 这些高级框架 尝试用一用
谷歌,开源社区 将要取代百度成为你解决问题的主要动力和前进的方向, 你会有种一览众山小的感觉,你会觉得弄个百万并发的系统其实并不难,难的是后续问题,日志处理 运维问题, 关于运维我给不了太多建议,可以了解下 zabbix 之类的 可以去学习下 docker 微服务加docker将是未来的趋势。
学到这个地步,你大概已经不用担心工作问题,这种三五年经验的高级程序员需求永远很旺盛,注意 我说的是三五年学习实践经验,不是三五年一直crud经验。这个时候你如果在北上广,你的工资大概会接近20或者更多,成都西安这边大约15到20 你已经不用为钱太过于发愁了。但是请不要太安逸,因为上面说的那些也只是初窥门径而已。
到了这个地步,工资已经比较难以提高了,但是大部分程序员是走不到这一步的。因为他们眼里只有薪资,对程序没有一定的热爱,是很难坚持到这一步的。之所以说三十岁是程序员的分水岭,就是因为很多人在艰难的学习实践路上或是倒下了或是满足了…或是踏足管理 产品 等等岗位 这也是一种出路 只不过我这里讨论的是技术,我个人危机感比较强,技术抓在手里,永远后顾无忧,脱离了技术,你八成会被绑定在某个岗位或者公司上……跳槽?别人未必要你,凭啥你过去就是管理岗位?
Java进阶架构师阶段
又扯远了,到了这个阶段,你以为到头了?太年轻了……上面所说的高级阶段,只是构建一个比较大型比较稳定系统的必须而已,问题还是很多的,比如上面说的日志处理,如何利用庞大的日志产生商业价值?如今的淘宝 京东这种系统,你去买个鼠标 它就能给你推荐个键盘等周边外设, 那么它为啥不给你推荐个内衣内裤呢? 想明白这些,你需要进一步学习, 大数据要来了。
flume 日志处理 hadoop hive presto hdfs storm spark 大数据 流式计算,这些够你喝一壶的了,学到这个份上,也不需要别人指点你什么了,你能到达这个阶段本身已经证明了自己的学习和技术能力。到达这个阶段,你八成已经成为一个跨语言程序员了,因为处理数据,并不是java擅长的,你要非用java………那我只能说 人生苦短,何必折磨自己。 你应该已经学会了python scala 也可能有些R语言, 这时候你会发现,语言真的只是工具而已,学个语言很快的,来来回回就是那么些东西而已,思想最重要。
到了这个阶段 你会觉得技术不过如此,妈的学也学不到头,学来学去也都是跟着老外屁股后面用框架而已,恭喜你 你的无聊和孤独求败心态 将会成就你的下一个阶段!
Java架构师阶段
如何成为这一阶段,那么我们还得回到上一阶段,Java进阶架构师阶段了,今天我在这里也是给大家分享一份我自己整理的Java架构师进阶的指南吧,这份指南对于我之前也是有很大的帮助,分享出来,也是希望能够帮助正在从事Java工作的你
Java架构师进阶学习指南
如果你是Java程序员,对于上诉所说的技术提升很感兴趣,加入楼主的java架构学习交流群:867923845点击立即加入就能免费获取笔者整理的适合1~5年的Java工程师学习参考的资源啦。还有大量面试题以及解析。欢迎各位工程师加入,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
Java面试题
一个十年Java架构师的成长之路分享相关推荐
- 一个十年JAVA老程序员成长之路分享
我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉 ...
- 架构 php_十年PHP架构师的成长之路,程序员必备
不知不觉自己做开发已经十年了,这十年中我获得了技术能力.CTO.大公司的经历.但再仔细一想,这十年中我至少浪费了五年时间走了很多弯路,这五年可以足够让自己成长为一个优秀的程序员,我用这五年时间和很多程 ...
- [架构之路-4]:架构师 - 架构师的四大架构价值等级与架构师全面成长之路
目录 第1章 架构师的四大架构价值等级 第一等级L1: 一知半解型(入门架构师)-- 辅助价值 第二等级L2: 拆解还原型(初级架构师)-- 表层价值.协调价值 第三等级L3: 革新型(中级架构师)- ...
- 十年Java架构师分享
1.源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美.提高核心竞争力. 帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华.知其然,并知其所以然.把知识变成自 ...
- 一个合格的JAVA架构师需要了解哪些知识?java架构师面试题又会有些什么?
原文 http://www.chinastor.org/gdcc/9259.html 在网上找了一个牛人给出的题目 牛人出的面试题如下: 1. struts,spring,hibernate 这样的 ...
- 阿里P7架构师的成长之路
前言 系统架构师是近几年来在国内外迅速成长并发展良好的一个职位,它的重要性及给互联网行业所带来的影响是不言而喻的.很多程序员把成为一名优秀的架构师作为自己职业生涯奋斗的目标,但很多人努力却用不对地方, ...
- Netstars CTO陈斌:架构师的成长之路
中生代技术 链接技术大咖,分享技术干货 接力技术,链接价值 架构与架构师 Architect,即架构一词可以溯源到希腊语ἀρχιτέκτων , 指的是建筑的规划,设计和建造过程和结果.现在也用于指系 ...
- 阿里P6架构师的成长之路,我只用了5个月.....
有人说JAVA工资高.待遇好这事是一个谣言,其实这并不是谣言,事实就是如此! 令我惊讶的是,相比于Python.C++这类语言,有些人觉得编程是一件很枯燥的事情,只把他当做工作.但是你却不得不接受它. ...
- 十年java架构师分享:我是这样手写Spring的
人见人爱的 Spring 已然不仅仅只是一个框架了.如今,Spring 已然成为了一个生态.但深入了解 Spring 的却寥寥无几.这里,我带大家一起来看看,我是如何手写 Spring 的.我将结合对 ...
最新文章
- 【1】用命令行搭建Vue项目
- 学会在Unity中创建一个Match-3益智游戏 Learn To Create a Match-3 Puzzle Game in Unity
- 什么是JAVA语言为什么要学习JAVA
- Python编程基础:第三十四节 文件移动Move a File
- 路由器NAT负载均衡实验过程详解
- 2021美赛成绩查询证书下载
- 台式计算机没有usb3.0,新装的win7没有usb驱动完美解决方法(支持usb3.0/usb3.1)
- matlab极坐标图刻度,[转载]如何在Matlab极坐标polar绘图上增加刻度单位
- dtu MySQL_DTU-DATACENTER
- Android实现Twitter登录分享
- python简单爬虫程序分析_Python简单爬虫
- Linux root密码重置
- 用HTML+CSS做一个简单好看的环保网页
- 圣科车衣,给予您的爱车完美守护
- nginx 的配置介绍:http块
- 他用一生换一个资本帝国
- 电脑桌面突然变成粉色或者紫色怎么回事?
- 【论文翻译】Fully Convolutional Networks for Semantic Segmentation_2
- 毕设-基于人脸识别的教室点名系统(一)
- PPT到底用多大字号合适