来源 | https://www.cnblogs.com/JavaArchitect/p/9749803.html

2年前,我其实是很开心的,人在外企,加班不多,晚上下班后就躺在沙发上电视或刷连续剧。周末除了出去讲课挣外快,一般也时玩游戏为主,经常会一个下午加晚上,先玩游戏再下棋再看片再听歌。
结果发现我的能力脱节了,大概比互联网公司里的同龄人落后了3年技术。具体表现是,我当时出去面试,面一个失败一个,而且有些问题里涉及到的框架技术我根本没听说过。而且,我的工资水平也要比同龄人要低。
于是,为了不继续颓废,我最近两年写了两本面试书《Java Web轻量级开发面试教程》和《Java核心技术及面试指南》
而且在扩展其中的一些内容的基础上,在博客园里写了若干篇博文。当时仅仅是想用空闲时间写书挣个外快,但没想到通过写书,不仅提升了我的技能,更提升了我的管理时间的本事,更重要的是,让我也拥有了更多上进的动力。
所以现在,我其实也很开心,或者说是充实:换到了一家技术含量比较高的公司,虽然感觉自己能力和大牛有差别,但至少有机会弥补上。虽然工资水平依然落后平均,但至少也能通过提升能力来赶上。
我写本文的目的绝不是自我夸耀自吹自擂,因为一方面,我离开大牛水平还有很大距离,我无法骄傲,另一方面,我更得保持谦逊的心态从而让我更多地提升技能。
本文不仅将激励大家的上进动力(鸡汤文),更多地会和大家一起分享写博文和写书的技巧。好了,开场白结束,正文开始。

1、 杜绝借口,合理利用碎片时间

如果在标题里所说,要放松总是有理由的,比如今天加班晚了,今天累了,或者今天没心情,或者其它。
对此,我的体会是,只要我们还存有上进心,那么总有时间。比如我现在,平时一般是9点下班到家,周末有时候得出去,而且公司里的活也比较多,但目前我还能保证每周一篇博文,大概20天左右一个新书的章节,外带一些零碎的活,这在2年前是不可想象的。
这里我的感受是,在不同时间段,人的接受能力和疲惫程度是不同的,可以在不同的时间段合理安排不同的事。具体的一些做法如下。
1、上班如果稍有空闲,可以看些将要写的章节的技术点,以便回家上机调试,或者看些学习资料。
2、  下班后,回家的地铁或公交上,就可以想下博文该写什么,怎么构思,怎么措辞,或者新的章节里,该放哪些内容。
3  、回家后,如果还有精力调代码,那就准备稿件的代码,如果累了,就针对已经调通的代码写稿件,或者写博文。
4 、干好活后,可以适当放松,但别睡太晚,准备第二天早起。
5、 第二天利用上班前脑子好的时间,可以调代码,或者准备新书章节里比较关键的措辞(比如每个章节的综述性文字或每章小结)。
这样的话,碎片时间都能用上,不过实施起来,一定得给自己定若干个大的目标,然后根据每天可以利用的时间,把目标拆分到每周每天。 

2 、没目标,再高效利用时间也是白忙

就好比干家务无法达到锻炼的效果,平时的工作最多让我们能在某个行业和某些技术领域成为熟练工,如果要提升,只能靠平时学习。
我的体会是,如果漫无目标,那么有可能本周学python,下周学大数据,再下周学AI,这样每个方面都有涉及,但都不深入,最终学习效果一定很差,个人提升速度一定很慢,要提升,要学习,一定得给自己定个目标。
比如给自己2018年定的目标之一是,利用10个月的时间,从架构角度深入学习Spring Cloud微服务,并在这方面出版一本书。对此,我再拆分若干小目标,比如:
1 、用1周联系出版社,准备选题报告和大纲     
2、 把书拆分若干个章节,比如Eureka,Ribbon,每个章节里,用1周准备代码,1周写文稿,平均1个月2章,全书用7个月完稿    3 用1个月录制视频。等等。
有了目标,可能最终会进度慢,但至少不会让自己迷失。其实Java零基础学完能到企业干活的初级开发的基本技能,学习时间最多也就一个月,按平均每天1.5个小时学习来算,最多也就50个小时。
对于初级开发而言,学习能升级到高级开发的技能,一般来说是2个月,学完后就能出去面试高级开发的岗位了。如果单学一个技术,比如Python,或大数据,或Spring Cloud,入门级学习一般也就1个月,面试级学习(运行通各重要组件的案例,知道一些开发细节)的用时一般也在2个月。
换句话说,用一年的时间学习,能帮我们脱胎换骨(我的真实体会),学好以后的,按目前市场的行情,至少能让我们的月薪涨3k。

