作者:小傅哥
博客:bugstack.cn
沉淀、分享、成长,让自己和他人都能有所收获!😄
一、简介
小傅哥,一线互联网 Java 工程师、架构师,开发过交易、营销类项目,实现过运营、活动类项目,设计过中间件,组织过系统重构,编写过技术专利。不仅从事业务系统的开发工作,也经常做一些字节码插桩类的设计和实现,对架构的设计和落地有丰富的经验。在热衷于Java语言的同时,也喜欢研究中继器、I/O板卡、C#和PHP,是一个技术活跃的折腾者。
13年毕业的我和大多数同期毕业的小伙伴一样,经历过;校企合作的培训
、传统外包的求职
、平米小屋的蜗居
、工作跳槽的应聘
,以及逐步在互联网大厂中承担起 Java 工程师、架构师的职责。这些经历让我在技术职业发展中不断的积累、沉淀和成长,直至目前完成了个人第一本技术书籍的出版。
希望我接下来关于这些经历和经验的分享,也能帮助你在求职和职场发展中少走一些弯路,增加一些成长借鉴。
二、大学
给师弟和师妹出出招!
如果我的读者里有一些在校大学生,或者有你的师弟或者喜欢的师妹在校的话,那么你或者他喜欢编程,但在学习的路上一直没有找到方向,接下来的这段内容,可能会对你有一些帮助和指导。
大学阶段怎么学这突如其来的技术编程,看着课本上的C++已经有点战战兢兢,老师讲的课程内容不像是传道更像是劝退,所有别人明明已经可以运行出来的程序,只要自己写就会出现各种问题。我该从哪下手,怎么下手,老师让我问不会的,我都不知道哪不会。
可能这就是大多数同学学习编程的经历,以我过来人的学习经验来说,这个阶段其实会留下一部分有兴趣爱好的同学,巧妙的弄走一批学着痛苦的伙伴。这不是因为谁聪明、谁数学好、谁英语强导致的结果,而是坚持学习和本身的兴趣喜好导致。
就像我们新买回来一个自行车,那么是拆了看看轮子怎么卸下来更优雅还是骑上走几圈浪一浪呢。当然你肯定知道要走起来,让自行车在自己的屁股下奔跑奔跑,感受下沙际春风卷物华,意行聊复到君家。
所以呢,刚接触来的编程,最重要的是先把代码跑起来,把遇到的bug、问题、异常,蓝屏不算,那你得换电脑了,这些都一一解决掉。好,现在已经度过第一个阶段,就是学会了怎么Ctrl+C、Ctrl+V,把别人的代码复制过来,运行运行。接下来就是需要大量的编写阶段,要多大量呢,以我的经验来看,整个大学敲了不下20万行代码,毕业找工作真的太容易了。
20万行代码很多?其实在你学习的阶段这些代码量并不多,尤其是你写的各种属性、方法、调用、展示,以及在学习编程过程中需要熟练掌握的API、不同功能的方法片段,就像求个水仙花、兔子生兔子、杨辉三角等等,都是你在初学编程阶段的下手菜。那么这个阶段就是学习编程的蓄力阶段,主要是对编程技术的基础的夯实,以及多学习与数学相关的内容,比如;数据结构、算法逻辑,这些知识对将来在技术上的提升和造诣都是非常好的基石。
当你能坚持做一件事就把一件事做好,事事,事必躬亲、亲力亲为,想以后“为所欲为”都有可能。
三、培训
你愿意参加培训吗?
我参加过,参加过校企合作的就业培训、参加过入职前期的岗前培训,还有一次是在校期间大学聘请的外部有开发经验的工程师培训,似乎只有最开始的这次培训是让我收获最大的,后面的几次培训不断的重复Java基础,可能这样的课程对于连续几次都没有入门Java的同学是有帮助的,但对于很大一部分想提升技术的同学来讲,还是有些浪费时间的。
通过这样的经历想给大家表达的是培训,不一定好或者不好,如果是在校期间就能参加一些培训,那么还是非常能提升个人学习的能力的,也能开拓对技术的认知和视野范围。但如果因为刚一毕业就找不到工作,报名去参加Java培训来说,处于这个毕业需要就业阶段去参加培训就会显得非常匆忙,也会有不小的压力。因为你需要为培训还需要花家里一笔不小的费用而感觉惭愧,也因为有同期班里其他同学找到一份不错的工作而失衡。
其实讲道理,大学四年有足够的时间让你学会编程,也能从一个较长时间的学习中,知道自己适合不适合做程序员。就像我的同学里虽然都是计算机或者软件工程专业,但毕业后并没有都从事软件开发工作,或者从事了一段时间发现并不适合这个行业而选择到其他领域发展。
所以如果你是真的喜欢编程,那么在这个行业里工作你会很开心,如果不是那么往后路还长,你所要面对的晋升
、加薪
、跳槽
都可能成为一道道障碍。目前可能你还是新人不了解自己是否喜欢编程开发,那么可以在以后的学习中体会,自己是否愿意为一个运行结果调来调去,辗转不寐的研究分析,只为最后那一个运行通过而激动!
那就究竟怎么学才能在毕业就能找到一份工作,而不需要再额外培训?
如果把这个“究竟”,用一个数量单位来度量的话,那就是在大学期间完成20万行代码的开发。20万行多不?如果从大一开始每天完成200行代码的开发,一个月算6000行,一年算6万行,3年就有18万行,在大学毕业前夕找工作时,你将成为同学眼里的面霸。因为有这20万行代码的学习,基本你已经成为了一个初级研发工程师的水平。
可能有人想,都工作十几年了也没写到10万行吧!这200行代码能写完没,有意义吗?
其实对于一个在大学阶段上学求识的人来说,在编程的学习过程中,你要尝试开发各种书本、视频、资料中关于Java里API的使用,哪怕是一个现在看来很简单的 List 使用,可能对于初学编程的你来说都是巨大的障碍,所有的这些基础知识认认真真的学完,你都将要写下庞大数量的代码。
那些我们难以言表、不作声响、暗自发力的日子,其实并不是我们想要的生活,而是通往我们想要的生活的路上。
四、就业
我经历过两家公司的实习,你呢?
12年冬,校企合作培训后,我面试上了国家科技和中软国际的管培生,最终选择了月薪7k的中软。也就是因为这个选择,有意思的经历就此发生。
面试完中软国际,口头offer沟通完毕后,久久不发正式录用通知,也不能去实习。电话沟通后说是需要等到13年4月,具体时间待定。咋办?我又不能一直在北京租着房子啃馒头吧!没办法就又出去面试,找了一家中科软进去实习,直到13年4月中旬,接到了中软的同时,“来参加,岗前培训”,好,又是一次培训。
待培训结束后,终于正式的到公司里开始工作,但又出了点小状况,我一个Java开发,入职的到公司的岗位竟然是C#,还需要倒腾中继器、IO板卡、PLC、摄像头等,就这样我增加了许多其他的技能。好在当时遇到的第一任领导,非常赞,带着我学会了很多很多,否则可能很早就跑路了!
五、跳槽
2015年8月25日,我跳槽去大厂做Java了!
其实讲到跳槽,可能是每个程序员职业发展的必经之路,你积累了多久、沉淀了多少都将会为下一份工作做好铺垫。
对于我之所以跳槽最大的原因就是想从传统行业去互联网看看,也不太想写C#了,毕竟我从大学开始到经过到几次培训都是写Java语言,对于C#语言来说并没有那么大的热情。为了不抛弃Java语言的学习,在第一家公司期间,还把很多公司里用C#写的项目,拿去用Java重新写一遍,只为了学习Java语言。
后来因为在第一家公司需要做一款数据采集的软件,正好把 Java 和 Netty 叨叨给领导了,领导也是非常支持,去搞吧!正式因为有了这次技术实践验证的经历,在后来面试互联网大厂时,会Netty还是挺加分的。
就这样从一个似乎是外包、传统的行业里,跳槽了互联网大厂开始做Java开发,一做就是5年多。往往对于跳槽来说,选择一个你喜欢的行业、喜欢的技术,还是会做出很多自己想做的东西的,也能得到满足于自己那种快乐的成长。
六、副业
"副业",我是一个多能折腾的人?
开过移动售电话卡的小店、做过淘宝卖数据线、接过私活做网站、线上给人讲课赚钱、也做过一段时间的技术论坛。但无一例外这些事情并没有做的长久,有因为跳槽搬家黄的、有因为业余时间不足没的、有因为没有用户流量挂的,总归都一一而去了!
所有这些折腾的过的事情,虽然并没有赚多少钱,可这样一份份的经历却让我也摸索到了应该适合我的路,那就是做长期价值沉淀的事情。这需要找一个自己擅长的方向,有可持续输出的内容,与自己的工作内容贴近,能让自己沉淀也能帮助他人。
所以从2019年7月开始,我参与到技术号主这条路上了,用了整整将近两年的时间积累了全平台近8万粉丝才慢慢做的“人尽皆知
”,说人尽皆知是夸张了,哈哈哈,但现在你去搜小傅哥
、搜重学Java设计模式
、搜字节码编程
、搜面经手册
等等,都会看到的我的身影。当然并不是我的技术有多牛,只是我希望在不断的沉淀积累中可以把每个属于我认知范围的技术内容全部输出出来,至少这样可以提升自己也可以帮助属于这个阶段的技术同好。
但目前这个副业并没有赚多少钱,因为没有接任何一条广告。当然我不反对技术号主适量的接广告,毕竟做技术输出也是非常耗费时间和经历的,我用了近两年的时间才走到这个圈子里,也深深的知道每一个技术号主的辛苦。就像你是否想过,你要放弃几乎全年的周末和假期,也可能需要家人承担更多的情况下,让你有空闲的完整时间去思考、编写、设计、发布你要做的文章和内容呢?你看到的每一篇长文配图、万字技术文,只要是原创都至少要在3-4个小时思考、68个小时输出、12个小时发布,也就是说一个周末的时间就全部投放到这项热爱的事情上了!
之所以我现在并没有去接更大广告收入,主要是因为我对公众号的技术输出主要是因为我对技术内容极大的兴趣爱好,而我公众号和博客的运营成本,包括:域名、服务器、图库VIP等,都是靠较长假期写一些付费的技术专栏
、整理的PDF
和赞赏收回
这些费用。不过从21年情况有所好转,还可以少赚一些钱。早期的粉丝知道,以前小傅哥都是靠薅羊毛养活粉丝的!
所以对我来说,技术沉淀是具有长期价值的副业
,我也更希望用技术输出来养活自己!
七、出书
2021年4月23日,图书节,我的第一本书
《重学Java设计模式》
正式在京东发售。
出书是我个人在技术成长路上的一次打卡,我就想走走没走过的路
,爬爬没爬过的山
,看看风雨后的彩虹是否有别人说的那般绚烂
。
2020年07月12日,小傅哥的《重学Java设计模式》PDF版在公众号首发,但没想到那天起这本设计模式彻底火了,火成什么个鬼样子呢,几乎全网的号主都不知情的情况下被广告主投放过 “字节跳动总结的设计模式 PDF 火了,完整版开放下载!”
- 那3个月这本书我提供的链接全网下载量一度突破30万次,不能统计到的还有很多!
- 公众号一天能涨粉600个+
- 每天都有人问小傅哥,你是不是字节跳动的
- 百度搜小傅哥竟然给我加了热词“小傅哥的设计模式”
- GitHub 设计模式对应的代码库持续霸榜 GitHub Trending
- 可能就是从那段时间起,很多人知道了我,虽然当时不太喜欢被这样宣传,但也就这样莫名其妙的火了
也是从火了那段时间开始,每天都有出版社编辑联系,要不要出书,最开始并没有心动,也觉得自己文笔不好,还很多错字。
之所以后来上车了是因为遇到了宋亚东,给我介绍、给我讲解、给我分析,好吧!在20年10月1日放假起,我开始重新整理设计模式稿件,重新整理文章、收集粉丝反馈、绘制技术图稿,一点点的完成所有内容并添加新的章节,于11月左右交给出版社,接下来的路漫漫长….
一本书的出版要选题、交稿、审稿、之后是一遍遍的改稿、审核、改稿、审核,终于感觉要完事了又开始了三审三校,说要过不了就不成功便成仁!好在是一周左右时间通过了,接下来又申请书号、出版印刷、晾干、装订,嗯多久呢,从提交编辑到上架京东商城,用了7个月时间,在加上我的编辑创建时间,这本书耗时一年半出版了!
其实出版一本书并不会特别难,而且也不会膨胀。出书只是个人成长努力路线上的一次结果印证,但不是最终的目标,我们可以用自己长期积累的个人能力完成更多自己想做的事情。
八、传承
沉淀、分享、成长,让自己和他人都能有所收获!
在过去码文的时间里付出了所有的深夜和假期,整理大学四年到毕业工作5年的学习路线资源汇总,编写了12个较大实战性专题类文章;《用Java实现JVM》、《Netty4.x专题》、《领域驱动设计》、《全链路监控》、《Java 面经手册》、《字节码编程》等和近240篇原创,以及出版图书《重学Java设计模式》和在线专栏《SpringBoot 中间件设计和开发》、《Netty 仿PC端微信》等。这些专栏和文章都有相应的源码,可以一边学习一边验证。
还创建了第一个关于:CodeGuide | 程序员编码指南,的Git仓库,涵盖了;文章、源码、案例、书籍等各项学习拓展技能的资料。
我的Github汇总我所有编写的内容,感谢给个 Star 支持:
- 内容:本代码库是作者小傅哥多年从事一线互联网Java开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。这部分资料也是我所写博客中实践项目的源码,在这里你可以学到Netty、字节码编程、设计模式、领域驱动设计、规则引擎、面试、架构以及职场经历的分享。
- 地址:github.com/fuzhengwei/… -
点击阅读原文,进去给个 Star 吧!
九、总结
👣心怀天下,声色犬“码”。生有热烈,藏与俗常。
有时候真的很感谢自己还能坚持做原创技术输出,即使再忙再累也给自己一个当下的交代,在写文章的过程中几乎没有过周末这样大块时间,也没有过小长假期。但每当自己完成每一篇文章后,那份给自己的努力下的沉淀,也传播给其他人知识,都能让我乐以忘忧。
所有的努力都是因为:能力,是你前行的最大保障。哪怕你是兢兢业业的工作者,也要拥有能留下的本事和跳出去的能力,才能在相对频繁的变化和不确定中获利。
好,祝大家在以后的路上,都能:所求皆如愿
,所行化坦途
。承遇着朝霞
,刻印着风华
!