钟声访谈实录:Java程序员,上班那点事儿

企业动态
《Java程序员,上班那点事儿》的作者钟声做客51CTO.com,畅谈Java程序员,上班那点事儿。

【51CTO.com独家特稿】《Java程序员,上班那点事儿》还未上市就受到广泛的关注,本书上市一周以来,又受到广大读者的好评,其写作形式、语言措辞都被读者接受,在各大销售排行榜上均有不错的成绩。为了让网友对本书有更进一步的了解,我们邀请到《Java程序员,上班那点事儿》这本书的作者钟声老师做客51CTO.com,跟大家畅谈Java程序员,上班那点事儿。

Java程序员,上班那点事儿

作者简介:资深开发专家。某集团通信公司研发部门经理,是中国电信综合网管技术领域公认的技术专家和解决方案专家。钟声属于典型的70后的实战型人物,他热衷于OpenSource项目事业,是“CACTI中国”的活跃人物之一。

以下为聊天实录,51CTO略有整理。

主持人:大家好,欢迎来到51CTO嘉宾聊天室,今天我们请到的是《Java程序员,上班那点事儿》的作者钟声老师。钟声老师先跟大家打个招呼吧。

钟声:51CTO的网友大家好,今天非常高兴来到51CTO的现场跟大家进行交流。今天我想有机会跟大家聊聊天。

主持人:我们先聊聊您这本书。

钟声:好。

主持人:我想您这本书《Java程序员,上班那点事儿》的创作初衷是什么?

钟声:其实这本书作为一个Java程序员的书,在我们市面上在我们的书店里面有很多,都是针对程序开发的书有很多。我来写这本书,一方面是希望能够帮助我们程序员在工作中去解决问题,但是我想作为一个Java的程序的开发知识而言我没有必要过多地去写了,这样的书特别多。

我实际上在这本书创作初衷的原因主要是来自于我们作为企业和在企业日常的工作过程中遇到的问题,主要是面对人才招聘方面相关的问题。还有我们在日常工作中接触的一些准程序员他们在找工作的过程中遇到的一些问题,正如我书的前言里面所说的,我们发现两个方面出现了落差。我们的准程序员,从学校毕业的这些程序员们他们找工作的问题对企业,对行业内的东西不是很了解。同时,我们的企业在招聘员工的过程,在招聘人才的过程中又不特别容易地能够招聘他所需要的人才。

在这样的情况下,就出现了这样的落差。我想我的个人经历比较特殊。一方面我在企业当中应该是部门主管,开发的部门主管。另外一方面我也曾经在职业学校和其他的学校当中当过老师,任过教,那是业余的时间,去参加过一些培训给学生做一些培训。这个经历就使我了解了我们这些学生,或者是没有走向工作岗位的学生他在走向工作岗位之前的一种心态。同时我又了解我们企业内部的一些面对人才的培养,这些方面的问题。在这个时间我正好又有机会能够把我的一些经验,《Java程序员,上班那点事儿》,当然主要是我们程序员上班那点儿能够写出来,介绍给我们广大的读者,希望能够通过这本书来帮助更多的求职人员或者是准程序员顺利地走向程序员的岗位,这就是我的创作初衷。

主持人:我们看到这本书很有特点,这本书中既有针对程序员的职业指导,也包含了一些Java技术细节,这到底是一本什么性质的书呢?

钟声:这本书里面确实是这样的,里面有作为我们普通的程序员,或者是刚入职或者是没有入职的人员,他的就业指导方面的知识。同时,又包含了一些工作过程中遇到的问题,技术细节和技术问题的剖析。为什么我这本书里面会出现这两种内容呢?其实它仍然是一个主线就是我们程序员真正上班面临的是什么,每个程序员当他走向工作岗位之后实际上面临的问题就两个。第一,我怎么去给自己做职业规划,我怎么去逐步地走向事业的正规、正常的道路,最终成才,成就自我的价值。同时,在工作的过程中跟他打交道的恰恰是技术方面的东西。我的这本书确实包含了这两个方面的主要内容,我希望能够在这本书里面把程序员在日常工作的职业方向的发展问题和我们应该掌握哪些技术,和技术在我们职业发展过程中所起的作用相融合。这是我两个方面的目的。

现在我们发现在市面上的一些书籍介绍职业发展方向的书很多,有励志类,怎么去发展、怎么去思考,同时Java技术的书也很多,各种各样的技术都有,但是哪些技术是我应该学,哪些技术我应该去深挖,哪些技术我们有一些地方是需要注意的,以及像一些技术方面的误区,以及在学习技术方面的一些封建迷信等等问题,能跟程序员上班的职业发展是整个紧密扣在起的并不多。我想通过我这本书能够融合在一起,让程序员知道在学习的过程中知道怎么去学,以及用这些去指导职业的发展。