3、 能留在博客园首页的博文写作模式(包括构思方式,写作方法和写作题材)

上述都是一些技巧,这里就开始给些干货。

写博文能记录下自己升级过程中的心得,也能记录下自己在提升技能时解决的问题,更重要的是,如果能把写博文当成一种习惯,那么还能促使自己不断进步,比如不断学习新的技能,乃至不断提升自己挣钱的效率。
如果自己写的博文能不被移出首页,或者进入各种排行榜,那么自己写作的动力就会更足。其实大牛们的文章不需要什么技巧,所谓一力降十会。这里列些一般的人能做到的,而且能吸引多点击量方法。
1、 写作的内容和自己学习的节奏保持同步
比如我在spring cloud,那么每当我学好一个组件,比如负载均衡的Ribbon组件,我就可以开始构思博文里,一般一个组件可以写2到3个。
2、 怎么搭建文章的脉络?
先个每篇文章定个主题,比如我要写Eureka和Ribbon整合,实现负载均衡,每个主题其实就是我阶段性学习的目标。
然后列每部分的内容,(这对于书而言,就是大纲),比如第一部分写概念,第二部分写Ribbon实现负载均衡的基本组件以及用法,第三部分写和Eureka整合的代码,第四部分写你在调试代码时遇到的坑,如果可以,再加上你的心得,比如对负载均衡的理解等。
博客园首页的标准是,有一定的篇幅,原创而且有质量,上述一篇文章的话,由于分了部分,所以篇幅一定够,原创不用说了,而且有你自己调试通的代码和心得,质量也能有保证,至少能留在首页了。 
之前的博文里,我列过用总分总的方式写每个部分的内容和解释代码,这里就不再重复了。
3、 叙述概念一笔带过
给出概念的篇幅以能讲明白为止,不能大段摘录,最好是你先看明白,再用你理解的话说出来。如果有现成的流程图或架构图,你可以在贴出来,但一定要给出说明,如果有时间,你也可以用UML工具或Excel的方式再画一遍。
4 、代码解释部分是关键
一篇好的博文,乃至合格的书的稿件,一定是基于代码的,如果一篇博文能有一个能运行通的案例,然后针对这个案例解释,那么博文的质量一定不会差。比如我讲Ribbon和Eureka整合,那么我就给出一段代码再解释,那么对其它想学的人一定就有帮助。 
那么怎么准备代码呢?在初学阶段,自己通过看API等说明自己搭建,估计也不现实,所以一般可以看3个左右别人已经实现好的项目,先运行通,自己先理解,然后一定得改写,小到改写方法名变量名,大到改写代码的结构,比如重构方法,随着学习的深入,可以再自己加些功能。
很多朋友想写博客,但在写的时候无从下手,其实博文乃至图书不是凭空码字得来的,一定得有代码案例,然后在此基础上外带些概念流程图,再针对代码案例进行说明,这样博文的篇幅想少都不行。
初学的朋友在写博文时,一般会采用如下的思路,列出来给大家参考。
1 、比如写设计模式系列,每个模式写个案例,外带自己的解释。
2 、找个工作中用到的,或者自己为了跳槽一定得学的技术,比如Python,或redis分布式组件,找本书,或者找个系列视频,刚开始阶段不建议自己到网上搜内容,因为书里和视频里已经包含了学习步骤(该学什么不该学什么),如果自己去探索的话,一定会走弯路,比如学了用不到的技术。
在这个基础上,针对每个内容,比如Redis实现缓存等,调试通人家的代码,再按我之前提到的方法自己理解下,然后针对这个内容写博文。
3 、解释底层代码。因为在面试时,如果能解释通一些底层代码,这绝对是个加分项。底层代码,小到ArrayList等集合的实现类, 再大一点的可以是ConcurrentHashMap等复杂对象的实现方法,再大一点可以是Spring IOC, AOP,MVC的底层实现。
这类文章,代码不用自己准备,但最好Debug跟踪进去看下关键性流程,同时针对流程上的重要类和重要方法做解释,如果讲透彻了,一定是个深度好文。
或者写一些平时针对技术和职场方式的感悟,比如我经常写如何面试,也可以写你对你当前用的敏捷开发模式有什么想法等。这类文章只要内容能引起大家共鸣,比如写的事是程序员平时一定会遇到的,那么也一定也能收获不少点击。 

