普通二本毕业八年,京东就职两年、百度三年,分享大厂心得
前言
本人毕业 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 基本功才能让自己变为扫地神僧:
内存模型
并发模式
线程模型
锁细节
七:源码解析+虚拟化容器+项目掌控
正确的学习方向能让你的职业生涯少走很多弯路,理清自己的思路去学习可以事半功倍!
在这我个人收集提供一些学习资料供大家免费领取,其中包括有初级到架构的视频、电子书籍文档资料、大厂(阿里、美团)面试文档资料。
欢迎大家扫码来关注公众号博主,获取文章全部资料,此公众号会持续更新技术干货、不定期分享 Java 进阶面试宝典、Java 核心知识、架构书籍电子版
评论