主持人:这本书繁体结构是怎样的,请您说说,这本书中都包含了哪些内容?

钟声:我的书一共分为三篇。书的第一篇叫生存法则,为什么第一篇就要讲生存法则呢?这就是说程序员在整个职业发展过程中,他所有的问题都是以生存作为他的第一步,作为他的基础,没有生存我们其它都没有办法去谈。所以我们第一篇就来讲生存法则,这篇里我会讲到首先是知己知彼、百战不殆。告诉我们这些即将走向工作岗位的同学们,怎么样能够做到知己知彼,包括菜鸟误区以及项目主管在招聘时的需求,了解我们的主考官在招聘的过程中怎么想。这篇当中着重介绍的是程序员在立足于生存的角度,怎么样去能够找到自己的立足点、生存点。没有生存的话后面无法去谈。

第二篇是致胜法宝。这篇里面主要是进入我们工作行业了,应该是在生存的基础上,已经有一个利用工具利用技能去谋生的阶段。这里面我主要是给大家介绍的是我们在公司工作当中所利用的一些武装,比如说第六章写的是Java程序员的集中武器,我们用哪些工具,哪些工具是真正企业在工作中经常用的,这对于我们企业工作者来讲可以参考,对于我们没有工作的人员也可以参考,我们真正去学哪些知识,将来到了工作岗位这个工具用得最多。

还有Java开发的一些封建迷信,这里写了Java占内存大不大,Java核心到底谁快,等等。包括EVB(音译)的,等等这样的困惑在这个里面也会有一些会讲到,包括一些大型的应用企业。我们现在发现很多学员在工作之前,很难接触到这种大型应用集团,都是在自己的PC机上做模拟,搭一个环境去开发。但是我们的很多企业都在要求说你是否有大型应用系统的开发经验,到底什么是大型应用系统,多大的才是大型应用系统,以及大型应用系统大企业级里面都包含了哪些要素,在这里这章是要讲的。以及为什么要学习框架,等等。

我整个书的第三篇讲的是达人策略。这是五个层面的高手,我们有生存、有发展,同时我们要怎么样成为一个高手,成为一个达人。在这里面我们给大家多讲一些我们的经验,把程序员成长的过程中遇到的问题和注意的事项做一些阐述。在这里面像高手有多高、菜鸟有多菜,怎么招是高手,怎么招是菜鸟,在企业当中你是高手应该怎么去工作,以及像产品项目我们成员有很多主题。这些内容大家其实都可以读一读,在我们的企业当中会遇到很多这样类似的情况,这就是我这本书的结构。#p#

主持人:介绍完这本书,再来谈一下关于程序员职业发展方面的问题,程序员在自己的职业过程中会遇到的问题。之前我也听说过一些程序员抱怨过工作的过程中加班,也有人说程序员的工作都在8小时之外,我想问一下钟声老师,这是程序员面临的普遍的问题吗?有没有办法做一个高效的程序员?

钟声:程序员加班的问题,在我的书里面有一小节写到了这样的东西,在我的博客当中也贴出了这样的文章,叫程序员的误区。程序员必须要加班、熬夜工作,我写过这样的文章。作为程序员加班这个应该我们是一分为二地去考虑这个问题。实际上我想是这样的情况,有很多的人在我们行业之外的一些应该说是外行人,看到我们的程序员好象是不由自主地认为程序员好象就得加班,程序员不加班好象是不通情理的。往往我们确实发现在我们的公司里面尤其是一个IT企业,走得最晚的最后一个关灯的恰恰可能就是程序员,为什么会出现这样的情况。我在我的博客里面写不应该加班,我们的程序员不应该加班,这是为什么呢?我给大家讲有这样的原因。

首先,第一个加班的原因是什么?如果我们的程序员的加班是由于你做程序一腔热血,你真的想把这个程序调通,是发自你内心的不达目的不罢休,我们欢迎这样的团队,有可能你下班之后思路一段,第二天来编程序可能会花半天的时间去想。

主持人:影响效率。

钟声:对,影响效率。在这样的情况下,我作为一个主管来讲这种加班我本人是鼓励,我是鼓励下班的程序员们在这样的情况下去加班。我是鼓励的,因为他是自愿的,一厢情愿地去加班的。但是现在我们反对的加班,反对的是什么?反对的是我们不是程序员自发的加班行为,是被动的。反对的我们不是为了做这个程序,而是为了加班而加班,而是你项目管理出了问题,你的产品设计出了问题,你在白天工作时候的状态出了问题,晚上去加班,这点我就非常反对了。

