前言
本人毕业8年+,普通二本,学历不突出,非计算机专业。
但是我运气较好,刚毕业就进京东,大厂,作为一个非计算机专业的二本毕业生,通过自学编程,有幸在毕业时拿到京东的offer,也算是祖坟冒青烟了。
但是运气毕竟≠实力,刚进公司时也是各种压力山大,各种不自信,毕竟你身边都是一些科班出身的985/211,甚至清华、北大毕业的高材生,在这些牲口们面前,想要心里一点想法都没有,还是比较困难的。
疯狂自我提升
怀揣着一点点的自卑,加上不服输的性格,在刚毕业的两年时间里,开启了疯狂恶补的模式。
别人说,《代码大全》这本书不错,买。
别人说,程序员一定要懂算法,《算法导论》必备,买。
别人说,不懂《设计模式》的程序员不是合格的程序员,买。
在这种思想的指导下,短短的两年时间里,我还买了《软件架构设计》、《编程珠玑》、《数据库系统概论》、《深入理解Java虚拟机》、《深入理解计算机系统》、《Java编程思想》、《图解数据结构》等等经典书籍。
最重要的是,上面提到的所有书,除了《算法导论》实在是能力有限,啃不下来之外,其他的书最少都是三遍,第一遍黑色笔记,第二遍蓝色,第三遍红色,这也是自己给自己定下的硬性指标,经典书籍必须三遍以上。
偶尔翻开之前的笔记,看着自己曾经的付出,经常会把自己感动,感谢自己当年那么努力,成就了现在的自己。
入职百度
如果京东的两年是量的积累,那么后来在百度的三年多时间,则产生了质的飞跃。
如果说我的职业生涯是开挂的,第一个外挂则是刚毕业就幸运地进入了京东这个大平台,第二个外挂则是在百度遇见了久哥。
刚进百度,久哥是部门总架,那时候我T4,他T9,而且他仅仅比我大5岁,也就是说他刚30出头就到T9的level,简直神一般的存在。
因为工作的关系,有幸能跟久哥经常交流,也承蒙他看得起,在一次聊天的时候,他跟我说了这样一番话,就是因为这番话,改变了我的职业生涯。
他问,“如果让你用5年的时间学习数据库,你能不能成为这个领域的专家?”我说,“应该可以吧”他说,“你现在25,5年后也才30,30岁就能成为某个领域的专家,为什么不去做呢?你看看周围有多少30岁的人还一事无成,而那个时候的你已经是数据库的专家了。”
什么是高手?
这就是高手。
三言两语就让我醍醐灌顶,而那个时候也正是我迷茫的时候,毕业两年,已经失去刚毕业时的激情,感觉自己有点小小的成绩,也进了大部分程序员梦寐以求的BAT,再加上外界各种新鲜技术的诱惑,今天想学大数据,明天想学人工智能,后天又想研究云计算,总之是各种浮躁。
听了这番话后,我开始认真的规划自己的技术成长路线,不再是零零散散的看东看西了,开始以“年”为时间单位来规划自己的学习,而我定的第一个学习方向就是MySQL数据库(之所以定这个也是因为当时的项目需要,久哥跟我说让我研究数据库,也是想让我做这块的项目Owner)。
至此,我开始了自己的第二次疯狂模式。
从一本《高性能MySQL》开始,一个知识点一个知识点的攻克,每天除了完成日常工作之外,就是各种mock数据,性能调优,阅读源码,撸官方文档等等。。
原计划用两年的时间踏踏实实学习MySQL,当初定计划的时候还怕自己过于激进,毕竟我是冲着专家的目标去的,但真正学起来,反倒比预想的快,毕竟当你把所有精力放在一个方向时,效果总是能出人意料的好。
一年多学下来,虽然不敢说是这个领域的专家,但是在部门内部显然已经成长起来了,而且在学习的过程中,还结合当时的项目把百度电商的整个数据底层重构了一遍,数据实体重新划分,数据表重新做水平、垂直划分等。。
虽然百度电商在外面的知名度并不太高,但毕竟背靠百度的流量平台,每天也有数百万的PV,偶尔有营销活动的时候,PV能达到千万级别,经过重构后的系统,在不增加硬件的基础之上,整个系统的负载降低了40%多,这对于一个大型系统来说这都是实实在在的成本。
鉴于上面的项目成果,入职两年的时间,在这一个项目上,我就由原来的T4升级为T6,除了给我带来实实在在的收益之外,更重要的是让我掌握了技术学习的方法,尝到了甜头。
后来由于业务调整,我跟久哥又到MSG(百度移动服务事业群组),如法炮制,在继续深钻数据库的技术之上,又研究Redis、Memcache等非关系型数据库,短短一年再升一级,完成了我在百度三年时间连升三级的壮举。
我总共在百度待了有三年半的时间,从T4升到T7,感谢在百度遇到给我指明方向的人,除了久哥还有很多大咖,他们的思维方式,以及对技术的执著和追求,都能让我受益终身。
工作8年多,成长最快的就是在百度的时期,遇到对的领路人,找到了正确的学习方式,因为那时的成长,以至于我完全不能适应现在HW的工作方式,每天加班加到根本没时间思考,更别说规划自己的学习和成长了,我还是享受那种边工作边看着自己成长的过程。
所以找到正确的方法,让自己强大起来。
学习技术,一定要以1年,甚至5年来规划自己的学习,只有这样你才能戒骄戒躁、快速成长,技术有了,还怕自己不够自信?
正确学习方向、学习思维导图推荐
从零开始学架构由JavaSE演变(看不清楚没关系,关注我私信回复关键字【架构资料】获取高清无码导图)
一:常见模式与工具
学习Java技术体系,设计模式,流行的框架与组件
——常见的设计模式,编码必备,Spring5,做应用必不可少的最新框架,MyBatis,玩数据库必不可少的组件......
二:工程化与工具
工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:
Maven,项目管理
Jenkins,持续集成
Sonar,代码质量管理
Git,版本管理
三:分布式架构
高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:
分布式架构原理
分布式架构策略
分布式中间件
分布式架构实战
四:微服务架构
业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?
微服务框架
Spring Cloud
Docker与虚拟化
微服务架构
五:性能优化
任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:
性能指标体系
JVM调优
Web调优
DB调优
六:底层知识
从架构设计,到应用层调优,再深入了解底层原理,扎实的Java基本功才能让自己变为扫地神僧:
内存模型
并发模式
线程模型
锁细节
七:源码解析+虚拟化容器+项目掌控
正确的学习方向能让你的职业生涯少走很多弯路,理清自己的思路去学习可以事半功倍!
在这我个人收集提供一些学习资料供大家免费领取,其中包括有初级到架构的视频、电子书籍文档资料、大厂(阿里、美团)面试文档资料。
如何领取:关注+转发+转发后私信我【架构资料】即可免费领取
网友评论