热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:小傅哥,一个有“副业”的码农!

篇首语:本文由编程笔记#小编为大家整理,主要介绍了小傅哥,一个有“副业”的码农!相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了小傅哥,一个有“副业”的码农!相关的知识,希望对你有一定的参考价值。







作者:小傅哥
博客:https://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 火了,完整版开放下载!”


  1. 那3个月这本书我提供的链接全网下载量一度突破30万次,不能统计到的还有很多!
  2. 公众号一天能涨粉600个+
  3. 每天都有人问小傅哥,你是不是字节跳动的
  4. 百度搜小傅哥竟然给我加了热词“小傅哥的设计模式”
  5. GitHub 设计模式对应的代码库持续霸榜 GitHub Trending
  6. 可能就是从那段时间起,很多人知道了我,虽然当时不太喜欢被这样宣传,但也就这样莫名其妙的火了

也是从火了那段时间开始,每天都有出版社编辑联系,要不要出书,最开始并没有心动,也觉得自己文笔不好,还很多错字。

之所以后来上车了是因为遇到了宋亚东,给我介绍、给我讲解、给我分析,好吧!在20年10月1日放假起,我开始重新整理设计模式稿件,重新整理文章、收集粉丝反馈、绘制技术图稿,一点点的完成所有内容并添加新的章节,于11月左右交给出版社,接下来的路漫漫长….

一本书的出版要选题、交稿、审稿、之后是一遍遍的改稿、审核、改稿、审核,终于感觉要完事了又开始了三审三校,说要过不了就不成功便成仁!好在是一周左右时间通过了,接下来又申请书号、出版印刷、晾干、装订,嗯多久呢,从提交编辑到上架京东商城,用了7个月时间,在加上我的编辑创建时间,这本书耗时一年半出版了!

其实出版一本书并不会特别难,而且也不会膨胀。出书只是个人成长努力路线上的一次结果印证,但不是最终的目标,我们可以用自己长期积累的个人能力完成更多自己想做的事情。


八、传承

沉淀、分享、成长,让自己和他人都能有所收获!

在过去码文的时间里付出了所有的深夜和假期,整理大学四年到毕业工作5年的学习路线资源汇总,编写了12个较大实战性专题类文章;《用Java实现JVM》、《Netty4.x专题》、《领域驱动设计》、《全链路监控》、《Java 面经手册》、《字节码编程》等和近240篇原创,以及出版图书《重学Java设计模式》和在线专栏《SpringBoot 中间件设计和开发》、《Netty 仿PC端微信》等。这些专栏和文章都有相应的源码,可以一边学习一边验证。

还创建了第一个关于:CodeGuide | 程序员编码指南,的Git仓库,涵盖了;文章、源码、案例、书籍等各项学习拓展技能的资料。

我的Github汇总我所有编写的内容,感谢给个 Star 支持:


  • 内容:本代码库是作者小傅哥多年从事一线互联网Java开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。这部分资料也是我所写博客中实践项目的源码,在这里你可以学到Netty、字节码编程、设计模式、领域驱动设计、规则引擎、面试、架构以及职场经历的分享。
  • 地址:https://github.com/fuzhengwei/CodeGuide/wiki - 点进去给个 Star 吧!

九、总结

👣心怀天下,声色犬“码”。生有热烈,藏与俗常。

有时候真的很感谢自己还能坚持做原创技术输出,即使再忙再累也给自己一个当下的交代,在写文章的过程中几乎没有过周末这样大块时间,也没有过小长假期。但每当自己完成每一篇文章后,那份给自己的努力下的沉淀,也传播给其他人知识,都能让我乐以忘忧。

所有的努力都是因为:能力,是你前行的最大保障。哪怕你是兢兢业业的工作者,也要拥有能留下的本事和跳出去的能力,才能在相对频繁的变化和不确定中获利。

好,祝大家在以后的路上,都能:所求皆如愿,所行化坦途承遇着朝霞,刻印着风华!






推荐阅读
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 通过与阿里云的合作,牛客网成功解决了跨国视频面试中的网络卡顿问题,为求职者和面试官提供了更加流畅的沟通体验。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 本文详细介绍了如何在 Spring Boot 应用中通过 @PropertySource 注解读取非默认配置文件,包括配置文件的创建、映射类的设计以及确保 Spring 容器能够正确加载这些配置的方法。 ... [详细]
  • 本文详细介绍了 Java 中 org.apache.xmlbeans.SchemaType 类的 getBaseEnumType() 方法,提供了多个代码示例,并解释了其在不同场景下的使用方法。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 深入理解Spring:Aware接口、异步编程与计划任务
    本文将带你深入了解Spring框架中的 Aware 接口、异步编程以及计划任务。通过具体示例和详细解释,帮助你掌握这些核心功能的实现原理和应用场景。 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
  • HBase运维工具全解析
    本文深入探讨了HBase常用的运维工具,详细介绍了每种工具的功能、使用场景及操作示例。对于HBase的开发人员和运维工程师来说,这些工具是日常管理和故障排查的重要手段。 ... [详细]
  • 本文详细解释了如何使用@IfProfileValue注解来检测Spring框架中的配置文件是否处于活动状态,并探讨其与@Profile和@activeProfiles的区别。 ... [详细]
author-avatar
幸福不要躲008_784
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有