我在书里举了一个例子,这里稍微聊聊。我的例子是这样的,是一件真实的事,有这样的一家公司,老板算是外行刚来,原来的内行老板换了。他有这样的想法和误区,认为程序员必须要加班,在他脑子里面是根深蒂固的。这样的情况下,他那点发现我手底下的程序员怎么没有加班的,他就觉得很奇怪,他就发邮件说我们的程序员应该去努力工作,应该更高效地去工作,要加班要为我公司做贡献。

这些程序员觉得很奇怪,我每天工作状态很饱和,而且我现在项目进度也没有问题,为什么要加班。开始是不加班,后来老板每次都发邮件批评说你们还不加班。导致最后的结果是什么?我想大家可想而知了。最后的结果是这些程序员白天干自己的事,上开心网去干自己玩儿的事。

主持人:种菜。

钟声:对,晚上的时候老板让加班,晚上的时候我就把自己的工作挪到晚上去做。最后导致的结果是并不是把这事做好了,不是提高了工作效率,反而是降低了。即使你晚上很认真地去加班,大脑人的身体状态是和白天没有办法比的,这是我主要反对加班的一个原因。然而在我的博客里面也写了一些。

还有最重要的一点对程序员的身体是有损害的,我在我的书当中第一章有一篇叫程序员的三境界。在从第一境界到第二境界的时候,第一境界我叫“剑指四方,试问天下谁与争锋”,这是程序员的第一阶段拼命加班的阶段,可以说是为程序而死的感觉。到了第二阶段,我们叫“天下之大,要学的东西很多”。第一阶段到第二阶段的过程中,有很多的程序员是因为身体原因退出了。我现在所说的这个问题也是一个对于我们程序员身体的问题,你在从一个程序员上升到第二层次,第二层次我们主要说的是项目经理,一个项目的开发主管,你上升到这个层次的过程中,把身体搞坏的,实际上也是得不偿失的一件事,为你今后的发展都会埋下不好的影响,这是我反对加班的一个主要的原因。

具体到您问的问题,有人提出来说初级程序员的工作在8小时之外。这点来讲,我觉得从某种意义上来讲,这个想法也是正常的。初级程序员,有的时候我也鼓励我下面的初级程序员,尤其是刚毕业的年轻的程序员。他能够在8小时之外有一些时间去学习开发知识,但是这部分的加班并不是我们安排的。如果我是一个主管,我去安排他在8小时之外的工作,实际上对我来讲是一个失误。真正他8小时之外做的事情是他自己应该去学习的,去追赶我们前辈,这些前面的成员的一些精神。这点我也是鼓励的。

主持人:这是主动学习?

钟声:对,主动学习的精神。#p#

主持人:说到成绩程序员我想到了另外一个话题是Java培训班,现在的培训机构也有很多,大家的问题是这些培训机构真的能够培养出来高手吗?培养出来的一些培训机构的学员,他们在就业的时候是不是真的有市场?

钟声:现在不光是Java程序员的培训,像网络管理的培训,语言的培训,培训工厂像这样的培训机构很多,这样的培训机构从我接触的面来讲其实是很好的一件事。

为什么这样讲?首先我先说一下我在招聘程序员的一个情况。理论来讲,我们的培训机构和大学所毕业的学员,对于我们企业来讲实际上是同等地位的,我们不会去先看你的简历,说这个学校是从培训机构出来的我就优先,这个学员没有从培训机构出来是大学毕业生我们就不要,没有这样一点。首先我说一点他们是平等的,我根本不会去看你的培训机构是哪家,也不用去看培训机构给你的什么证书。大家也知道培训机构给的证书给钱就给,只要你缴学费就给证书,这样的证书是没有用的。作为我们企业来讲,我们真正需要看的是什么呢?是真实的你这个程序员的能力,因为实际上不管是我们的企业还是其他的企业都是以利润作为先导,以企业的经济效益作为先导,没有人会说我要一个什么都不会的人员,我再去花多少的钱去培养,这种可能性非常小,几乎没有。我们是希望拿来就用。

当然,在招聘面试的过程中,我们会出现这样的现在,培训学校出来的学生成功率比较高。这是我们经过多少年的招聘之后我们发现的。

主持人:为什么呢?

钟声:为什么呢?其实作为程序员,作为企业这是一个大的话题。这是什么话题?当我们整个社会当中都会存在这样的学校,学校,专科、本科,大专院校都存在这样的问题,有时候在学校学到的知识不是特别适用,不太符合我们企业用人的需求。当然,这是一个很大的话题,这涉及到我国的教育体制的问题。为什么不适合需求?其实某种意义上来讲是我们学校培养人的一个目标。学校当中培养人的目标还是按照我们早期的目标,希望他们出来之后是一种知识分子,做一些办公室的工作啊?搞一些研究什么的。实际上到目前为止,大学由于曾经扩招,我们现在大学生毕业生也很多,造成了大学毕业生毕业之后到企业当中去做实际的工作,不是再去做理论的研究等等,都是做实际的工作,干活儿去了。说这话就是干活儿来了,可是我们现在学校培养出来的人有时候就不适应。

