webIM系列之番外篇一——从自身经历谈技术渣如何逆袭

176 阅读7分钟

最近有前同事跟我交流职场和技术的一些感悟,发现他正在经历的,也是我曾经经历过的,所以有感而发,聊一聊自己的经验。

​我是2012年毕业于一个二流本科学校,上大学那会儿,一定是受高中老师荼毒太深,觉得高中好好学习,大学就可以轻松了(虽然高中我也没怎么好好学习),所以大学里专业课也没怎么好好学,稀里糊涂的就来到了北京,踏进了银行科技圈,进入了一家外包公司。

在那个年代,页面是JSP、jQuery、Bootstrap,框架还有Struts、Hibernate,Spring的配置文件还是XML格式的,那时候Docker刚刚兴起,Nodejs被奉为牛逼高大上的黑科技,感觉那时互联网行业还没有这么火热,PC还在引领潮流,移动还未兴起,苹果还在iPhone 3GS的时代。

工作了三年之后,觉得自己的技术能力真的很菜,互联网开始用到的技术,自己基本没用过,心里很是着急,做项目经理,那时候我觉得是没有太大的前途的,只有做技术,做到高级开发、专家、架构师、CTO,才能走上人生巅峰,实现人生价值,这种想法,其实也挺幼稚的。

2012-2015年左右的银行科技系统,技术还不是很复杂,那时候已经火了的Redis,都没有用到,Docker就更不用说了。在认识到自己技术能力的不足之后,自己也是做了一些努力,网上找了很多资料,专门买了移动硬盘去存放网上下载的视频、电子书,满满当当的好几个TB,Nodejs,Docker,Redis,都在自己学习,说自己不努力吧,也不是,也挺努力的,但是不管是出去面试,还是工作中,总觉得水平还是不行,硬盘里的资料,收集完了就完了,学的新技术,工作中根本用不到,过两个月也就忘干净了,这让自己很受伤,觉得自己太弱了,可能根本就不适合走技术这条路。

2017年跳槽了,为啥会跳槽呢,因为有了孩子,想要给他一个稳定的家,顶着巨大的压力在北京买了房子,不跳槽,不涨薪,连房贷都要还不起了,那段时间,简直崩溃。

俗话说,有压力才有动力,虽然跳了槽,涨了点薪,压力还是巨大的,这时候,我想起了我高中同学曾经想找我一起做一个XX系统这件事,那应该是2015年的事情了,那时刚结婚,没买房,没生娃,无忧无虑,毫无压力,还有一方面也是认为自己能力不够,做不好项目,就拒绝了。马上联系了这个同学,问他这个项目还搞吗?他说搞啊,只要你来搞,我们就开始,我说那我们开始吧,缺钱缺疯了。

就这样,我从一个从来没有配置过Spring配置文件的渣渣,开始了一路打怪升级的路程。感谢2017年已经是一个开源时代,感谢这时候Struts已经死的差不多了,感谢尤雨溪大神已经把Vue写好了,感谢饿了么已经开源了ElementUI,感谢SpringBoot已经在中国人尽皆知,总之,你需要什么,就已经有人为你准备好什么的年代,实在是太好太好了。

从开始写第一行代码开始,几乎就是一步一个坎,这一路走过来,真的也挺不容易,幸亏自己是真的穷疯了,要不然也坚持不下来,从2017年开始,大概每年业余时间写代码的时间,都在1000小时左右,还要查阅各种资料,还要上各种自己花钱报的技术课,那一两年里,洗头洗澡的时间,都觉得好奢侈,那段时间,完全不修边幅,总是蓬头垢面。

真正自己从0到1做一个项目,才能让自己真的建立自己的知识体系,自己写的代码经过用户的检验,才能知道代码写的到底好不好,经过两个人两年的努力,系统终于做完了,运气也不错,有一个客户想要用我们的系统,结果系统刚上线就宕机,重启之后继续宕机...简直是噩梦般的折磨。

这个过程就是不断写代码,不断遇到知识盲区,不断去学习的过程,在这个过程中,我总结出自己的一些经验和教训,想跟大家分享一下,当然我的经验不一定适合所有人,更不适合互联网大神们,可能对一些跟我一样从外包做起的技术小白有些帮助。

  • 审视一下自己,Spring吃透了吗?这是一个Spring的时代,如果你连Spring都没有吃透,JDK源码都还没有搞清楚原理,Java这条路,你就还有很长的路要走,就不要走其他的弯路了,去学Go,学Python,学Scala,学Object-C,学nodejs,学什么都会是一样的,你的主语言都没有竞争力,还想着用附语言去拿到更具竞争力的offer吗?不要听那些Go语言、大数据、数据分析、AI弯道超车的神话,他们成功,也是付出了时间和努力换来的。

  • 时间!时间!时间!10000小时定理大家应该都听说过,只要一件事干10000小时,你就是专家。

  • 看别人的项目,看别人怎么写代码。

  • 知识深度与宽度同样重要,知识的宽度可以为你赢得很多对额外机会。

  • 阅读源码,所有遇到的问题,其实都可以从源码中找到答案,我想大家肯定都有这种体会,一个错误网上搜了好多解决方案,不知道到底哪个是对的,就算碰到一个对的,也不知道为什么,下次再遇到同样的问题,还是无从​下手。

  • 搜索用某歌,技术性的问题,还是​它更靠谱,没有某度那么多的广告。

  • 为知识付费,人都是有惰性的,免费的东西收集了一大堆,没有付出任何代价,总是能够给自己找到​不着急学的借口。

  • 多写,但不要写demo,没啥用,去写项目。

  • 从Windows换到Mac,从安卓换到苹果阵营,节约时间!!!曾经为了装一个Linux虚拟机,配置网络配置几天时间都搞不好,而初心只是为了学习一个Linux命令,或者安装一个中间件,等到​虚拟机配置好了之后,我已经忘记了我为什么要装一个虚拟机。用Mac,无时无刻都在一个类Linux环境下​开发。

  • 找一个大牛,学习他,如果没有,那就自己成为大牛吧。

希望我的一点经验,让与我同样经历迷茫的小伙伴,找到自己前进的道路。我也是从一个技术渣,一路磕磕绊绊走过来,稍稍积累了一些经验,大家从我身上,可以看到,没有什么技术天赋的人,也是可以走技术路的,只是或许要比有慧根的小伙伴,多付出点汗水,多付出点时间,耐得住寂寞就好。

阳光总在风雨后。