zz 勵志貼,成功是努力加对的方向
5-6年工作经验程序员初进大厂,如何适应工作?
李苦李
李苦李
华为 架构师
318 人赞同了该回答
泻药!
与题主背景非常相似。
本人毕业8年+,普通二本,学历不突出,非计算机专业。
唯一不同的是,我运气较好,刚毕业就进京东,算是你所说的大厂了。
经历虽不同,但刚进公司的感受还是比较相似的。
作为一个非计算机专业的二本毕业生,通过自学编程,有幸在毕业时拿到京东的offer,也算是祖坟冒青烟了。
但是运气毕竟≠实力,刚进公司时也是各种压力山大,各种不自信,毕竟你身边都是一些科班出身的985/211,甚至清华、北大毕业的高材生,在这些牲口们面前,想要心里一点想法都没有,还是比较困难的。
怀揣着一点点的自卑,加上不服输的性格,在刚毕业的两年时间里,开启了疯狂恶补的模式。
别人说,《代码大全》这本书不错,买。
别人说,程序员一定要懂算法,《算法导论》必备,买。
别人说,不懂《设计模式》的程序员不是合格的程序员,买。
在这种思想的指导下,短短的两年时间里,我还买了《软件架构设计》、《编程珠玑》、《数据库系统概论》、《浪潮之巅》、《深入理解计算机系统》、《鸟哥的Linux私房菜》、《Unix高级编程》等等经典书籍。
最重要的是,上面提到的所有书,除了《算法导论》实在是能力有限,啃不下来之外,其他的书最少都是三遍,第一遍黑色笔记,第二遍蓝色,第三遍红色,这也是自己给自己定下的硬性指标,经典书籍必须三遍以上。
偶尔翻开之前的笔记,看着自己曾经的付出,经常会把自己感动,感谢自己当年那么努力,成就了现在的自己。
——致自己
如果京东的两年是量的积累,那么后来在百度的三年多时间,则产生了质的飞跃。
如果说我的职业生涯是开挂的,第一个外挂则是刚毕业就幸运地进入了京东这个大平台,第二个外挂则是在百度遇见了久哥。
刚进百度,久哥是部门总架,那时候我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的工作方式,每天加班加到根本没时间思考,更别说规划自己的学习和成长了,我还是享受那种边工作边看着自己成长的过程。
zz 勵志貼,成功是努力加对的方向的更多相关文章
- ajax请求成功前,加载中loading显示
/*第一次刷新--非定时器刷新数据*/ var fistInitColumn = true; var getAllColumnDatas = function(){ var params = {}; ...
- idea通过maven打jar包不成功或无法加载主类或打成功也找不到jar包
这个问题纠结了我一天,在网上也搜了一些方法,现在把我自己的处理过程记录一下,以方便遇到此类问题的小伙伴参考: 第一步:查看idea的jdk版本与Windows安装的jdk是不是同一个版本,如下图 第二 ...
- easyui的datagrid用js插入数据等编辑功能的实现
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- MUI - 解决动态列表页图片懒加载再次加载不成功的bug
首先描述一下功能 实现列表页动态加载 通过官方提供的"下拉刷新和上拉刷新"及"图片懒加载"示例实现. http://www.cnblogs.com/philly ...
- 【转】有的共享软件赚了一百万美元,而为什么你没有?&&我的软件推广成功之路
有的共享软件赚了一百万美元,而为什么你没有? 转自:http://blog.csdn.net/wangjiwei2010/article/details/1267044 译:DreamGoal 原作: ...
- glide 加载圆角图片
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABEIAAAD3CAIAAACW6Gb7AAAgAElEQVR4nOy9e1QbZf74//zO4XvOYz
- vue+elementUI+axios实现的全局loading加载动画
在项目中,很多时候都需要loading加载动画来缓解用户的焦虑等待,比如说,我打开了一个页面,而这个页面有很多接口请求,但浏览器的请求并发数就那么几个,再加上如果网速不行的话,那么这时候,用户很可能就 ...
- vuex存取token,http简单封装、模拟登入权限校验操作、路由懒加载的几种方式、vue单页设置title
1.config index.js下面的跨域代理设置: proxyTable: { '/api': { target: 'http://xxxx', //要访问的后端接口 changeOrigin: ...
- Esay ui数据加载等待提示
以视频上传为例: //视频上传 function uploadVedio(fileName){ load();//开始加载时弹出加载层 $.post('< ...
随机推荐
- OCR6:Custom Traineddata
参考:https://groups.google.com/forum/#!msg/tesseract-ocr/MSYezIbckvs/kO1VoNKMDMQJ V4版本代码示例 : import py ...
- linux开发中常用的命令及技巧(连载)
1.在内核或uboot目录下搜索相关内容/文件名时:grep "USB" * -nR find -name "*USB*" 2.查看系统中设备 cat /pr ...
- python之栈与队列
这个在官网中list支持,有实现. 补充一下栈,队列的特性: 1.栈(stacks)是一种只能通过访问其一端来实现数据存储与检索的线性数据结构,具有后进先出(last in first out,LIF ...
- golang之类型零值初始化及比较
综述 变量声明时未赋初值,则变量被自动赋值为该类型的零值(固定值) func new(Type) *Type new()返回一个指针,指向新分配的该类型的零值,不是空指针(nil).the value ...
- Android Studio在代码重构中的妙用
代码重构几乎是每个程序员在软件开发中必须要不断去做的事情,以此来不断提高代码的质量.Android Stido(以下简称AS)以其强大的功能,成为当下Android开发工程师最受欢迎的开发工具,也是A ...
- Linux-导入已安装的Linux系统
之前在安装过一个Linux系统,由于重装电脑需要将之前安装的系统重新移动到VMWare中,让Linux系统能够重新运行起来,这样也省去了每次重新安装系统的麻烦. 废话不多说,咱们直接看是如何做? 1) ...
- 74HC595 8位移位寄存器的使用小结
请查看我的博客园文章,比较详细. https://www.cnblogs.com/CodeWorkerLiMing/p/11964258.html
- Async/await promise实现
An async function can contain an await expression that pauses the execution of the async function an ...
- isa objc_msgSend
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles ...
- Python高级函数--map/reduce
名字开头大写 后面小写:练习: def normalize(name): return name[0].upper() + name[1:].lower() L1 = ['adam', 'LISA', ...