这个时候,我们的就业学校如雨后春笋般出来了,他们恰恰弥补了这块的空白,把学校出来的学生进行二次加工,有的时候我们发现培训学校出来的学生确实适用。当然,我们不排除在大学本科直接毕业之后就录用这样的人,因为有很多学生,有很多同学他们在大学期间,他用自己的汗水,用自己的努力,他把这部分的知识补得甚至比培训学校学得还多,这种情况的人才我们也是欢迎的。

大概是这样的。

主持人:能透露一下培训机构之外学员的身价吗?

钟声:从严格上讲不是不从培训学校出来的培训学员的身价,应该是我们整个初级程序员刚刚入职的时候的一个情况。当然,这个也不是说我透露不透露的问题,像这种工资水平的问题,在每个公司都是不一样的。有的公司给得多,有的公司给得少。我知道甚至有的公司一个月就给800元钱,这是初级程序员刚上班,当然这种公司一般是小公司的。像我这边我开的工资也可以跟大家透露一下,我这边一般到我的团队来基本上是2500这样的,但是各个公司不一样。我这边有可能会稍微高一点,但是我这边要求会严格一些,不是说你很多东西都没有掌握,不是特别成熟就来我这里,我肯定也是不要的。

其实,我想大家也不用特别地在意咱们的工资水平,曾经有一个小孩找我,说我希望像您的团队来上班,你不给我工资我也干。后来我跟他说你不要工资是你的事,但是我们公司必须得给,我不能不给钱,要不然劳动法国家也不允许。但是这种精神我觉得也是可取,初级程序员老说自己没有经验,我去找工作应聘,能不能放下自己的身段,放下自己的架子,他给我800元钱,行,我给你干。实际上你什么都不会,去干是工作经验啊。只要迈出了这样一步后面的路就好走多的。#p#

主持人:初级程序员大概是这样的,再往上几个阶段呢?我记得您刚才讲了程序员有三个阶段,另外两个呢?

钟声:这个问题确实应该来讲是挺难回答的事,对广大的程序员来讲是挺难回答的事。我想针对我们现在所有的程序员来讲,我们先每个人都认为都先默认自己将来有可能到第三层阶梯,一定要给自己这样的想法,一定要有这样的信心去努力。当然,是不是所有人都能到第三层阶梯,实际上不是,这我必须要告诉大家,不是这样的,不是所有的人都能到最后第三层阶梯,当中走的过程中会有很多人掉队。我希望大家都能成才,都能到第三境界,所以我才写这样的书,才跟大家聊告诉大家前面的路怎么走。怎么说呢?我应该也算是一个向导,往前走了几步,比大家提前走了几步,提前踩了几个地雷,这里面有哪个雷哪个陷井我给大家引导。

但是从初级程序员上到高级程序员的地步,应该是第二阶梯,在这样的过程中,我们需要有什么样的心态,这就不是我们在第一级程序员的心态了,它是你真正地去把程序,把你手里的这些工具。什么是你手里的工具,就是程序设计的学员,把他真正变成你手里的工具,去创造,去建造你想要建造的事儿,这个才是你的心态。第一层次和第二层次之间的区别,我们第一层次的程序员都是在学,都是在为了程序而程序,为了主管提出来的要求我去开发,为了这个程序而学习程序,为了自己的技能的提高。但是,到了第二层次,我们并不是说为什么而程序了,在你成长的过程中,到第二层是真正把你的程序作为你的工具了,利用这个工具来去创造程序之外的价值,这是第二层。

到第三层境界就是更高层了,这主要是不是讲程序的问题了,而是能够把程序作为产品、作为商品,能够在业界游刃有余,能够掌控一个局面,这就是我们所说的第三层境界,这就发展了。

