`
v5browser
  • 浏览: 1130605 次
社区版块
存档分类
最新评论

每个程序员都应该给自己写本书

 
阅读更多

因为看的书相对比较多,最近又写了一本,感觉多少有点发言权,因此把自己的经过和感受写出来,供想写书的做些参考。

现在浮躁的人比较多,所以我先说写书不能达成什么目标。

最关键的一点是程序员写书基本不能让你发财,这里有篇文章叫《写一本书作者到底能拿到多少稿酬?》 里面把版税计算的计算方法写的比较详细,大家可以仔细读下。一般来讲技术书籍很可能销售不了一万册,即使以一万册来计算,收入大概在5万上下,这是笔收入,但显然不能帮你直接解决关键的现实问题。与此同时,写书需要投入的时间远比想的多。第一本书的时候,即使每天坚持很可能也得写个1~2年,因为你要思考,工作可能打断你,生活可能打断你等等,也许有牛人可以拷贝粘贴,但我们不考虑那种情形。所以单纯从投资回报的角度看,写书并不是很好的一种“生意”。那这里为什么说“每个程序员都应该给自己写本书”?

我们还是先从功利的角度来说,接下来再补充点人生价值,算是由实到虚。

第一点,写书的过程是系统的归纳、分析并总结某一方面知识的过程,这一过程中知识结构中的各种不足都会暴露出来,这有助于程序员的升级,当然你得别糊弄自己。这个时代的特征是分工不停细化,而在分工无限细化的年代里最佳的生存之道其实是专业,你老拷贝粘贴,没有思考,那就和生产线上的操作工类似,怎么专业?程序员是差异非常大的群体,牛的可以驾着游艇周游世界,落魄的就没隔夜之粮。如果划个比例,那很可能是前30%是从来不用担心什么青春饭问题的。要想升级途径很多,写书来深化自己的知识结构,把某块知识挖深,也锻炼自己的表达能力是其中一种方式。当然,多写程序也是升级的一种方法。这两种方式的差异在于,写书是个系统工程,对打基础更有帮助。想象一下,一个人得写什么样的程序才能把一门语言的所有关键字都用一遍?在需要配合,需要专业的时代里,这几乎是不可能的,我们实际用往往总是某门知识的一个部分。而反过来,真要成为牛的程序员,全面扎实的基础知识是必要的,看书是一个方式,而在自己的主营,自己的专业方向上写书可以帮助挖的更深。

为达成夯实基础这样的目的,有几个关键点要注意:最关键的是不能蒙事,不能糊弄,这点不必细说。其次是题材和写作方式的选择上,这时候不能写那种手册翻译性的书(比如:大部分从MSDN翻译),作者只进行简单罗列,而要选个自己主攻的技术领域,深挖了,有自己想法的地方写书。一般来讲这过程中要阅读很多书,要翻来覆去的改改稿子,否则的话就可能是不要思考,手册性的书。最后,别写我这次写《完美软件开发:方法与逻辑》选的这种体裁,这类讲本质,练内功的,一是难写,二是整不好容易把人整虚了,年纪小的时候还是慎入比较。

第二点,写书其实可以是种社交方式。程序员生活大多比较闭塞,这在一定的人生阶段可能会表现为一种劣势。而产生社交又不能单纯的靠电影、游戏这类闲散话题。写本书等于是立论,也在诸多同行面前亮个像,等于是自己有了一张额外的名片,可以多点和大家的交流。这点刚毕业的时候,可能还感受不到必要性,但年纪越大,感受就越深。按照李炯明先生公布的数据,30%的人换工作是要靠介绍的。

第三点,说虚一点,写书很可能是很多人可能独立完成的,属于个人的唯一作品,因此可以是自己非常有价值的一种回忆。到一定年纪后,回头一想自己一直是个路人甲,大多时候,感觉不太舒服。而写程序显然完成不了这个目标,大多时候程序只能是写作后的作品,知名产品大家记住的往往也是产品经理,这个时代已经和求伯君,王志东他们那个时代不同了。年纪大了回头想想,主要是写了一堆不知道扔在那里了的代码,冤不冤的慌。

所以说,只要还有可能就给自己写本书吧!

下面说点与写书相关的细节:

这里面最关键的可能是出不出的问题。

我感觉这个问题不用太担心,IT这块出书门槛相对比较低,而对出版社而言出书首先是种生意,只要你的书有现实意义,又是水准以上,就我观察大多时候可以出。有一点要注意,第一次写书争取要写那种市场定位明确,解决具体问题的书,比如:Hadoop实战,Linux源代码解析这类,而不要写务虚的,需要较大社会影响力的书,比如后者从出版社的角度看很容易担心销量。我个人属于运气还行,要不然很可能出不了。如果实在担心能不能出的问题,也可以先向出版社提交选题,签合同,接下来再写作---这是一般出版社的公开流程,具体的可以参照博文视点的说明:

http://www.broadview.com.cn/xiezuobangzhu/chubanliucheng.html在流程上各个出版社差异不大。当然如果你的想法是不管能不能出我都写,那也可以先写,差不多完了再直接联系编辑。我这次分别联系过侠少(@永恒的侠少)和丁诚编辑(@丁诚编辑),感觉都不错。丁老师最终是我的责任编辑就不多说了,侠少很犀利的,会比较直接的给你各种意见。我个人感觉是只要题目不是太另类,又能用心,那出版不是太大问题。

接下来可能是信心问题。

很多人可能会想,我写过最长的东西可能就是高考作文了,能写书么?写IT书大多时候和文字没啥关系(特别类别不行,比如:写如何拯救项目那就还是需要些叙事能力的),只要话能说清楚,就能写,这点完全不用担心,写就是了。最关键的不是这个,一个是执着程度,一个是时间。写书这活还是有点费时间,平均来看大多时候一页可能要1~2个小时(我这本翻来覆去的改,大概是这时间的两倍,但我感觉一般可能不要这多时间,所以除了个2,这么大投入要不下狠心做点牺牲是绝对顶不下来的。

最后补充一点,写书不是说就不用写程序,而是说把写程序得来的东西归纳总结出来,让自己升级。就我观察,单纯靠写书吃饭是不太可能的了。因此我虽然认为应该写书,但我不认为写书应该影响工作,我也不认为谁应该从专职程序员转行做专职作家。如果谁想反正我写本书,换个工作没准就容易了,当前工作蒙混下也不打紧,那就基本会吃大亏。

----------------------------------------------------------------------------------------------------------------------------------

厚颜无耻发个小广告:《完美软件开发:方法与逻辑》出了,修炼内功的书,较抽象,从程序员往管理岗位过度的适合瞄瞄,没事爱思考的人适合瞄瞄。左上角有样章链接。

分享到:
评论

相关推荐

    每个程序员都该阅读的书

    哪本书是对程序员最有影响、每个程序员都该阅读的书? 国外知名网站stackoverflow上有一个问题调查: 哪本书是对程序员最有影响、每个程序员都该阅读的书?,这个调查已历时两年,目前为止吸引了153,432人访问,读者...

    Rework:每个程序员都应该读的一本书

    用一个词形容《Rework》这本书就是“短小精悍”,只有130页,你只需要3-4个小时就可以读完,而且书中每一个观点都配了一张图,看起来很轻松,一点都不乏味。...废话不多说了,我把每个观点都通用一句汉语总结出来了

    哪本书是对程序员最有影响、每个程序员都该阅读的书?

    国外知名网站stackoverflow上有一个问题调查:哪本书是对程序员最有影响、每个程序员都该阅读的书?,这个调查已历时两年,目前为止吸引了153,432人访问,读者共推荐出了478本书(还在增加),其中最火的一本书《Code...

    Rework英文版pdf(每一个有理想的程序员都应该读的一本书)

    每一个程序员都有改变世界的梦想,他们不甘平凡,他们想要make a difference,他们想要创立世界上最cool的公司,那具体该如何做呢?风靡全球的《rework》将告诉你答案 大多数的企业管理的书籍都会告诉你:制定商业...

    中外程序员必读的14本书

    看看你是否已经阅读了基本或者一本,适合每个程序员阅读!

    程序员必读-《程序设计实践》

    我认为是程序员必读的一本书。 本书是Brian W. Kernighan和Rob Pike...本书值得每个梦想并努力使自己成为优秀程序员的人参考,值得每个计算机专业的学生和计算机工作者阅读,也可作为程序设计高级课程的教材或参考书。

    C语言高级程序员编程指南

    本书通过对大量程序实例的分析,深入浅出地讲解了C/C++/C#语言基本知识、...基本上这本书对于初学者来说是比较好的,因为比较全面而且分得比较细又有相关方面的展开,每个点上都有相应的实例,这个对初学者十分有益。

    像程序员一样思考

    每章后面都给出一些编程习题,使得读者能够应用该章所讨论的概念,训练和提升问题解决的能力。 《像程序员一样思考》适合初级到中级的程序员用来提升自己的问题解决能力和应用编程技能的能力,也适合计算机相关专业...

    程序员SQL金典pdf

    本书中详细介绍了SQL Server 数据库的使用及SQL语句的使用方法,是每个合格程序员必备参考书

    Kotlin程序员面试算法宝典

    在题目的深度上,本书由浅入深、庖丁解牛式地分析每一个题目,并提炼归纳,同时,引入例子与源代码、时间复杂度与空间复杂度的分析,这些内容是其他同类书籍所没有的。本书结构合理,条理清晰,根据真题所属知识点...

    程序员面试金典-第五版

    本书是原谷歌资深面试官的经验之作,层层紧扣程序员面试的每一个环节,全面而详尽地介绍了程序员应当如何应对面试,才能在面试中脱颖而出。第1~7 章主要涉及面试流程解析、面试官的幕后决策及可能提出的问题、面试...

    程序员面试金典

     本书融萃了作者在世界顶尖科技公司长期从事相关工作所积累的面试经验,涉及与面试相关的每个环节——大到剖析面试流程、详解经典的技术面试题,小到如何制作简历及面试时的着装规范,你都能在书中找到锦囊妙计。...

    程序员面试金典 第五版 带书签目录

    本书是原谷歌资深面试官的经验之作,层层紧扣程序员面试的每一个环节,全面而详尽地介绍了程序员应当如何应对面试,才能在面试中脱颖而出。第1~7 章主要涉及面试流程解析、面试官的幕后决策及可能提出的问题、面试...

    汇编程序员之代码风格指南

    许多人认为汇编程序难于阅读。虽然大家有这种感觉有许多原因,但最主要的还是 汇编语言难以使得程序员写出易读的程序。这并不表示不可能编写...每个例子都示范了一个单独的问题,相信有利于新手或老手的汇编语言的提高

    程序员的羊皮卷下载清晰版

    书中涵盖了从如何读大学、怎样...个方面,以程序员的成长为主线,讲述其中遇到的困难和问题以及相应的解决 方法。本书的第16 章程序员职业规划九大工具箱,还提供了一些具体的操作 方法来帮助大家看清前路、飞越迷雾

    成为一名更好的程序员

    如何成为一个更好的程序员?本书介绍了很多实用的方法。适合每个励志成为优秀程序员的人仔细阅读!

    统计思维:程序员数学之概率统计

    概率、分布、假设检验、贝叶斯估计、相关性等,每个主题都充满趣味性,经编程解释后变得更为清晰易懂。本书研究数据主要来源于美国全国家庭成长调查(NSFG)与行为风险因素监测系统(BRFSS),数据源及解决方案的...

    程序员编程艺术第一~三十七章集锦

     本系列越写到最后,越会发觉无论是面试,还是编程当中遇到的绝大部分问题,都是有规律可循的,而且可以不断优化,这也是自己愿一直写下去的原因。再者,能给每一年找工作的毕业生带去或多或少的参考,给早已参加...

    像程序员一样思考.pdf

    每章后面都给出一些编程习题,使得读者能够应用该章所讨论的概念,训练和提升问题解决的能力。 本书适合初级到中级的程序员用来提升自己的问题解决能力和应用编程技能的能力,也适合计算机相关专业的学生作为参考书...

    统计思维-程序员数学之概率统计【百度云】

    概率、分布、假设检验、贝叶斯估计、相关性等,每个主题都充满趣味性,经编程解释后变得更为清晰易懂。本书研究数据主要来源于美国全国家庭成长调查(NSFG)与行为风险因素监测系统(BRFSS),数据源及解决方案的...

Global site tag (gtag.js) - Google Analytics