4、 写书的门槛比想象中要低很多,要出版图书,更多的靠的是毅力

写博文能给大家带来的收益是间接性的,未必能直接来钱,但写书的话,就有钱了,当然要求就高了。
我这里无意为出版社或者图书出版公司站台,虽然写书的挣钱效率不高,刚开始平摊到一个月也就2千,但对于初学者(也包括我)而言,可能未必有其它挣钱的途径。
记得我写第一本书的时候,是毕业一年后,很多人在大学阶段就出书的了,所以写书最大的阻力不是能力,而是毅力。
出版书需要多少技术积累呢?大家可以想象下,比如要写本Oracle SQL优化,或者SSM框架的书,或者Python大数据,其中会全面性地用到该技术里的组件,但哪怕是大牛,绝对不可能是都懂了以后再写,一定是边整理边写,往往书也出了,能力也上一个大台阶了。
写完一本图书需要多久?一般来说,一个章节估计20到30个小时,包括调通代码写稿件,一般书就以12个章节来算,估计400个小时左右,如果按每周最低10个小时来算,一般10个月一本,我知道的人里,能在保证质量的同时,做到6到8个月出一本。
但一旦出了书就不一样了,至少在这行业就可以说比较少熟悉了,面试时底气就更足了。而且,你出了书以后,就可以去做些挣钱效率更高的活了,比如跳槽进个大公司,如果不跳槽,也能凭这个去外面讲课了。  
钱还是小事,更重要的时,在写书的时候,还能到各个技术社区里接触到各位大牛,和他们交流,得到他们的指导,绝对能少走弯路。  
本人最近一直在想如何做畅销书,但出于工作和视野的局限性,想到的方法也是有限的,欢迎各位大牛告诉我一些写畅销书的选题方向和技巧。在此谢过。
PS:在这里,我将中秋节送书活动中奖的小伙名单进行公布一下,请中奖的小伙伴添加一下以下微信号二维码,提供收货信息以及你想要的图书名称,没有中奖的小伙伴,也不要灰心,继续关注我们,我们后面还会有很多活动,不仅是送图书哦,还有送国外虚拟主机的活动哦。

长按二维码加微信,发收获信息,领取奖品,备注【中奖者】便于通过

中奖者名单:@大七,@will's,@n0cd,@与归。,@十二号风球,@阆苑山人,@ThinkBig,@耶耶耶,@jinfeng,@最爱superjunior

请以上小伙伴尽快将收货信息发过来,在此,非常感谢大家的积极参与。