刚才您提到了注意一些什么,在这里我也想跟大家说一个观点,这就是程序开发的纯真。这部分也在我书里面写到,我想过一段日子也会贴到博客里面。我现在很怀念我那个时候,虽然我的岁数也不是很大,但是确实是比大家早走了那么几年,早前进了几年。我很怀念我们那个时代,我们那个时代在我书里面写了叫《Java的纯真年代》。在我们的年代真是用Java去开发程序,我们想到的一个程序的功能我就用Java去实现,我能写40行代码绝对不写41行。当然这个习惯的养成是源于我们原来学C,用C程序开发,用Java程序开发也是这样,养成了这样的习惯。但是我们现在发现在业内很多的程序员都不是这样的,现在出现了一种现象,比如说我一个很简单的小程序我套很多类,做好几个类,用什么开发模式套套套套下去,当然这里面也有很多公司参与炒作,有的公司有这模式、那模式,这个组建、那个组建不断地推出来。我们大家也知道,如果你为了达到目的去写代码,多写一行代码运行的效果会降低。所以我们从第一阶段向第二阶段延伸,我们这部分的程序员在做程序的过程中,第一我们程序架构的扩展性,我们设计的兼容性,同时要考虑我们程序的效率怎么样去满足企业项目的目标,一切以目标作为先导。这是我的一个观点,在这样的过程中是这样的。

主持人:在程序员一步一步成长的过程中,影响他成长有哪些因素?或者有什么样的因素会限制他的成长?

钟声:当然,我作为一个程序员的老兵来谈这件事,只能说是一孔之见。从我的经验和从我从业经验接触的人来看,影响我们程序员前进发展的主要因素主要是你是不是真心的热爱这项事业,你是不是把程序开发作为你真心热爱的一个事业来做。

主持人:是兴趣吗?

钟声:不是兴趣,里面包含了一定的是兴趣,但是不完全是兴趣,是你发自内心的热爱。你在做程序员工作之前可以自己扪心自问一下,说你是为了挣钱,你是为了赚更多的工资去做程序员满?如果是,别做。为什么?程序员赚的工资不是最高的,不是最多的。你可以去做证券经纪人,那个挣多了。你是为了找一个地儿混,说我找一个地儿我别的也不会,我就会点Java,然后找一个地儿能混到退休,那我劝你也别做了,程序员非常累,尤其是在工作之初是非常累,因为每一个新的知识都要去掌握。IT就目前而言,是我们业内所有的学科里面知识更新是比较快的行业。你在做到30来岁了,实际上还在不断地学习,这是很累的。如果你认为程序员能够得到别人的尊重、尊敬,看到你就让人觉得肃然起敬,这也是不可以的,就得打掉的。现在程序员大家知道就是普通的程序员,不是大家所崇拜的。如果你真心热爱这项事业,把程序员开发作为你毕生奋斗的目标,或者是你毕生奋斗目标的台阶的话,我觉得大家就可以加入到我们程序员的行列来,是这样的过程。

在这个过程中影响我们程序员前进的问题到底是什么呢?实际上我们发现现在很多的程序员为什么掉队了,为什么换工作了。现在有很多干了一年觉得没有意思,去做销售去的,做销售做业务去了。甚至我知道有的人去开饭馆去了,有的到培训学校去做班主任去了。这样的程序员有很多,他为什么掉队了?我解释所说的是他不是真心地去热爱这件事,没有把这个当成事业来做当然就做不好了。大概是这样的情况。#p#

主持人:我想再问一下钟声老师,在程序员的工作当中,既然热爱这份工作,就会在这份工作中遇到很多比较难处理的问题,您觉得一般会遇到什么样的问题?

钟声:您所讲的难处理的问题是程序开发过程中的一些问题,还是在工作过程当中的问题?

主持人:工作上的一些问题。

钟声:我先来说我们工作上的问题。

在做任何工作过程中都会遇到问题,不是我们做程序开发才会遇到问题。当然我们做程序员、做程序开发,在遇到的这些问题大部分好象是比较棘手的,好象都是跟知识相关的一些问题多一点。在我们工作过程中,除了程序的这些问题之外,无非是和我们的团队当中的一些建设方面的问题,这些问题我们可以淡然处之。

在我这本书里面有一部分章节写的是“菜鸟心态综合症”,这里面有一小节叫“明知山有虎,偏向虎山行”,这说的是我们在工作过程中所遇到问题的心态。在我们工作过程中实际上遇到的问题不只是我们程序员遇到的问题,当遇到这些技术问题的时候,我们应该怎么样去处理,我告诉大家两点。

