摘要: 钟声,业界知名程序员架构师,曾任金山软件公司KIS系统架构师,国家电网电科院普华安全中心技术总监等职。在中国软件行业风起云涌的这十余年历经国企、互联网、电信运营商,并自己创业数年,熟知中国软件行业的创业环境及行业现状。同时他也是Need100加密算法设计者,JOpenDNS的创始人,最近他针对Java的web开发特点设计了ACPL架构模式。2009年他将多年技术心得和行业经验经验凝结成《Java程序员,上班那点事儿》于同年出版,2009年被CSDN.net评为年度十佳老师。
在工地打工期间编写了人生的第一个程序
CSDN: 你从96年的中专毕业19岁进入到职场,直至后来成为北京航空航天大学的软件工程硕士,你是如何踏上编程之路的?
钟声: 1996年中专毕业,我中专的专业是建筑材料管理专业,分配我到北京建工集团四建公司的一个工地,在那个工地当材料员,那时候一个月300元工资。其实,那时候电脑对于很多人来说是非常神秘的,我们全工地只有财务室有一台电脑。我特别想了解这个新鲜的东西是如何工作的。就天天缠着我们当时的项目经理,让他把我调到财务部门去,我说我特别喜欢干财务,其实是喜欢电脑。
CSDN: 时过境迁,是什么让你坚持着一路走来以及你是如何面对压力的? 钟声: 怎么说呢?如果每天都感觉到压力如山,我绝不会走到今天。说白了我反而觉得非常愉快!我从来没有觉得编程对我来说有什么压力。
有一年我自己创业做软件公司的其中某一年,2000年大约当时23岁吧,公司帐上没钱了,我身上也一点钱都没有了,写字楼的房租该交了,那时候真的很无助,确实压力很大。实在没办法,不能给人家编程序了,去扫楼,给人家印点儿名片吧,给人家代买一张火车票吧,都能赚点钱。
但只要兜里还有钱,回来还是编程序,因为,我坚信我走的路是正确的,人生多一些积累不好吗?所以,我一直都没有觉得自己有什么压力,反而觉得很快乐。
CSDN: 每个人都有自己的兴趣,你在从事这一行时最大的快乐来自于编程,但你放弃了之前的绘画、收藏、摄影等爱好,这些你是如何进行取舍的? 钟声: 的确我在从事编程工作前我非常喜欢绘画、摄影、收藏。但我更有一个梦想:希望能够通过我的努力,改变人类的生活。软件开发使我有了实现这个目标的可能。换句话说,软件开发从始至终也没有成为我谋生的手段,一直都是我实现梦想的工具,始终也是我的一种爱好。
现在,开发程序对我来说仍然是爱好,虽然我用它赚了一点钱,但我仍然没有觉得它和钱有什么直接并且必然的联系。摄影和绘画我始终都没有放弃,包括写作也是爱好。熟悉我的人说我“精力旺盛”,是啊,爱好真多啊。目前,我正准备自己投资拍摄一个动画短片,动画制作程序是我自主研发,希望给大家更多程序外的快乐。
Java程序员,上班那点事儿
CSDN:你是《Java程序员,上班那点事儿》书的作者,2009年上市首月北发图书网排行榜IT图书销量第一名/互动出版网IT图书销量排行榜第一名,你写这本书以及这个选题的初衷是什么?
钟声: 这本书的写作初衷就是我在书的前言提到的,看到众多即将进入职场的年轻程序员一脸的迷茫,不知道如何入手,想给大家讲讲里面的门道,让大家更容易知己知彼,快乐工作。
当初写书的时候,我定位Java程序员只是觉得,可以比较精准的找到一个点突破,而不是一个面,所以,里面的全部内容程序员都可以看。
CSDN:这本书里谈了很多问题,可现在程序员的加班熬夜问题一直饱受争议,你如何看这个问题?如何能够很好的解决这一问题? 钟声: 在书中以及书外,我一直都强调加班熬夜是不可取的!我团队中的每一个人都知道我会在晚上7-8点轰走他们,让他们尽快去吃饭,不可以为了工作而耽误吃饭睡觉。工作很重要,但身体更重要!很多程序员,似乎用加班来炫耀自己的辛苦。我作为一个领导,我不会因为他加班而给他绩效评一个“A”,相反,我会觉得他的工作“delay”了。通过延长工作时间并不能解决全部问题,头一天睡得很晚,第二天没精神得不偿失。人毕竟不是铁打的,必须需要休息。
解决这个问题我有如下三点建议:
1、从个人角度来说,抓紧白天的每一分每一秒,制定好自己的工作计划,按照计划稳步推进,不可急功近利。
2、对于团队Leader来说,要适才而用,不能安排的工作超出员工的能力范围太多。要让员工能干、会干、爱干。不可强压任务,不可让员工不得不面对巨大压力无法自拔。
3、少开会!
CSDN:一个优秀的程序员是善于遇到问题解决问题的,而不是记忆大量的本来就不存在的标准答案,对于处理遇到的难题你有什么经验可分享? 钟声:我一直强调,如果你选择了程序员这个道路,就要做好当一辈子学生的准备。因为,你几乎每天面对的都是新的问题,每天都在解答各种难题。其实这也正是作为一个程序员的乐趣,如果有一天你面前没有什么难题了,我想那时候才真的应该苦恼了。
架构师的那点事儿
CSDN:不同的企业和项目经理对架构师往往定义不完全相同,你是如何定义的?
钟声:很多人认为,架构师就是系统分析师,是拿到系统需求进行分析的人,错!如果系统只是系统分析,那么架构设计谁来弄?有人认为架构师就是架构设计的人,画画UML,写一写文档之类的人,错!画UML就是设计吗?画图的人有了,设计的人是谁?还有人认为架构师是从属于项目经理,只管设计,而没有任何权利的人,错!如果设计的决策权交给项目经理,那么这个设计是有分量的吗?架构师是具有技术发言权、方向决策权和团队人员开发资源调配权的开发团队的核心人物,也是这个程序的设计者,当然他就是这个软件的灵魂!!
CSDN:你此前在写了一篇《为什么你总成为不了架构师?》引起了一片小小波澜,若程序员如果想要修炼为一个架构师,究竟需要培养自己的哪些技能或素质? 钟声: 这个涉及方方面面,个人认为可如下这样做:
第一步,要学会用架构师的思想去思考。
第二步,要学会清空自己的大脑。
第三步,只有学会设计的架构师才是架构师。
CSDN:如何开始一个创新的架构设计? 钟声:想进行一个开创性的设计前,请忘掉你以前的所有既得知识,清空你的大脑,用最纯真的思想去思考。
CSDN:你认为顶层“规划”和架构设计有什么区别? 钟声:架构设计是程序框架构建方式作为其关注点,更多的探讨的是该程序如何满足规划需求的结构健壮性。
而作为顶层设计的规划,更多的是从产品、系统、业务,整体宏观的角度考虑整体的模块地位与框架,并不关注其具体实现方法。两者缺一不可。
CSDN:对于一个刚刚从程序员转型过来的架构师,通常有哪些问题是他们最难把握的? 钟声:我根据我的经验总结如下: 1、不要拿项目进度紧张作为忽略架构设计的借口!
2、如果一个架构师每周的会议时间超过了37%,说明效率已经非常低下。
3、要做好架构设计要懂(最好精通):网络协议、各常用操作系统(UNIX、Linux)、内存控制、线程。不要以为精通java、c就天下无敌了。
CSDN:对于有志于成为架构师的开发者,你有何建议?钟声:建议:立志、思考、奋斗。
CSDN:在一个人追寻自己理想、以及追逐成功的道路上,你认为最需要的是什么?
钟声:我认为最需要的就是坚持!坚持自己的理想,不断的思考,不断的更新自己的方法,向着目标不断前进。
|