我曾经有一个梦想是要成为一名全栈开发工程师,由于我认为一个程序员无所不精无所不能是一件很牛逼的事情。程序员
同时当一个程序员无所不精的时候,不只仅本身能够开一家公司本身接活干,同时即使不办一家公司,在一家公司好歹能够吃香的喝辣的。web
抱着这个理想目标,因而在那段时间我时而学Docker,时而学Nginx,时而学SpringBoot,时而学分布式,时而学Node.js,时而学Vue.js等等,总而言之运维、测试、先后端等能学的都学了。可是学完后来,留下的仅仅只是HelloWorld。其余有深度的少之又少。算法
以前那段时间我看书的速度很是快,几乎是两周三周一本书,技术方面的居多,可是呢?看了太多了,留下的太少。感受出来知道哪项技术的名字和简单的Example以外,其余都没有了。编程
假设我将快速遍读群书的时间用来专攻一本或者两本书,那么我相信这一本或者两本书我已经足够吃透了。就算不足够吃透的话,半透应该没问题吧。后端
在知乎上我也搜索过很多关于如何成为一名全栈开发工程师,可是最终我只能一个这样的结论,那就是一专多能。因此我决定了接下来我所要作的就是一专。数据结构
曾经时常逛逛拉勾,不为跳槽,只为看看如今有哪些技术比较主流,而后就去学,记得当初学的时候,我那个时候学习是这样的,百度搜索找到对应的Demo,而后将人家的例子练习一遍,发现能够运行,十分高兴,而后就无论了,我就认为这项技术我已经懂了。固然了,若是遇到一些问题,我会先找找怎么解决这个问题,可是通常状况下是百度搜索出来的几乎质量不是过高。框架
以致于不少Demo跑起来了,一旦测试这里报错那里报错我就不想试了,一每天这样,最后发现技术广度虽然增长了点,可是这个增长的点彷佛毫无心义,就像我前面说的那样仅仅只是知道名字或者是写简单Demo,对于其余的,好比技术的优缺点,应用场景等等一无所知。运维
我以前觉得在小公司里面作先后端加运维和测试,就算是全栈了,可是后来我发现,这并非我想要的全栈。由于这样一来我除了会用以外,彷佛什么都不懂了,特别是有些时候出现问题时,我都忽略了日志的做用,不先查看日志直接找到对应的信息直接百度。变的慢慢缺少思考了。变的像真正的码农了。这不是我想要的样子。编程语言
以前我在一篇文章中说过,我不喜欢别人叫我码农,由于码农在我看来是将脑力劳动变为体力劳动。有的时候我再想我写的代码到底有什么用呢?仅仅只是复制粘贴吗?分布式
不,代码应该表现的是个人思想,个人严谨思想,个人一丝不苟。因而我反思本身,想到以前的代码,看到那堆糟糕的英文,我站在镜子面前看着我,真有种想那拖板鞋砸本身。
站在镜子面前我想,若是我当初写的严谨的话会不会有这么多问题,同时无效率的加班这么长时间。
知乎上有很多人这样认为,他们认为只有这样作才能成为全栈?好比:
固然了,也不乏客观求实的回答,例如:
我比较偏向这位客观求实的回答。
具体过多的我就很少说了,知乎或者其余博客平台有一大把这样的。
以倚天屠龙记里面的张无忌来讲,张无忌自从学会的乾坤大挪移以后,在光明顶与少林、武当、峨眉、昆仑、崆峒、华山等六大门派对战,并在与少林对战的时候交战过程当中轻易就将少林的龙爪手学会以此克敌。张无忌之因此能快速学会乾坤大挪移得益于身上的九阳神功。
在此我想说的是做为一名程序员,要想无所不能举一反三,必先将内功心法练好,否则的话再怎么折腾感受也没多大用。
或许有朋友说这个内功心法是什么?
个人回答是这个内功心法就是你吃饭的家伙,好比Java程序员一般吃饭的家伙是Spring全家桶之类的,做为Java程序员能够从Spring源码开始研究,等研究透了,就能举一反三,其实我相信那些已经懂得了好几门编程语言的朋友们他们很能体会到举一反三的道理。至于如何研究,笔者也不知道,由于笔者正打算研究,不过好在目前市面上有不少资料,许多有上进心的工程师研读源码时,踩了很多坑并将这些写成系列文章,以此让广大友友们受益。
我愈发的喜欢程序员这个职业,由于什么呢?由于乐于分享,将本身所知道的和吃的亏写成相关文章或者文档分享给其余朋友们,让其余朋友为此少吃亏少浪费些没必要要的时间。
换成像其余职业的话,不免会遇到师傅带徒弟时留后手之类的。
固然了,也并非说程序员这个群体就没有这样的人,可是相对于那些传统产业而言,程序员这行这种现象不是太多。由于每一个程序员朋友都知道,帮助他人就是在帮助本身。
同时在帮助他人的时候,本身所收获的不只仅是自我成长,同时还有来自心里的欣喜,你能够理解为成就感。
回到以前这个问题,如何成为一名全栈开发工程师?
就我本身的想法我是这么认为的:
第1、作好当前的事情(好比在公司的时候认真编写每一道程序,由于公司一旦交付出去后,不只仅表明的是公司的形象,同是也表明我本身的形象);
第2、不要三心二意看到这个厉害就去学这个,看到那个厉害就去学那个,应当根据当前的业务而言,好比当前SSM框架开发这个项目及其单体拆分已经足够了而你仍是想要以本身的角度出发动辄微服务分布式,这样到头来苦的仍是本身;
第3、仍是前面那个老兄说的对,全栈并非指全部方面都略知皮毛的工程师,而是指在某一方面具备深刻研究,同时能够在其它方面快速上手,解决问题,或协调他人解决问题的那一类人,因此首先要专一于当前的,好比我是Java开发工程师,应当专一于Java相关的,好比我目前用的最多仍是Spring,最好仍是应当好好研究下Spring,能够研读它的源码,毕竟目前相关的博文也很多,同时书籍更多,而不是去追求其余之外的技术;
第4、兴趣,将编码当作一件快乐的事情总比对着它发愁要好吧,同时兴趣也是不断前行的力量之一;
第5、坚持,著名的一万小时定律就是这样,固然了,这个一万小时我在前面一篇文章中说过,一万小时并非像我以前那样这里学点那里学点,而是要专一,我发现我以前这里学点那里学点感受编程语言彷佛没有什么不同的地方,都是基本语法,而后高级特性,而后web方面,而后就是框架了。
最后,我给我本身2019年定下的大目标和小目标,固然了,大目标是但愿可以成为一名高级开发工程师,可以独当一面,带动团队。我知道这并非一会儿可以实现的,因此我将其定为个人长期目标。
小目标分为以下几类:
生活类:
(1)培养良好的做息习惯,晚上11点00关灯睡觉,早上8点起来(无论是平时仍是节假日都遵循,由于我以为时常熬夜的话,先不说伤身吧,美好的一天就由于睡觉过去了一半实在是太惋惜了);
(2)适当锻炼本身的厨艺(老是出去吃或者点外卖确实有些腻了);
(3)锻炼身体(跑跑步、羽毛球、散步等),身体是革命的本钱,我可不想有一天倒在电脑面前;
学习类:
(1)认真踏实的读书(书中的例子,认真练习,模仿同时作笔记,不能只追求数量而不重质量了,先以数据结构与算法分析这本书为例);
(2)坚持写博客,并不断提升文章的质量,以博客园这位仁兄为楷模,五年里一直在不断坚持写,同时也一直再给本身定目标并实现目标,我以为这种拼搏精神和学习精神值得我和许多小伙伴们学习;
(3)对所使用的Spring全家桶中的Spring好好研读一番;
(4)个人Github很久都没有更新了,我以为有必要将我在工做经常使用到以为很不错,应对编写个类库分享给你们;
(5)扩展知识面,感受知识面仍是太窄了,有一句名言叫作,人丑就是要多读书,可是我自认为我不丑,不过我以为个人精神很匮乏,须要精神食粮;
工做类:
(1)来年我要实现代码Review,并在团队中推行,固然了,这个我须要沟通,之因此代码Review,缘由在于我不想团队编码陷入各自为战的境地;
(2)代码约束仍是要的,从我本身写的代码出发,问题很多,看到其余同事的代码,一样有问题,我但愿可以定下一个规范,能够参考阿里巴巴的Java开发手册,固然了同时也要结合实际状况;
(3)今年以为领导派给的很多任务,我没有作好,虽然不必定是个人职责,可是没作好就是没作好,不想找太多的借口,我但愿从如今开始可以将事情作好,无论最终是否完成,起码态度上要好,我不但愿个人心态变成面向工资编程,毕竟就我而言,成长比工资更重要,固然了吃饱饭睡好仍是要的;
(4)更好的协助同事完成任务,同时也保障本身完成的前提下(以前我犯了一个错误就是我帮助同事把他的任务作完了,却没有把本身的作完,我之因此认为是一个错误是由于那位同事并无开始作这个任务时,没有思考怎么作,我就已经帮她作完了,这才是最让我痛心的,应该检讨的,我总但愿本身变的更强,自认为帮助同事把他们的任务所有搞定是一件很牛逼的事情,可是本身的却没有作好,弄的我在领导面前都有些抬不起头了);
爱情类:
一句话,我要嫁给爱情,虽然我是一个Boy。即使天天生活如此繁忙,节奏如此快,我相信我必定可以遇到与我共此一帘幽梦的女孩。
财务类:
这个我要小小的保密了哈,总之我相信我可以实现。
旅行类:
这个看状况吧,我是但愿来年北京回暖的时候,可以去登爬山,爬山但是个人爱好之一。固然了,节假日的时候,若是能够的话出去走走,世界那么大,出去看看也挺好的。
最后但愿每一个IT小伙伴们在即将到来的新的一年给本身定下一个目标而后为之努力去实现它。
再祝各位IT小伙伴新的一年,身体健康,家庭和气,工做顺利。