第一,叫没有过不去的火焰山。第二点,明知山有虎,偏向虎山行。这里我解释一下,没有过不去的火焰山是什么意思?我们在工作过程中遇到困难不能退缩。遇到困难很正常,我这个程序编不出来了,主管非得让我编,不让我编就批评我,天天找我谈话,怎么回事就编不出来。当然这种可能性会有,说你怎么,是不是工作不认真。这样的情况下,不怕没有过不去的火焰山,会遇到困难,不要退缩。在我的书里面写了一个小故事,写了一个小案例,有一个小女孩,当时我面试她后来问她上个月工作你只干了一个月,为什么离职?她说我离职是因为主管让我编程序我编不出来。我说了你主管让你编程序编不出来,你不会想办法啊?她说我想啊,我想了很多很多办法就是编不回来。主管说什么啊?主管说我上网搜去,后来我也搜了搜了半天我没有搜到我就辞职了。怎么是这样呢?这应该是遇到困难就退缩了。作为程序员来讲,我曾经跟我们的一些朋友聊天的时候也是这样讲的,程序员的这个职业是很奇怪的,也是很有意思的一个职业,和其他职业有一个特别大的区别是什么呢?每天都在猜谜语,每天都在解决问题,就像每天都在做脑筋急转弯一样,每天遇到的问题都是很有意思的事情,当然是一个难题解决一个难题,当你每个难题都解决完了之后似乎能上一个台阶。所以我们遇到了困难不要退缩,过不去的困难是没有的。这是我需要告诉大家的,没有过不去的困难。为什么这样说,还拿刚才小姑娘的例子,她说这些东西我真没有找到,我不会编了就辞职了。这是不对的,他的主管知道她找不到,知道她不会,故意要让她去做,为什么这样做,这也是对这个人培养人才的方法,明明这个人刚刚工作一个月,很多事情肯定不会,不是你觉得不会,你的主管不知道吗?你的主管肯定知道你不会,他让你这样去做,让你成长去工作,其实他完全可以告诉你,这个程序怎么做怎么做,为什么非得让你去Google搜。所以过不去的困难是没有的,过不去的困难就升级到你的老板,到你的主管,知道你不会早晚得给你解决掉,当然不到万不得已的情况下还得自己解决,使得自己的能力有所提升。这是第一点。

第二,我说明知山有虎,偏向虎山行。是不是这个人有毛病,明知道不行还去。程序员就是这样,第一不怕困难,第二有困难还得去,这个问题我不会,我偏要解决它,我知道这件事难我偏要给它弄出来。如果能掌握这两点,第一不怕困难,第二挑战困难,最终造成我们的程序员会有什么样的结果,会让我们看似在同一个起跑线上的程序员中脱颖而出,你会的东西比别人多了,大家都在长跑,大家都在往终点上跑,你一直在跑没有怎么休息,一直在跑一直在想我怎么跑得更快,在同一个起跑线上您最终可能最先到达第二个境界。所以这是我告诉程序员在面临困难的时候怎么样思考问题和用方法。

主持人:这是回到上个问题,有热爱才能明知山有虎,偏向虎山行。

钟声:对,所以刚才讲的问题没有真心的热爱肯定你对掉队,遇到困难肯定就退缩了。我只能混饭,为什么这个问题让我不能混饭了自己就退缩了。#p#

主持人:您自己也有带团队的经验,您觉得一个团队应该怎么建设?

钟声:团队建设方面,我想我应该说得不太多。为什么呢?因为团队建设的书、知识很多,企业管理、并购的书有很多。我这边只想告诉我们程序员应该怎么样去面对我们企业主管的一个团队建设的思路。

在我们这本书里面写了一个,有一个地儿也是菜鸟心态当中,什么叫团队合作。在这边写了这样的一个小节,怎么去面对我们的团队合作。作为我们主管来讲,去让我们团队里面的每个成员有更强的向心力、凝聚力去攻克我们某个项目实现团队的目标,是我们主管在工作当中的主要目的,主要的工作方法。我想在这里面告诉程序员是你在团队工作过程中怎么去和别人合作的问题。我发现我们现在有很多程序员投过来的简历70%、80%写的话是这样的话“擅于团队合作,擅于学习、擅于团队合作”什么什么,但是我想问问什么是团队合作,到底是怎么样的工作状态就叫团队合作?你热爱同学?关心班集体,那是在我们学校。在我们企业当中,怎么工作就团队合作,不跟人家吵架,或者是老好人,人家说着我们听着,这不是团队合作。

我在书里开了一个小玩笑,提问:个人目标、团队目标、企业目标这三个目标哪个在你心中放第一位。如果我这个问题要去问一个普通程序员的话,我相信99%的程序员马上脱颖而出企业目标,我作为主管问他他肯定说企业目标是第一位,但是他自己心里想的是我个人目标第一位。这是百分之百的。

他为什么这样想,他上班过来不挣工资光想着企业目标的才对。但是这两个目标都不对,想得也错说得也错,什么是目标第一位。其实既不是企业目标,也不是个人目标。企业目标太大,你在公司里面公司一年创造收入几十亿、几百亿,在这么大的目标里面你能贡献什么,当然你贡献的力量是有的,很有限,太大了。个人目标,个人目标有太自私了,你去工作的过程中,你天天领导派给你一个任务,你就想我挣多少奖金啊?领导又给你一个活儿,又让你加会儿班,今天给不给加班费,给不给报参股,这样的个人目标太自私了,太狭隘了。团队建设过程中,正确的目标是团队目标放第一位,正确的是你团队的目标如何放在你工作的首位才是你应该想到的问题。

