-
读了多少书?怎么读书?
——请问大家最近读书了吗?一年大概读了多少本书。 有超过20本,超过30本,超过50本吗?
在7月14日由长沙互联网活动基地和长沙.NET技术社区组织的小型社区活动,《开发者爱读书•线下读书会》上,长沙.NET技术社区的专家、资深Java开发者、架构师郭德强问了大家这样一系列问题。
读书会其实对我们技术社区来说,是一种比较独特的形式,作为一个以“不搭讪,不闲聊,不吹水,只讨论技术”为口号的线上社区,在长沙这样的城市,本身就有点“奇葩”,因为愿意静下心来学习新技术、读书的开发者,或许并没有那么多,更何况是读书会这种奇怪的形式。
所以活动通知发出去之后,报名人数并不多,计划20人,实际上只报名了12人,但是出席率看起来还不错,来了十一位,接近百分之百。
事实上,读书在现代人的生活节奏中,也越来越成为最奇怪的一种学习方式,尤其是对于享受996福报的开发者来说,更是如此。沉迷于工作不可自拔的开发者们,下班回家之后已经十点了,大概很少有时间读书,而且碎片时间也被各类app充分发掘,是头条系应用们的业务增长点,所以能在炎炎夏日之下,这么多开发者来到现场,实属一股清流。
回到那个问题,显然不太可能真的读过这么多书的人,大家普遍回答说一年大概一两本,基本上也很难能够读这么多的书。
---德强哥说他一年大概能读三十到五十本,这是一个非常厉害的成绩,溪源认为今年看了不少书,也才7本书,他为什么能读下这么多书?
德强哥分享了他的经验,他说读书本身就需要一些方法,并非每一本书都值得精读,他推荐了一本书《如何阅读一本书》,他说读书首先应该从阅读序开始,体会作者写书的背景和心境,然后在根据目录再按章节先略读一遍,有的书,看一遍就会体会到这些书中有价值的点,然后再结合这些点,逐步的开展剧情。
-
为什么要读这么多的书?
德强哥说,作为程序员往往习惯于看技术书,例如教大家怎么用工具的书和某些语言的技能书,但是有时候也应该看一些非技术的书,例如思考人性的书,心理学的书,倒也不是说一切程序皆玄学,而是因为在软件开发的过程中,实际上依然是人与人之间沟通的过程,而每个人说的话,做的事,实际上都有其动机和想法,思考对方的想法,更有利于开发者们对功能的实现。
如果始终站在自我为中心的角度,思考在某些场景下,数据驱动行为,本身就容易陷入误区。
既然数据驱动设计有毛病,那采用测试驱动设计?还是领域驱动设计?还是行为驱动设计?
德强哥说,其实是人性驱动设计。在看似风口迭起的IT行业,似乎大家的身边有许多程序员,但实际上真正全世界范围来看,依然只有两千万程序员,从中国范围来看,也就两三百万程序员,所以看似原本跟计算机打交道的枯燥无味的软件开发,依然是人类群体活动的一个环节。
所以程序员不是孤立存在的现代行业,阅读一些社会心理学的书,更有利于发掘需求的意义。尤其是面向特定的行业人群,更需要站在行业人群的教育背景、人际交往、爱好等领域去思考,这更需要我们阅读更多的书,即便是许多产品,其实是抄袭竞品出来的,同样也需要了解行业背景做出独特的特色,才能在市场上立于不败之地。
学习软件架构,有时候阅读一些建筑学的书,反而能产生不错的触动效果,“他山之石可以攻玉”,建筑业其实和软件行业具有更多的共同性,有很多重要的架构思想,其实也是从建筑架构体系中发散出来的。
阅读管理学的书,则让我们能够具有同理心,想想老板是如何将问题分下来的,或许有利于我们更好的解决问题。
如果要学习Redis这个工具的用法,单纯只看Redis的书,难免会有点片面,但是如果你把其他类似的NoSql相关的技术体系,都看一遍,那反而能更加深入的了解redis这种技术的独特之处了,而且还会产生附加效应,例如哪天有一个别的Nosql技术火起来了,至少知识体系是一同百通的。
-
彼得原理告诉我们要读书
在过程中还聊到了其他内容,一些看似无关的概念,如彼得原理。彼得原理是西方管理学的一个重要理论,他说的是,在各种组织中,由于习惯于对在某个等级上称职的人员进行晋升提拔,因而雇员总是趋向于被晋升到其不称职的地位。
彼得原理有时也被称为“向上爬”理论,这种现象在现实生活中无处不在。例如每个开发者的职场生涯,总有一个阶段感觉进步很快,但很快就到了瓶颈期,所以需要晋升到更高级的岗位,或改变自己的学习方法,让自己的技能进一步提升。
其实企业发展同样受这个理论的掌控,如果一家组织如果发展得很快,那么到了一个阶段,例如两百人的规模,就容易陷入内卷化,需要引入新的管理方法才或许能再进一步。
-
要有输入和输出,要用输出倒逼输入
到场的996的开发者们说上班太忙了,有时候想学一些新知识,都没有足够的时间,或者就算挤出了时间,也感觉学不进什么,除了遗忘曲线本身外,还有其他原因么?
溪源说大概是因为有输入没输出造成的,例如,最常见的一种输出,就是做项目,通过做项目能够快速的沉淀我们的技能,让我们快速成长,这也是我们在参加工作的前三年感觉技能突飞猛进的一个原因。但是随着我们的技能逐渐成长,原来做项目的模式带来的成长效果其实也越来越差。其主要原因是项目中使用的技术虽然很多,为了解决眼前问题,我们往往更倾向于越快越好,这就让我们可能掌握了许多技术,但是都不精通。所以随着经验的增长,需要一些其他的方式来进一步沉淀我们的技能。
写博客其实是一种方式,写书也是一种方式。 还有一种方式是做技术分享。优秀开发者都善于用输出倒逼输入。
周尹老师说,优秀开发者都善于用输出倒逼输入。哪怕你是一个自律的人,有时候也难免会陷入自以为是的怪圈,这时候,通过外力来逼迫,促使你沉下心来认真的学习,反而能让输入产生更好的效果。
溪源深有同感。曾经跟咕泡学院创始人、校长蒋孟枝蒋总有过交流,他曾在大众点评担任高级架构师。他说他最大的爱好不仅仅是解决问题带来的快乐,而是把自己的知识分享出去,让更多人了解这些知识,这让他得以获得更大的满足。通过分享知识,也促使他学习更多的新技术;在这个过程中,他又能认识许多朋友,这也是他得以成功创立咕泡学院的一个很重要的因素。
-
钻研技术有用吗?
现场还有人提出了一个问题:
不要妄想用技术改变世界,技术是没什么用的,因为我们学的技术都在被新技术取代。
必须承认,在长沙的软件公司,似乎大部分技术体系都没有那么先进,许多.NET企业,其实还是在用三层架构。但是这也只是公司当前的形态而已,大部分的IT公司都对新技术有兴趣,只是限于当前的业务发展状况,寻求稳定的技术是必然选择。
学习新技术也正是开发者们立足于世界的根本之一,只有不断的学习新技术,我们的技术体系才不至于落后。
虽然真正改变世界的企业,其实只有那么几家,但头部玩家所引领的时代潮流,已经逐步改变了我们的生活。一切知识往往都是有用的,要么是真的没有用起来,要么是我们还不够熟练。
-
结语
这是我们第一次组织读书会这种形式,从2点半开始,到5点20结束,持续了将近3个小时的时间,实际上交流的点非常多,当然还有更多思想碰撞,例如:
为什么项目老是延迟?
为什么长沙的那些老项目管理者,找工作总是很不如意?
为什么需求总是做不完?
外包项目值不值得做?
看了那么多书,怎么用?有用吗?
限于时间缘故,溪源只能记录五点,请大家见谅(典型的捡了芝麻,丢了西瓜)。
通过这种方式,大家可以从线上走下线下,进一步打开自己的圈子,也能跟其他开发者一起交流、效果还是非常不错的,尤其是目前大家主要学习形式依然是借助于自学或公司的安排,并非每家公司都有比较不错的分享氛围。
这样的读书会,能够面对面的与比我们年长的开发者、架构师们交流,更有利于年轻开发者们对于方向的把握,所以长沙.NET技术社区计划把这种形式固定下去(每月一次),欢迎大家持续关注。