【附中秋中奖名单】2年出版2本书带给我的改变,分享程序员写书和写博客的技巧...相关推荐

  1. 要上进总会有时间的,要放松也总会有理由的——记录2年出版2本书带给我的改变,同时分享写书和写博客的技巧...

    2年前,我其实是很开心的,人在外企,加班不多,晚上下班后就躺在沙发上电视或刷连续剧.周末除了出去讲课挣外快,一般也时玩游戏为主,经常会一个下午加晚上,先玩游戏再下棋再看片再听歌.结果发现我的能力脱节了 ...

  2. 零基础的小明要如何成为前端工程师?【附图书中奖名单】

    作者 | 胡立 来源 | https://medium.com/hulis-blog/frontend-engineer-guide-297821512f4e 如果你是个毫无基础又想要转岗成前端工程师 ...

  3. 聊聊在博客园写博客的这两年《Unity 3D脚本编程:使用C#语言开发跨平台游戏》正式出版...

    版本状态: 2016.9 第一次印刷 (2016.11 输出到台湾) 2017.1 第二次印刷 2017.5 第三次印刷 2017.5 电子书上线:Unity 3D脚本编程--使用C#语言开发跨平台游 ...

  4. C# Queue与RabbitMQ的爱恨情仇(文末附源码):Q与MQ消息队列简单应用(一) 时间 2019-06-03 14:09:00 博客园

    首先我们简单了解一下什么堆.栈.队列. 堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间.即动态分配内存,对其访问和对一般内存的访问没有区别. 栈就是一个容器,后放进去的先拿出来,它下面本 ...

  5. CSDN第一次写博客模板保存(文末附恢复模板方法)

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一 ...

  6. 出版新书《从毕业生到程序员 使用C#开发商业软件》

    新书出版了,ISBN 978-121-18842-8<从毕业生到程序员 使用C#开发商业软件>,定价69元,欢迎购买. 转载于:https://blog.51cto.com/xdesign ...

  7. 程序员必会的十步快速学习法(附书单)

    本文对<软技能:代码之外的生存指南>书中的"十步学习法"展开讨论,该书作者是John Z. Sonmez,一名程序员,书中有很多面试.专业等建议.有一些建议相见恨晚.某 ...

  8. 征文|@程序员,快来解锁过“中秋”的正确姿势!

     超多精彩奖品,快来投稿吧![一键投稿] 又是一年中秋至--花好月圆夜,佳文当共鉴.本次征文活动诚邀各位CSDN博主参与,分享"程序员"视角下的中秋夜之美,内容可以是: 程序员过中 ...

  9. 程序员《我们如何过中秋》

    今年的中秋又要到啦,我这个英姿飒爽的博主参与了投稿,分享"程序员"视角下的中秋夜之美! 我分享的内容是: 程序员过中秋的正确方式: 团圆就是代码团员.赏月既是同屏赏月.加班既是加餐 ...

最新文章

  1. Java List 更换指定位置的元素
  2. linux先运行后面指令,Linux基础命令(6)
  3. 商品的包装(外贸知识二)
  4. VC调用matlab中定义的.m文件中的函数的实例
  5. as与c++的反射机制对比
  6. Android平台如何实现屏幕数据采集并推送至RTMP服务器
  7. 分区表理论解析(下):SQL Server 2k52k8系列(二)
  8. 用汉堡包的方式评价一下自己的合作伙伴
  9. Markdow简单介绍
  10. Luogu P4727 [HNOI2009]图的同构记数
  11. 谈谈软件人的职业规划
  12. python合并多个pdf文件
  13. 图解联合概率密度、边缘概率密度、条件概率密度之间的关系
  14. mongoose 入门(四)使用aggregate 聚合管道、使用 populate 实现关联查询
  15. 从淘宝服务器IP地址服务获取IP地址信息的方法
  16. 吉林大学计算机专业扩招吗,我国有所“退步严重”的985大学,为了大盲目扩招,已被考生嫌弃...
  17. 浅析GPU计算——CPU和GPU的选择
  18. 完善有载调压开关遥调、遥信功能
  19. ITK-SANP 使用指南
  20. 数据中台架构体系理解

热门文章

  1. 【向生活低头】拷贝文件到文件夹中
  2. Unity插件——Pico一体机之 VRTK插件
  3. HBuilder X运行小程序时,打开了微信开发者工具,但微信开发者工具未运行项目但又没有错误提示
  4. 第二次作业:微信分析
  5. 苏轼《水调歌头·中秋有怀子由》解读
  6. 青龙面板搭建+QQ机器人,安装中遇到的各种问题的处理
  7. 有一种要见天日的感觉
  8. 中长线黄金如何交易?
  9. Python全栈视频教程-尹成-专题视频课程
  10. 普通电脑安装服务器系统安装教程,普通电脑安装服务器系统