为什么这样讲,你在团队当中去工作,如果你把你的工作热情和你的工作状态为你团队所实现的目标服务的话,你的自我价值是最容易被体现出来的,你团队的主管是最容易发现你的闪光点的。同时,你团队的目标达成之后企业目标才能实现,如果团队目标没有实现,企业目标是空谈的。第二,团队目标实现了之后,你的个人目标才能实现。如果没有团队目标你的个人目标也是空谈。

在这个团队合作过程中,我这里说了一句话:“团队的目标实际上是我们主管的个人目标”。在这样的过程中,去怎么样把握你的工作状态,团队的工作过程中怎么和团队的主管进行配合实现他的个人目标和团队整个的团队目标是你工作当中的一个重中之重。这是我在团队建设方面给大家的建议。#p#

主持人:Java程序员在个人的职业发展和过程当中,其实也需要不断地学习,怎么样才能够提升自己核心竞争力?

钟声:您所谓的核心竞争力我理解是跳槽、找工作更容易一些,还是个人的价值体现?

主持人:个人的价值体现,比如说综合的素质、技能的提高方面的。

钟声:这方面是这样的,我觉得程序员在工作了之后也会在想这样的问题,我们个人的价值,我们个人的能力怎么样让他去更丰满,怎么样他能够更健壮地去面对未来的竞争,包括去跳槽去找一些工作,这也是一种正常的想法。其实,你没有非常强壮的工作的能力,你去跳槽找工作也是空谈。

我在文章里面也写了一个五年工作经验的菜鸟。这也是一个小例子,说的是一个程序员在一个工作单位干了5年,当时我问他说你干5年的目的是什么?他说我就是为了混一个时间。因为现在很多人招聘要求上都写要有三年以上的工作经验,所以三年之后的工作经验会什么会什么,他说我会什么会什么就是没有工作经验。虽然我在这里干程序是重复劳动的工作,但是我觉得我混这五年挺好,五年之后再去跳槽。当然我没有当着他的面说,没有直接说他你是五年工作经验的菜鸟没有这样讲。但是我写了一篇文章,确实他干了五年,他学到了什么,只干到一个简单的GSP调数据库,每天做增加页面。我觉得这五年干得比较亏了,人家五年真的是攒了五年的经验成了高手,你五年下来之后和第一年的工作经验是一样的。往往程序员是这样的,第一年入职之后成长非常快,因为很多东西都不会,在一年期间内我终于搞明白了。但是在从第一年到第二年的过程中,如果没有新的知识补充进来,没有新的类型的项目让你做的话,你是在输出了不是在吸收了,是在用你的第一年的工作经验在输出你的知识。所以,我们所谓的五年工作目标的同志,他后四年基本上没有吸收。他这四年用的全部是五年之内的,当然也不是一点成长都没有,会有一定的成长,但是很缓慢。

所以现在我讲我们的程序员,如果是说如何让自己变得成长性更快,最重要的一点是你能不能有这样的一个自我完善、自我学习的动力,以及我们在做程序的时候,做程序的一种方法的总结,这个才能够使你更快地成长,而并不是混年头。只要保证这一点,我想每个程序员都可以更快地向前发展。#p#

主持人:现在也有一种比较明确的说法,说搞程序的,程序开发的人员就像“民工”一样,是IT的民工,您觉得这样的说法正确吗?IT民工跟真正的民工有什么区别?

钟声:确实是,现在很多人会想到我们的程序员在开发的过程中干得跟民工一样,借这个项目我们招很多人过来把这个项目完成,好象是这样的。但是我想说的是如果你把程序,作为程序员而言,好象这看起来好象是这样的,但是作为我们程序员而言不要这么想。当我们的程序员沦落成民工之后,我告诉你这个程序编不好。

首先,第一点我说程序编不好,这个产品做出来应该说是短期或者说是低效率的,短期目标而不是长远的东西。第二,作为我们程序员自身的发展而言,你如果把自己定位成民工,你自身的知识的积累也是更缓慢的,是不能够更健壮地去发展的。

这件事那天我想写到博客里,正好我去理发。我发现现在有一些理发店给人设计发型,我去的时候人家理发员说你理什么发型,我说要毛寸,最后他根据我的头型理发理出来的很好,跟我要了20元钱。我在想如果我找发型设计师去理发,这个价格就不是20元钱了。我说如果是我们把自己的程序员都定位成民工,我们是街头给人去理发的情况,你根本不是做设计,你也不是说去把你的思想去创造出来,而是完全听人家的,你做出来的程序,你做出来的产品只能说是短视的一种情况,真正的做程序做到更高层次、更高级别的话,我跟大家讲过一句话:程序开发实际上是做艺术。我们的程序员实际上都是艺术家。有的人讲程序员是建筑师,说做程序就是码砖,盖大楼一块砖一块砖的码最后是大楼。我们程序员不是建筑师,我们程序员是艺术家,实际上我们每个程序不是盖楼那么简单,搭好楼架码砖就行了,我们实际上是给每个程序在精雕细琢,在关注这个程序开发的细节,最后我们完成这件旷世之作如果看成这样就成功了。

举个例子,现在业内国内做程序有一些浮躁,有很多的公司有浮躁之风。客户有订单下来了,我们程序员组成团队然后开发,开发之后给客户,客户签字钱一拿就完事了。这比较浮躁。但是从我们业界的情况来讲,成功的软件团队,成功的软件产品没有一个是这样的。举很多例子,Mysql这不是Java开发的,像Tomcat这是纯Java开发的,还有一些Java的像JDNS等等组件,这都是一些高效团队在为了创造艺术品的形态下,去建立好我们的程序。当然我们在企业内部这种心态似乎越来越少,越来越公立了。但是我们的程序员有朝一日是你自己而不是主管要求你做的时候,你要保持艺术家创造艺术的心态去开发你的产品。所以,我们的程序员和IT民工是完全不一样的,我们决定不能把自己定位成民工。

这里也有一个小例子,我刚上班的一段时间也有这样的一件事,也是一个小故事。我刚参加工作也给你编程序,当时不是用Java,当时用的是Foxpro,当时很多人在用,我给一个客户编了一个财务的对帐系统。当时大家用得很好,后来我干了几年从那家公司离职了。然后过了五、六年在一个偶然的机会上碰到客户聊天,我说你现在怎么样?啊,他说挺好的,说你的程序Foxpro我现在还在用啊。说很好用啊,我现在还在用啊。我当时觉得特别诧异,我当时想那个程序实际上我编得很潦草,我没有特别认认真真地拿它当成艺术品来做,我拿它当成应付差事的事在做,里面有很多小遗憾在里面。可是人家拿那个程序用了五六年。所以我们现在想想,如果你的程序编出来之后人家只用两个月就扔了就可以。当然我们的程序有可能是传世之作,用这样的心态去开发程序的话就不是民工了,是一个艺术家。

主持人:艺术家搞创作的心态给吸收进去。

我们看一下最后一个问题,想请钟老师给想入行做程序员的人员给一些建议。

钟声:我想给刚入行的程序们有这样的建议。

第一,我们的程序员在进入行业之前要想好我进入到行业的目的是什么。你是不是真心的热爱我们程序开发这项事业?你是不是希望能够利用我们Java或者是我们编成语言的工具实现自己的革命目标和自己的一些事业的目标?如果是就加入到我们的行业里面来。

第二,我们在编写程序的过程中,我们要尽量地去恢复它的纯真,用纯真的心态做程序。不要试图把简单的事情做得很复杂,更多地关注到你程序开发的实际的目的上去。一切以目的为先导,你的程序会做得更加高效,更加的健壮。

第三,我们在开发过程中,是以艺术家的心态,是以艺术创作的心态去开发程序。不要认为我们业内这么浮躁的情况所感染,不要被浮躁心态所感染。我们每位程序员以更加热情、饱满投入到工作当中去做自己的创作,来实现自己更好的发展。这是我给大家的建议。

主持人:谢谢钟老师的建议,今天的聊天就到这里,谢谢各位网友。

责任编辑:雪峰 来源: 51CTO.com
相关推荐

2009-08-05 14:35:20

Java程序员,上班那钟声访谈访谈

2014-06-11 09:56:54

CrossApp

2009-06-01 10:55:29

开源文档OSGi进阶架构

2012-10-11 15:10:25

存储

2011-07-08 13:40:19

吴海军 PC时代

2020-09-29 06:49:09

程序员外网

2009-07-11 18:54:05

2016-03-01 12:38:07

七牛李婧

2013-05-24 09:14:39

国企程序员程序员

2022-04-18 11:05:36

开源github代码库

2022-05-26 15:30:21

Spring AOP框架

2011-12-26 11:13:24

密码

2017-09-12 08:03:29

数据库MySQL主库

2015-12-08 14:49:13

SDN软件定义网络

2015-12-22 15:49:28

程序员互动访谈

2013-12-26 13:35:39

2020-01-03 07:57:39

UDPTCP网络协议

2011-03-22 10:49:53

2012-04-17 11:21:50

Java

2013-07-22 13:57:02

点赞
收藏

51CTO技术栈公众号